< >
Home » Turtlebot入门教程 » Turtlebot入门-自主行驶

Turtlebot入门-自主行驶

自主驾驶

现在让我们见识ROS的强大。通过ROS编写少量的代码就可以让turtlebot(或任何其他机器人)从一个地方到另一个的同时避免静态和动态障碍物。

注意:请确保您已经创建了您的地图之前,开始本教程。

停止从之前的教程都turtlebot和工作站的一切。在turtlebot运行:

roslaunch turtlebot_bringup minimal.launch
roslaunch turtlebot_navigation amcl_demo.launch map_file:=/tmp/my_map.yaml

如果你看到 odom received! 说明已经正常运行。

问题

如果你收到一个警告:Waiting on transform...,先重启minimal.launch,重新启动amcl_demo.lauch。您可能需要尝试重新启动几次。同时,关闭Kobuki基站并重开。

turtlebot成功运行,在工作站运行:

roslaunch turtlebot_rviz_launchers view_navigation.launch --screen
  • rviz应该公开展示你的地图。turtlebot不能够估计在启动姿态,尽管它可以在你初始化它的姿态。
  • 选择“2D Pose Estimate”在地图上的turtlebot位置点击并按住。当你握着鼠标的时候,一个箭头会出现在鼠标指针的下方,用这个来估计它的方向。

  • 设置后估计的姿态,选择“2D Nav Goal”,点击你想让turtlebot去的地方。您还可以指定一个目标方向,使用相同的技术如“2D Pose Estimate”。

  • turtlebot现在应该朝着你的目录自主前进。尝试指定一个目标,并走在前面,看看它如何反应的动态障碍。

Turtlebot充电桩:自主充电

  • 它可能不是太令人惊讶的听到TurtleBot知道当它的电池是越来越低,与充电桩可以自主充电。

  • 确保对接站插入(所以红灯亮)和靠墙,否则turtlebot可推站周围一边充电。闭上turtlebot所有终端和工作站。

  • 从充电桩在视线可达3米,在任何地方turtlebot。从那里,它可以自主停靠使用它的三个红外接收器。

在turtlebot运行:

roslaunch turtlebot_bringup minimal.launch

在工作站终端运行:

roslaunch kobuki_auto_docking minimal.launch --screen

在另一个终端运行:

roslaunch kobuki_auto_docking activate.launch --screen

turtlebot可以旋转360度,确定接站的理想路径。通常它将第一个驱动器垂直于该站,所以它可以计算出理想的路径。

参考:

  • http://wiki.ros.org/turtlebot_navigation/Tutorials/Autonomously%20navigate%20in%20a%20known%20map
  • http://wiki.ros.org/kobuki/Tutorials/Testing%20Automatic%20Docking

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: turtlebot入门