Gazebo-Ros搭建小车和场景并运行slam算法进行建图0–整体描述和资源
**背景:**需要在具体场景下运行slam算法,由于网上资源都是比较复杂的综合型机器人,作为新手不会删减改动,便想从头开始学习一下如何搭建一个符合自己要求的机器人,然后根据机器人的运行背景,搭建一个仿真的环境,让机器人在该环境下运行slam算法,测试建图效果。
**环境:**Ubuntu18.04 + ROS melodic + Ros自带的Gazebo 9(后升级为11,参考下方遇到的问题2)
整体步骤
1.搭建机器人模型
2.搭建场境(world)
3.为机器人的传感器添加插件并将机器人放入场景中
4.为机器人添加运动控制器控制其移动
5.运行slam算法,让机器人对所处场景进行建图
遇到的一部分问题:
问题1:[gazebo-1] process has died [pid 10999, exit code 255
killall gzserver
问题2:escalating to SIGKILL on server
解决:(升级gazebo)参考https://blog.csdn.net/qq_44360908/article/details/117912092
问题3: 在参考 ROS——URDF机器人建模(https://blog.csdn.net/qq_43279579/article/details/114991696)创建urdf机器人并使用rviz查看时,存在No transform from [**_link] to [base_link]的问题
解决:问题原因:joint_state_publish这个功能包无法解析urdf文件,linux没有默认支持unicode
sudo apt-get install unicode
问题4:[joint_state_publisher-1] process has died [pid 8053, exit code 1
urdf文件第一行前面到空格全部去掉,一般格式正确后都会有颜色的,写urdf一定要注意格式
将其中的注释给去掉
问题5:Could not find the GUI, install the ‘joint_state_publisher_gui’ package
解决方法:
sudo apt-get install ros-melodic-joint-state-publisher-gui(melodic版本)
最后建议在运行的时候单独打开一个终端运行 roscore , 不这样的话遇到过一些莫名其妙问题
学习资源
Gazebo官方教程-https://classic.gazebosim.org/tutorials
Gazebo-Ros部分的官方教程-https://classic.gazebosim.org/tutorials
参考的部分文章:
ROS——URDF机器人建模 – 该文章只是搭建了机器人外观模型,只能通过rviz来查看,不能出现在gazebo仿真环境中,也没有为传感器添加插件还不能使用。可参考3 , 4 来实现。
ROS入门(五):urdf模型解析 – 对于urdf文件的标签进行了说明,可帮助理解上述搭建的机器人模型。
5 ROS仿真建模(1- urdf和rviz、gazebo的基础操作)
Tutorial: Using roslaunch to start Gazebo, world files and URDF models
Tutorial: Using Gazebo plugins with ROS
Gazebo-Ros搭建小车和场景并运行slam算法进行建图1 – 搭建机器人模型