注意:选用的ros2是foxy版本;
1.ros2安装
可以参考官网:
Installing ROS 2 on Ubuntu Linux — ROS 2 Documentation: Foxy documentation
官网给出了源码安装与二进制文件安装两种方式,但是两种方式下载都有问题;
特别的:如果各位 rosdep update 一直不能更新的话,可以把sudo rosdep init后的文件打开,然后将里面的几个文件下载后本地加载就会好一点;
也可以参考这个:
ROS2初体验之SLAM与导航仿真 - 古月居 (guyuehome.com)
其实最后我是参考这个链接安装成功的;注意dashing更换成foxy
2.navigation 2安装
可以参考的链接,这是官方文档
Getting Started — Navigation 2 1.0.0 documentation (ros.org)
sudo apt install ros-foxy-navigation2
sudo apt install ros-foxy-nav2-bringup
sudo apt install ros-foxy-turtlebot3*
然后:
source /opt/ros/foxy/setup.bash
export TURTLEBOT3_MODEL=waffle
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/foxy/share/turtlebot3_gazebo/models
在启动之前还需要保证gazebo11安装成功;因为foxy的例程用的是gazebo11,所以这里也安装gazebo11,给个链接或者自行百度:
Gazebo11的更新与安装_Krasjet_Yu.的博客-CSDN博客
最后:
下载gazebo的model文件,然后放在~/.gazebo/models中;
运行指令:
ros2 launch nav2_bringup tb3_simulation_launch.py
3.问题
(1)如果遇到gazebo启动慢的问题,一直在准备中,就是地图的问题;没有下载,这个链接中有关于地图的拷贝,可以参考;
ROS2初体验之SLAM与导航仿真 - 古月居 (guyuehome.com);
(2)rviz可以启动,gazebo11不能启动;一直卡主并黑屏
这个原因是foxy版本的文件(waffle.model)有问题,不知道以后会不会修改这个bug;
首先可以测试以下指令:
gazebo --verbose /opt/ros/foxy/share/nav2_bringup/worlds/waffle.model
首先会提示找不到 link : camera_rgb_joint
修改如下:
(1)打开opt/ros/foxy/share/nav2_bringup/worlds路径下的waffle.model,屏蔽以下代码:
(2)找到letf_tire.dae right_tire.dae;
其实没有这两个文件;直接都修改成tire.dae;
如果有什么问题,可以随时交流;