一、虚拟机设置
安装Ubuntu20.04LTS与对应的ROS版本Noetic。虚拟机设置3D图像加速,为了防止ROSUI崩溃禁用OPENGL功能。在.bashrc中添加后并运行. .bashrc:
source /opt/ros/noetic/setup.bash
export SVGA_VGPU10=0
二、依赖安装
sudo apt install ros-$ROS_DISTRO-driver-base
sudo apt install ros-$ROS_DISTRO-ackermann-msgs
sudo apt install ros-$ROS_DISTRO-rtabmap-ros
sudo apt install ros-$ROS_DISTRO-teb-local-planner
sudo apt install ros-$ROS_DISTRO-gazebo-ros-control
sudo apt install ros-$ROS_DISTRO-effort-controllers
sudo apt install ros-$ROS_DISTRO-joint-state-controller
sudo apt install tcl-dev tk-dev python3-tk
sudo apt-get install ros-noetic-move-base
sudo apt-get install ros-noetic-map-server
sudo apt-get install ros-noetic-navigation
sudo apt-get install ros-noetic-amcl
三、下载代码和Gazebo模型
GitHub - soonuse/racecar: Gazebo 3D simulator example of ROS tutorials (version: Noetic)
在新建工作空间中完成编译。
若出现“/ usr / bin / env:python:没有这样的文件或目录”,则可以安装下面功能包解决:
sudo apt install python-is-python3
安装gazebo模型数据库:
git clone https://github.com/osrf/gazebo_models.git ~/.gazebo/models
四、建图
运行
roslaunch racecar_gazebo racecar_runway.launch
和
roslaunch racecar_gazebo slam_gmapping.launch
使用wasd键盘进行小车行走控制。
使用指令保存建图:
rosrun map_server map_saver -f ~/racecar_ws/src/racecar/racecar_gazebo/map/map_runway
五、导航与控制
启动导航launch和rviz:
roslaunch racecar_gazebo racecar_runway_navigation.launch
roslaunch racecar_gazebo racecar_rviz.launch
在RVIZ中使用2D Nav Goal确定终点后,自动生成路径。
启动跟随控制节点实现跟随控制:
rosrun racecar_gazebo path_pursuit.py