参考了多篇文章,很是杂糅,学习的过程中也遇到了不同的问题,特此记录。
一、建立工作空间
一般文章上来就是 cd ~/catkin_ws 了,这篇文章直接从0开始教学。
【精选】从零手写移动机器人URDF模型学习记录(一)_urdf material_杰弟的成长之路的博客-CSDN博客
二、功能包的准备
从零开始仿真ROS小车(一)urdf模型+rviz可视化_ros小车功能包-CSDN博客
参考这篇文章,写的很详细,首先是各个文件夹创建,然后编写一个launch文件,一个urdf文件
三、rviz可视化
这部分卡了我一下,主要是在跟着二里面的文章步骤进行时,运行到“roslaunch jubot_demo display_jubot_base_urdf.launch”语句时,会报错。一个是报:
[display_jubot_base_urdf.launch] is neither a launch file in package [jubot_demo] nor is [jubot_demo] a launch file name The traceback for the exception was written to the log file
该错出现是因为没有source,即没有添加环境变量。解决方法参考文章:
【解决问题】RLException: [xx.launch] is neither a launch file in package [x] nor is [x] a launch file name-CSDN博客解决掉这个报错后,出现了新的问题:
ERROR: cannot launch node of type [joint_state_publisher_gui/joint_state_publisher_gui]: joint_state_publisher_gui
并且加载出来的界面没有模型
该错出现是因为缺少安装依赖,参考文章:
【精选】ROS基础(9)——机器人仿真URDF_ros urdf-CSDN博客
安装sudo apt-get install ros-kinetic-joint-state-publisher-gui,但是出现了错误:
Unable to locate package XXX
以为是镜像源的问题,查询后发现是版本的问题,如果是像我一样用的ROS版本:melodic,那么语句应该是:sudo apt-get install ros-melodic-joint-state-publisher-gui
装好后studo apt-get update一下。
再运行roslaunch jubot_demo display_jubot_base_urdf.launch语句就可以顺利加载出来了。
这时,如果界面像我这样报错的话:
将FixedFrame 改成之前编写的urdf文件中的“base_link",然后Add添加RobotModel,就出现模型了。