gazebo 中使用gmaping 建图

一、使用gmapping 建图

  1. 启动roscore
  2. roslaunch wpr_simulation wpb_stage_robocup.launch
  3. sudo apt install ros-noetic-gmapping
  4. rosrun gmapping slam_gmapping
  5. 启动rviz (rosrun rviz rviz)。添加RobotModel、LaserScan、Map后

    显示如下:

6.rosrun wpr_simulation keyboard_vel_ctrl   控制机器人运动

二、launch 文件启动slam gmapping 建图

1、cd catkin_ws/src/

2、catkin_create_pkg slam_pkg roscpp rospy std_msgs

3、cd slam_pkg ;mkdir launch

4、创建launch文件 gmapping.launch

文件内容如下:

<launch>

        <include file="$(find wpr_simulation)/launch/wpb_stage_robocup.launch"/>

        <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping"/>

        <node pkg="rviz" type="rviz" name="rviz"/>

        <node pkg="wpr_simulation" type="keyboard_vel_ctrl" name="keyboard_vel_ctrl"/>

</launch>

  1. cd catkin_ws; catkin_make 编译
  2. 执行  roslaunch  slam_pkg    gmapping.launch
  3. Gmapping 参数解释

49.Gmapping建图的参数设置_哔哩哔哩_bilibili

三、保存与加载地图

  1. sudo apt install ros-noetic-map-server
  2. rosrun map_server map_saver -f map

   

     3.加载地图   rosrun map_server map_server map.yaml

四、amcl 定位

1、sudo apt install ros-<ROS版本>-navigation

2、roscd amcl     ;ls examples

该目录下会列出两个文件: amcl_diff.launch 和 amcl_omni.launch 文件,前者适用于差分移动机器人,后者适用于全向移动机器人,可以按需选择。

3、创建nav功能包,在nav功能包中创建launch目录。复制amcl_diff.launch文件到launch目录中 。

4、在nav功能包中的launch目录中创建amcl_test.launch文件。文件内容如下

<launch>
    <node name="map_server" pkg="map_server" type="map_server" args="/home/map.yaml"/>
    <!-- 启动AMCL节点 -->
    <include file="$(find nav)/launch/amcl.launch" />
    <!-- 运行rviz -->
    <node pkg="rviz" type="rviz" name="rviz"/>
</launch>

5、启动gazebo :roslaunch wpr_simulation wpb_stage_robocup.launch

     启动roslaunch nav amcl_test.launch

     启动 rosrun wpr_simulation keyboard_vel_ctrl  控制机器人运动

6、rviz 显示如下

 但是定位并不准确,有时候机器人会跑飞。问题以后处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DSZS123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值