突然就有了一个长期任务,过分emo了。学习第一步,试试在我的不知道重装了多少遍的ubuntu20.04上运行一个gazebo小车模型。是根据这个视频做的记录,如有问题,欢迎指正~
在安装环境之前,首先确定你的ubuntu上已经安装好了ROS,如果没,记得先去安转。可以参考这篇博客。
验证是否安装好ROS
echo $ROS_DISTRO
安装依赖
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 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 tcl-dev tk-dev python3-tk
mkdir -p gazebo/src
cd src
git clone https://github.com/soonuse/racecar.git
因为是在github上,所以可能下载速度很慢,甚至有时候连不上,这时候需要一些科学的小手段。
cd ../
catkin_make
编译完成后。工作区生成了一个build和一个devel文件夹,在devel文件夹中有一个setup.bash文件
在devel文件夹中打开终端,输入以下命令
pwd
另开一个终端
sudo gedit .bashrc
在打开的文件最后写下自己得到的setup.bash文件路径,如
. .bashrc
检查一下OpenCVConfig.cmake所在的目录
先安装locate
sudo apt install mlocate
更新硬盘指引
sudo update db
查找OpenCVConfig.cmake
locate OpenCVConfig.cmake
然后将路径写入racecar_gazebo的CMakeLists.txt文件中
把OpenCV_DIR后面的路径改成前面找到的路径,注意不是文件的路径
在终端中输入
roslaunch racecar_gazebo racecar_runway.launch
如果没有报错,而是卡在开始界面,就是缺少models文件,所以需要再次下载
在终端输入:
cd .gazebo
git clone https://github.com/orsf/gazebo_models.git
然后等待很长很长很长一段时间
下载完成后,记得改一下gazebo_models文件夹的名字,改成models即可
再次启动终端,进入仿真环境(在实际生产中对应的是真实的机器人和真实的地图):
roslaunch racecar_gazebo racecar_runway.launch
再开启一个终端,进如rviz环境(对应的是订阅的传感器消息):
roslaunch racecar_gazebo slam_gmapping.launch
利用WASD案件控制小车在不翻车的情况下走完整的路径,可以看到在RVIZ界面中创建完整的地图。
保存地图,这里的路径是自己的map路径,记得改成自己的
rosrun map_server map_saver -f /home/computer/Gazebo/src/racecar/racecar_gazebo/map/map_runway
保存完之后,会在指定位置生成对应的pgm和yaml文件
关闭之前的开启的所有的终端,重新打开一次(不用保存)
roslaunch racecar_gazebo racecar_runway_navigation.launch
再开一个终端,输入:
roslaunch racecar_gazebo racecar_rviz.launch
界面如图所示:
使用2D Nav Goal工具,点击之后再按住地图内部的一点,按住鼠标左键调整箭头方向,这样即可发布小车目标点的位置信息。发布完成后,,地图上会出现一条绿色的规划路线,此时小车不会运动,再开一个终端,运行追踪脚本
rosrun racecar_gazebo path_pursuit.py
这个脚本会告诉小车需要以什么方式沿着绿色的规划路线前进,启动之后小车就开始动了。
一段时间后,小车到达终点,演示完毕。
不知道为什么,使用了2D Nav Goal工具,但是没出现绿色的路径,查询之后采取了以下解决方案
sudo apt install ros-noetic-move-base* ros-noetic-turtlebot3-* ros-noetic-dwa-local-planner
sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc ros-noetic-rgbd-launch ros-noetic-depthimage-to-laserscan ros-noetic-rosserial-arduino ros-noetic-rosserial-python ros-noetic-rosserial-server ros-noetic-rosserial-client ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro ros-noetic-compressed-image-transport ros-noetic-rqt-image-view ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers
sudo apt install ros-noetic-costmap-2d
再次重启仿真环境和rviz环境,成功!!!