Home » Turtlebot入门教程 » Turtlebot入门-编码实现前进和壁障

Turtlebot入门-编码实现前进和壁障

编码实现前进和壁障

通过这一点你克隆本系列文章GitHub库,成功地创建了一个地图(在/tmp/mymap中保存)您的当前位置。(如果您已经更改了地图生成文章的位置,创建一个新的地图。)

不避障turtlebot

  1. 让我们再次运行我们的第一个脚本。在turtlebot运行:

    roslaunch turtlebot_bringup minimal.launch

  1. 在工作站运行:
python ~/helloworld/goforward.py

你的turtlebot将前进。故意站在它面前,turtlebot撞你的脚。按CTRL+C停止它。

避障的turtlebot

  1. 手工放置turtlebot某方向,可以前进3米没有撞到任何东西。在turtlebot运行:
roslaunch turtlebot_bringup minimal.launch
roslaunch turtlebot_navigation amcl_demo.launch map_file:=/tmp/my_map.yaml
  1. 在工作站运行:
roslaunch turtlebot_rviz_launchers view_navigation.launch --screen

urtlebot不能可靠地确定其初始姿态(在哪里)所以我们就把它用“2D Pose Estimate”。选择“2D Pose Estimate”和指定的位置turtlebot。保持rviz打开,我们可以监视它的路径规划。

提示:在你估计turtlebot的姿势可以可靠地知道它在哪里,甚至在旅行。

  1. 在一个单独的终端运行:
python ~/helloworld/goforward_and_avoid_obstacle.py

当它在驾驶时, 尝试走到机器人的路径,看看它如何响应。

为什么它会在转圈?

turtlebot四处寻找特征,比较他们的地图,以确定它的位置。这个过程被称为本地化。
让我们看一看代码:

gedit ~ / HelloWorld / goforward_and_avoid_obstacle.py

它也可用于查看GitHub上

请注意,而不是说“向前几秒钟”,我们说:“无论什么路径,我们想在前进3米位置的地方结束”。turtlebot可能需要60秒来试图找到一个路径到这个位置。

参考:

[amcl - probabilistic localization system for a robot moving in 2D][4]
[RViz - 3D visualization tool][5]

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

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


标签: turtlebot入门