操作系统:ubuntu16.04
ROS版本:kinetic
Gazebo版本:7.16.0
mkdir -p ~/racecar_ws/src
cd ~/racecar_ws/src
catkin_init_workspace
git clone https://github.com/xmy0916/racecar.git
cd ..
catkin_make
echo "source ~/racecar_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
roslaunch racecar_gazebo racecar_runway.launch
roslaunch racecar_gazebo slam_gmapping.launch
完成之后:
操作小车可能会出现打滑现象,可以多次尝试,跑慢点。
rosrun map_server map_saver -f ~/racecar_ws/src/racecar_gazebo/map/map_runway
roslaunch racecar_gazebo racecar_runway_navigation.launch
roslaunch racecar_gazebo racecar_rviz.launch
rosrun racecar_gazebo path_pursuit.py
或者
cd ~/racecar_ws/src/racecar_gazebo/scripts
python path_pursuit.py
这里最好把坐标轴放到我们车的起点,如图画圈处(不改也没关系,可以在启动文件里定义车模的坐标)
我们可以先把有小车的地图拿出来再放模型:
roslaunch racecar_gazebo racecar.launch
这样就很简单的将小车放到模型起始位置!
cd racecar_ws/src/racecar/racecar_gazebo/launch
touch myself.launch
gedit myself.launch
写入下面代码:
"1.0"?>
<!-- Launch the racecar -->
"$(find racecar_gazebo)/launch/racecar.launch">
"world_name" value="myself"/>
</include>
</launch>
roslaunch racecar_gazebo myself.launch
roslaunch racecar_gazebo slam_gmapping.launch
rosrun map_server map_saver -f ~/racecar_ws/src/racecar_gazebo/map/myself
roslaunch racecar_gazebo myselfnavigation.launch
roslaunch racecar_gazebo racecar_rviz.launch
rosrun racecar_gazebo path_pursuit.py
或者
cd ~/racecar_ws/src/racecar_gazebo/scripts
python path_pursuit.py
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-driver-base
sudo apt-get install ros-kinetic-ackermann-msgs
执行:得到locate OpenCVConfig.cmake你的opencv的路径
执行:gedit ~/racecar_ws/src/racecar_gazebo/CMakeLists.txt
修改第7行的路径成你的路径:set(OpenCV_DIR /opt/ros/kinetic/share/OpenCV-3.3.1-dev/)
sudo apt-get install ros-kinetic-teb-local-planner
/ racecar_ws / src / racecar_description / urdf / racecar.gazebo在这个文件中61行改成false即可,代码已修复,直接下载没有问题的。