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

288
0
2020年11月9日 09时14分

一、准备工作

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

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,得到如下图的结果

 

微信图片_20201105115442

 

note:如果出现图中类似ERROR

 

微信图片_20201105115451

 

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

 

微信图片_20201105115457

2、启动gmapping建图

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

 

微信图片_20201105115500

 

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

 

微信图片_20201105115848

 

(3)启动gmapping

 

roslaunch bringup slam_gmapping.launch 

 

微信图片_20201105115853

 

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

 

微信图片_20201105115856

 

(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

得到如图画面:

 

微信图片_20201105115859

 

(3)启动导航

 

roslaunch bringup move_base.launch 

 

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

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

 

微信图片_20201105115902

发表评论

后才能评论