上一篇博客为【ROS建模:一起从零手写URDF模型】:
https://blog.csdn.net/qq_54900679/article/details/135726348?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135726348%22%2C%22source%22%3A%22qq_54900679%22%7D
这次我们继续来学习URDF模型,开始进行机械臂部分的URDF模型学习:
我们以6DOF的机械臂为例子
算上夹爪的自由度,整个机械臂的DOF=7
下面我们开始进行创建,来到我们的工作空间下,创建功能包:
进入src文件夹中打开一个终端,运行如下命令:
catkin_create_pkg marm_description urdf xacro
发现marm_description功能包创建成功。
继续进入marm_description功能包中,下面分别创建4个文件夹:
下面进入urdf文件夹后开启一个终端后输入:
touch marm.urdf
打开刚刚创建的urdf文件,复制粘贴如下内容并保存:
<?xml version="1.0" ?>
<robot name="marm"><material name="Black"><color rgba="0 0 0 1"/></material><material name="White"><color rgba="1 1 1 1"/></material><material name="Blue"><color rgba="0 0 1 1"/></material><material name="Red"><color rgba="1 0 0 1"/></material><link name="base_link"><visual><origin rpy="0 0 0" xyz="0 0 0"/><geometry><cylinder length="0.04" radius="0.05"/></geometry><material name="White"/></visual></link></robot>
下面进入到 launch 文件中去,开启一个终端后输入:
touch display_marm_urdf.launch
打开刚刚创建的launch 文件,复制粘贴如下内容并保存:
<launch><!-- 设置机器人模型路径参数 --><param name="robot_description" textfile="$(find marm_description)/urdf/marm.urdf" /><!-- 运行joint_state_publisher节点,发布机器人的关节状态 --><node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" /><!-- 运行robot_state_publisher节点,发布tf --><node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" /><!-- 运行rviz可视化界面 --><node name="rviz" pkg="rviz" type="rviz" args="-d $(find marm_description)/config/marm_urdf.rviz" required="true" />
</launch>
下面来到这个文件夹的页面处:
在工作空间下进行编译,让环境变量能够找到功能包:
conda activate hjx
catkin_make
出现以下截图界面:
下面任意开启一个终端来运行launch文件,指令:
roslaunch marm_description display_marm_urdf.launch
会出现如下Rviz界面:
下面点击——> Add,找到RobotModel; 再点击 Fixed Frame 并将其更改为 base_link: