$ cd ~/catkin_ws
$ catkin_make
~/catkin_ws$ source devel/setup.bash
创建mrobot_description 功能包
$ cd ~/catkin_ws/src
$ ~/catkin_ws/src$ catkin_create_pkg mrobot_description urdf xacro
创建四个文件夹urdf meshes launch config
$ mkdir -p ~/catkin_ws/src/mrobot_description/urdf
$ mkdir -p ~/catkin_ws/src/mrobot_description/meshes
$ mkdir -p ~/catkin_ws/src/mrobot_description/launch
$ mkdir -p ~/catkin_ws/src/mrobot_description/config
在urdf文件夹下编写mrobot_chassis.urdf文件
内容如下:
urdf文件提供了一些命令工具,帮助检查和梳理模型文件
$ sudo apt-get install liburdfdom-tools
然后使用check_urdf命令对mrobot_chassis文件进行检查
~/catkin_ws/src/mrobot_description/urdf$ check_urdf mrobot_chassis.urdf
如果检查有什么问题的话,会报错,报错就是代码有问题,好好检查检查就行了
用urdf_to_graphiz来查看URDF模型的整体结构
$ urdf_to_graphiz mrobot_chassis.urdf
在rviz中显示模型
先在launch文件夹中mrobot_description/launch/display_mrobot_chassis_urdf.launch,具体代码如下
在使用rviz之前先安装arbotix,在catkin_ws/src下
$ git clone https://github.com/vanadiumlabs/arbotix_ros.git
回到catkin_ws目录,用catkin_make,这样就安装好了arbotix,然后安装rbx_vol_1,在catkin_ws/src中
$ git clone https://github.com/pirobot/rbx1
同样回到catkin_ws目录,用catkin_make编译结束用
$ source /path/to/your/catkin_ws/devel/setup.bash
运行launch文件
$ roslaunch mrobot_description display_mrobot_chassis_urdf.launch
我运行后出现了如下的问题
因此需要安装两个功能包joint_state_publisher robot_state_publisher
但是输入命令时却无法定位软件包
因此需要从网上下载
首先是robot_state_publisher的下载,如果显示无法定位此文件,则重新填一遍秘钥
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
记住之后一定要更新一下软件包索引
sudo apt-get update
然后是joint_state_publisher功能包的下载
$ cd ~/catkin_ws/src
$ git clone https://github.com/ros/joint_state_publisher.git
再重新运行
$ roslaunch mrobot_description display_mrobot_chassis_urdf.launch
进入后但出现
GLOBAL STATUS ERROR 的现象
因此 使用新建终端
$ rosrun tf static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map my_frame 100
此时分两步
1.等rviz启动完毕之后先将FixedFrame改为base_link
2.再点击下方Add按钮,添加一个RobotModel