Turtlebot2i入门教程-物体检测
Turtlebot2i入门教程-物体检测
说明:
- 介绍如何实现物体检测
准备:
打印和放置标签:
- 下载标签
- 例子的标签是预先训练好在find_object_2d数据库里
- find_object_2d package包是turtlebot_zoning_demo的一部分
- 它使用OpenCV的特征匹配来找到物体和评估角度和旋转
- 结合深度数据和机器人在世界上的位置,我们可以准确估计出一个物体在三维空间中的位置。
启动机器人:
- 为获得最佳效果,请首先使用机器人构建环境地图。 然后用定位模式启动机器人:
roslaunch turtlebot2i_bringup turtlebot2i_demo1.launch localization:=true
寻找物体:
- 随着机器人四处移动,它不断检查传感器视图中是否存在受过训练的物体。
- 当找到对象时,find_object包会生成一个变换参考系
- 这些变换参考系由zone_detection_node监控,并在可用时存储它们的位置和方向信息。
- 在RViz中进行监视时,您可以订阅zone_visualization_marker以显示标记数组,以表示检测到的对象的位置。
导航物体位置:
- 一旦发现标志,就很容易在地图中的位置之间导航。
- zone_destination_node监听发布到zone_destination_request话题的消息。
- 如果请求的区域已被识别,move_base动作客户端将收到一个目标,导航包将尝试安全地将机器人带到目的地。
- 寻找相应的区域:
rostopic pub /zone_destination_request std_msgs/String "charging_zone" --once
rostopic pub /zone_destination_request std_msgs/String "pickup_zone" --once
rostopic pub /zone_destination_request std_msgs/String "sorting_zone" --once
参考:
- http://wiki.ros.org/find_object_2d
- http://wiki.ros.org/tf
- http://wiki.ros.org/move_base
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号