< >
Home » Turtlebot与仿真 » Turtlebot仿真-编码实现前进和避障

Turtlebot仿真-编码实现前进和避障

编码实现前进和避障

  • 我们已经学会了如何启动和在本课中修改现有的Python脚本

  • 我们已经学会了如何发送机器人一个命令说:“前进,直到我们给你一个停止信号”。

  • 在这一课中,我们将学习更复杂的命令:“我们想结束在位置三米,无论什么路径需要我们在那里”。

  • 我们将从GitHub库文件工作。

  • 你可以找到的信息如何克隆GitHub库“写你的第一个脚本”。

  • 我们假设你的文件都位于这里~/helloworld/turtlebot。

启动Gazebo and Rviz

  1. 启动Gazebo
roslaunch turtlebot_gazebo turtlebot_world.launch
  1. 启动导航演示
roslaunch turtlebot_gazebo amcl_demo.launch
  1. 启动Rviz
roslaunch turtlebot_rviz_launchers view_navigation.launch
  1. 改变turtlebot方向。
  • 送一个导航目标改变turtlebot取向。
  • 它必须面对的是长的物体。
  1. 改变turtlebot位置。
  • 发送一个导航目标,在turtlebot的前面是站有其他物体。
  • 例如,像这样:

sim_send_goal

sim_pose_before_motion

启动脚本

  1. 启动脚本
python ~/helloworld/turtlebot/goforward_and_avoid_obstacle.py
  1. 在Rviz查看结果
  • turtlebot会发现一条小路,停在另一面的对象。
  1. 中断进程。关闭终端。
  • 完成指令后打开文件goforward_and_avoid_obstacle.py并试图理解的命令阅读评论的意义。

  • 注:在脚本goforward_and_avoid_obstacle.py也有限制时间的任务执行(线49-50):

#allow TurtleBot up to 60 seconds to complete task
success = self.move_base.wait_for_result(rospy.Duration(60))

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

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


标签: turtlebot仿真