<机器人技术创新与实践>课程-Gazebo仿真篇SLAM+Navigtion

举报
zhangrelay 发表于 2021/06/30 14:24:33 2021/06/30
【摘要】 移动机器人仿真环境为Gazebo11.5,系统环境具体配置如下:Ubuntu 20.04ROS NoeticTurtleBot3镜像使用Gazebo+云班课号.iso 。简要流程如下:部分常用指令ls、cd等启动文件放置于Robot文件夹下:robot├── auto│   └── auto.launch├── gazebo│   ├── empty_world.launch│   └── ...

移动机器人仿真环境为Gazebo11.5,系统环境具体配置如下:

  • Ubuntu 20.04
  • ROS Noetic
  • TurtleBot3

2021-06-30 13-32-21 的屏幕截图.png

2021-06-30 13-34-06 的屏幕截图.png

镜像使用Gazebo+云班课号.iso 。

navi2.gif

简要流程如下:

部分常用指令ls、cd等

启动文件放置于Robot文件夹下:

robot
├── auto
│   └── auto.launch
├── gazebo
│   ├── empty_world.launch
│   └── willow_world.launch
├── map
│   ├── willow.pgm
│   └── willow.yaml
├── navigation
│   └── navigation.launch
├── rviz
│   └── rviz.launch
├── slam
│   └── slam.launch
└── teleop
    └── teleop_key.launch

开启仿真。

机器人需要在环境中才能运动,需要构建一个适合机器人的环境,如何构建?

打开一个空白环境+机器人命令如下:

cd robot/

roslaunch gazebo/empty_world.launch

然后依据需要绘制环境,注意墙体和物体功能区别。

绘制完成效果如下所示:

2021-06-30 09-21-59 的屏幕截图.png

可以保存到myroom文件中。

机器人只有理解环境才能在环境中运动,如何理解?

SLAM就是其中之一。

roslaunch slam/slam.launch

效果如下所示:

2021-06-30 09-21-41 的屏幕截图.png

使用避障程序让机器人在环境中运动,如下:

roslaunch auto/auto.launch

发现机器人卡住了???

2021-06-30 09-26-19 的屏幕截图.png

2021-06-30 09-27-01 的屏幕截图.png

切换回手动模式:

Crtl + C 退出

roslaunch teleop/teleop_key.launch

把卡住的机器人挽救回来!然后愉快遥控建立环境地图吧。

2021-06-30 09-34-13 的屏幕截图.png

2021-06-30 09-34-19 的屏幕截图.png

匹配度如何?马马虎虎吧。

保存和打开地图:

打开 
rosrun map_server map_server ***.yaml

保存

rosrun map_server map_saver -f myroom

如下:

2021-06-30 09-41-20 的屏幕截图.png

图片编辑器看看效果:

2021-06-30 09-39-24 的屏幕截图.png

撰写报告截图终端改为白底黑字更好一些:

2021-06-30 09-42-26 的屏幕截图.png

2021-06-30 09-42-49 的屏幕截图.png

有地图之后就可以愉快导航了。

注意路径!

roslaunch navigation/navigation.launch map_file:=myroom.yaml

roslaunch navigation/navigation.launch map_file:=/home/zhangrelay/robot/myroom.yaml

要写全!

否则:

2021-06-30 09-45-06 的屏幕截图.png

  • 绿色箭头定位一下
  • 红色箭头导航一下

2021-06-30 11-18-55 的屏幕截图.png

彩蛋:

使用带有摄像头的机器人开车~~~

waffle?

2021-06-30 14-14-29 的屏幕截图.png

2021-06-30 14-15-45 的屏幕截图.png

2021-06-30 14-15-12 的屏幕截图.png

# ROS
source /opt/ros/noetic/setup.bash

# TurtleBot3 burger waffle waffle_pi
export TURTLEBOT3_MODEL=waffle_pi

-End-

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。