【嵌入式应用6】机器人定位与导航仿真

完整任务内容

  1. 在gazebo中构建一个用于建图和导航的虚拟环境,可以使用Building Editor工具创建,也可以使用其他功能包中已有的虚拟环境;将前面作业完成的带传感器的移动机器人(小车)模型放置到虚拟环境中,使用gmapping 和 hector_slam功能包实现SLAM仿真。
  2. 在第一题建立完成的地图上,实现基于move_base和amcl功能包的机器人自主导航仿真。

源码可在github上搜到

1.启动例子

三个终端:

roslaunch mbot_gazebo mbot_kinect_nav_gazebo.launch
roslaunch mbot_navigation gmapping_demo.launch 
roslaunch mbot_teleop mbot_teleop.launch2

在这里插入图片描述
在这里插入图片描述

2.地图生成

rosrun map_server map_saver -f mymap

由于移动得太快了,地图有点地方计算不明确。
在这里插入图片描述

3.用自己的world完成地图生成

我自己新建了一个world,名叫mymy.world。
生成地图需要小车运动,我们可以手动操控小车,也可以让他自助探索。

手动操控
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
roslaunch mbot_teleop mbot_teleop.launch

在这里插入图片描述

自主探索
roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
roslaunch mbot_navigation exploring_slam_demo.launch
rosrunmbot_navigation exploring_slam.py

在这里插入图片描述

最后生成地图
rosrun map_server map_saver -f mymap

在这里插入图片描述

4.用自己生成的地图进行导航

把加载地图的launch文件中的地图的参数改成我们生成的地图的文件名。如下图:
在这里插入图片描述

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
roslaunch mbot_navigation exploring_slam_demo.launch

遇到错误:小车不按线路行走:
解决办法:修改xacro文件里面的参数如下图:
图片不知道为啥展示这么小,我手写一次路径吧:
要修改的xacro路径为:

~/catkin_ws/src/mbot_description/urdf/xacro/gazebo/mbot_base_gazebo.xacro

在这里插入图片描述
这样小车就能按照路线导航了:
在这里插入图片描述
参考链接:
https://blog.csdn.net/weixin_44479297/article/details/95218005
https://blog.csdn.net/yanwumuxi/article/details/80097294

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值