ROS建模仿真-1-创建机器人模型
- 创建catkin_creat_pkg功能包
- 创建机器人描述文件
- 创建launch文件
创建catkin_creat_pkg功能包
使用命令进入已经创建好的工作空间的src文件夹下
cd ~/mrobot/src
使用现在使用catkin_create_pkg命令创建一个名为myrobot_description 的新软件包,这个软件包依赖于urdf,xacro
catkin_create_pkg myrobot_description urdf xacro
创建好功能包以后,使用cd命令进入功能包文件夹下,可以看到Cmakelist和package两个文件
cd myrobot_description
然后在myrobot_description文件夹下面创建urdf , config, launch,meshes四个文件夹,如下图所示
创建机器人描述文件
进入urdf文件夹下,创建myrobot_description.urdf文件 ,将<<ROS机器人开发实践>>中第六章-6.2.1 创建机器人urdf模型中的代码写入刚才创建的myrobot_description.urdf,
输入完之后在当前终端中检查urdf模型是否正确
chech_urdf mrobot_chassis.urdf
如果urdf文件正确,终端输出如下返回值
alex@alex:~/mrobot/src/myrobot_description/urdf$ check_urdf mrobot_chassis.urdf
robot name is: mrobot_chassis
---------- Successfully Parsed XML ---------------
root Link: base_link has 3 child(ren)
child(1): left_motor
child(1): left_wheel_link
child(2): right_motor
child(1): right_wheel_link
child(3): front_caster_link
创建launch文件
进入launch文件夹下创建display_mrobot_chassis_urdf.launch文件,启动刚才创建的机器人模型.
将<<ROS机器人开发实践>>中第六章-6.2.4 在Rviz中显示模型的代码写入创建的display_mrobot_chassis_urdf.launch文件,
然后在终端的工作空间中输入命令
source ./devel/setup.bash
之后就可以运行刚才创建的launch文件了
运行命令的格式是launch 功能包 launch文件
roslaunch myrobot_description display_mrobot_chassis_urdf.launch
此时会出现需要安装 * joint_state_publisher-gui *,就在终端中使用apt-get安装对应的ros版本的joint_state_publishe-gui即可,我这里使用的是kinetic版本,所以使用的命令是
sudo apt-get install ros-kinetic-joint-state-publisher-gui
如果不知道哦啊自己的ROS版本是什么,可以使用命令进行查看
alex@alex:~/mrobot$ rosparam list
/rosdistro
/roslaunch/uris/host_alex__35207
/rosversion
/run_id
alex@alex:~/mrobot$ rosparam get /rosdistro
'kinetic
'
这里显示我的版本是kinetic.
安装完之后,记得source一下setup.bash,在运行launch文件.
运行launch文件会出现警告,
[WARN] [1630592746.507992]: The 'use_gui' parameter was specified, which is deprecated. We'll attempt to find and run the GUI, but if this fails you should install the 'joint_state_publisher_gui' package instead and run that. This backwards compatibility option will be removed in Noetic.
需要修改运行joint_state_publisher节点,发布机器人的关节状态 的代码,
原来代码是<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
修改后是 <node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" />
然后在source一下setup.bash,运行launch文件,就可以出现一个gui和rviz界面,rviz显示的是创建好的机器人模型.如下图所示
此时就大功告成了.可以进行更深入层次的学习了.
<每天进步一点点>
代码部分可以参照奥特学园的URDF语法详解示例
URDF语法详解示例
(如有侵权,请联系我删除,谢谢)
或者通过传送门进行下载,这个代码时已经修改好的,放到工作空间的src文件夹下面进行编译,然后在工作空间中source ./devel/setup.bash
,然后就可以按照教程就运行了.