ROS智能车定位导航仿真(Gazebo搭建赛道)
前言
- Ubuntu版本:18.04
- ROS版本:melodic
一、ROS仿真功能包下载
- 创建工作空间并初始化
mkdir -p test_ws/src
cd ~/test_ws/src
catkin_init_workspace
- 下载赛道仿真功能包racecar
git clone https://github.com/xmy0916/racecar.git
二、安装运行所需的插件
- driver_base的插件安装
sudo apt-get install ros-melodic-driver-base
- controllers插件安装
sudo apt-get install ros-melodic-gazebo-ros-control
sudo apt-get install ros-melodic-effort-controllers
sudo apt-get install ros-melodic-joint-state-controller
- ackermann_msgs插件安装
sudo apt-get install ros-melodic-ackermann-msgs
- rtabmap插件安装
sudo apt-get install ros-melodic-rtabmap-ros
三、racecar功能包编译
- 返回工作空间并编译
cd ~/test_ws
catkin_make
- 加入环境变量
source ./devel/setup.bash
四、测试程序运行
- 测试编译是否成功
roslaunch racecar_gazebo racecar.launch
- 效果展示
系统将会打开Gazebo仿真软件,里面有一辆小车模型,同时,也会打开tk控制界面小窗,将鼠标移动到小窗中,可通过键盘的WSAD来控制小车的移动。 - 输入ctrl+c结束gazebo的运行
五、运行功能包赛道
- 新建终端,输入以下指令,运行赛道
roslaunch racecar_gazebo racecar_runway.launch
- 新建终端,运行rviz,进行gmapping建图
roslaunch racecar_gazebo slam_gmapping.launch
- 保存gmapping图
rosrun map_server map_saver -f test_map
- 将当前目录下的地图剪切到racecar_gazebo的map文件夹
六、注意事项
(1)运行Gazebo,模型加载缓慢或出现黑屏,原因可能是不能正确下载模型。
解决方法: 下载所有模型到用户根目录下的.gazebo/models/
cd ~/.gazebo/
mkdir -p models
cd ~/.gazebo/models/
wget http://file.ncnynl.com/ros/gazebo_models.txt
wget -i gazebo_models.txt
ls model.tar.g* | xargs -n1 tar xzvf
(2)执行roslaunch racecar_gazebo slam_gmapping.launch报错,原因可能是gmapping未安装。
解决方法: 安装依赖库并通过apt安装gmapping
sudo apt-get install libsdl1.2-dev
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install ros-melodic-gmapping
(3)保存地图时出现[rospack] Error: package ‘map_server‘ not found
解决方法:安装map_server
sudo apt-get install ros-melodic-map-serve
(4)缺少move_base
解决方法:安装move_base
sudo apt-get install ros-melodic-navigation
版权声明:本文为qq_52516071原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。