ROS编译流程及其错误排查
ROS编译流程及其错误排查
首先建立一个新的工作空间(文件夹) eg: ros_ws 该文件夹中有
在 ros_ws 文件夹中打开终端,输入 catkin_make 可以对 src 文件夹进行编译,并不是在src文件夹下,而是在 ros_ws 文件夹下
例如下面在turtlebot3_test_ws:

图1:编译示例
如果出现gazebo没有安装成功的情况,如图2,可以通过以下命令重新安装gazebo

图2:错误类型
1 | sudo apt-get install ros-melodic-gazebo- ##在Linux终端中输入此命令,能够看到有什么附带的指令,下面这句是直接进行相应的安装 |
1 | sudo apt-get install ros-melodic-gazebo* # |
以turtlebot3_test_ws文件为例,进行相关的学习:
1、首先在turtlebot3_test_ws文件夹中打开终端,运行catkin_make进行编译,再输入如下代码:
1 | source devel/setup.bash |
2、启动gazebo和相关地图
1 | roslaunch turtlebot3_gazebo turtlebot3_ #该命令能够看到turtlebot3对应的有哪些相应的launch文件 |
在~/.bashrc文件最后加入如下:
1 | export TURTLEBOT3_MODEL=burger #对TURTLEBOT3_MODEL进行设置 |
然后重新开启终端,在终端中输入以下命令:
1 | source ~/turtlebot3_test_ws/devel/setup.bash # |
如果出现错误,检查相应的安装包是否完整,通过以下命令重新安装一下。
1 | sudo apt-get update |
运行以下代码可以看到 tf 相关的框架图
1 | rosrun tf view_frames |
运行以下launch文件运行gazebo
1 | source ~/turtlebot3_test_ws/devel/setup.bash # |
新建一个终端,运行以下代码
1 | source ~/turtlebot3_test_ws/devel/setup.bash |
新建一个终端,运行以下代码,可以对机器人进行移动,完成地图扫描
1 | source ~/turtlebot3_test_ws/devel/setup.bash |
运行以下命令,进行地图保存
1 | rosrun map_server map_saver -f ~/world |
通过以下命令启动路径规划算法
1 | rosluanch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/world.yaml |

第一:设置环境变量
1)在主目录下
2)使用 ctrl+h 打开隐藏文件 .bashrc文件
3)打开 .bashrc文件,并且在里面文件的最下面写入环境变量
实际写入变量:source ~/turtlebot3_test_ws(实际的工程文件名字)/devel/setup.bash
第二:编译src文件
1)注意应在src的目录下编译
第二:启动gazebo仿真环境
1)编译成功后,启动仿真环境
2)仿真环境启动成果如图
第三:启动gmapping
1)输入启动gmapping命令
2)启动gmapping成功
3)在建图完成后,加载map_sever,保存地图 map_gmapping为保存的地图名
第四:加载第三步地图进行导航
加载的地图名字为第3步的 map_gmapping.yaml 这是一个yaml格式的地图描述文件











