ROS机器人仿真(Ackermann 转向机构)

1 篇文章 2 订阅
1 篇文章 0 订阅

一、准备工作

1、下载代码并安装必要功能包

本文代码已上传 github 期待点个star

环境:

Ubuntu16.04 + ros kinetic

记得预先安装以下功能包(可能有遗漏,大家根据报错自行安装吧,或者私聊我)

sudo apt-get install ros-kinetic-ackermann-msgs
sudo apt-get install ros-kinetic-navigation
sudo apt-get install ros-kinetic-openslam-gmapping
sudo apt-get install ros-kinetic-geographic-info
sudo apt-get install ros-kinetic-controller-manager
sudo apt-get install ros-kinetic-gazebo-ros-control
sudo apt-get install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-joint-state-controller 
sudo apt-get install ros-kinetic-position-controllers  
sudo apt-get install ros-kinetic-teb-local-planner

或者 直接输入下面的自动配置依赖:

rosdep install --from-paths src --ignore-src --rosdistro kinetic -y
#可能需要把racecar这个包先拿出去才能执行

2、编译

将代码放到自己的工作空间里的src编译(应该不会报错);

编译之前记得执行 sudo chmod -R 777 carlike_robot_sim/

(工作空间的创建参考 ROS学习--第3篇:ROS基础---创建工作空间 的前三点)

#终端输入
cd
cd catkin_ws
catkin_make

 

二、启动仿真

本文所使用的模型是MIT的racecar,是Ackermann 转向机构的gazebo仿真

 

1、启动gazebo和rviz

我已经写好了一个launch文件,方便直接启动

直接执行


#首先启动gazebo 和 rviz界面
roslaunch bringup car_sim_gmapping.launch

#之后启动遥控
rosrun racecar_control keyboard_teleop.py

注意:遥控使用wasd控制

之后rviz中添加TF并将Fixed Frame选为odom,得到如下图的结果。

 

note:如果出现图中类似ERROR

请给这些python编写的文件可执行权限, 回到src下 执行sudo chmod -R 777 文件夹名

 

2、启动gmapping建图

(1)首先选中rviz界面,点击File->Open Config (如图)

 

(2)选择如图目录下的rviz文件

 

(3)启动gmapping

roslaunch bringup slam_gmapping.launch 

 

之后遥控小车便可以得到如图的地图

 

 

(4)保存地图

执行以下命令即可

rosrun map_server map_saver -f  ~/catkin_ws/src/calf_carlike_robot/bringup/map/mymap

完成地图保存后便可以关闭所有界面了。

 

3、导航仿真

这里我们使用的是teb算法

(1)启动gazebo和rviz仿真

roslaunch bringup car_sim_nav.launch 

(2)打开rviz配置文件

和之前操作一样,选择rviz窗口,点击File->Open Config,和之前的路径一样

选择在bringup/rviz文件夹下的movebase.rviz

得到如图画面:

 

(3)启动导航

roslaunch bringup move_base.launch 

选择rviz上方工具栏的 2D Nav Goal(绿色箭头)在地图上点击,可以看到小车自动运行过去。

其中,绿色曲线是全局路径,由之前所建地图得到,红色箭头是局部路径规划,实时修正全局地图。

 

END

欢迎关注,先立个flag,后续开始更新详细的代码解析和论文阅读。

 

  • 14
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值