ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)

URDF机器人建模

相关urdf代码链接:
https://download.youkuaiyun.com/download/weixin_43262513/10990016

1.urdf介绍

URDF(Unified Robot Description Format),统一机器人描述格式,是一种特殊的xml格式,用来描述一个机器人. 在ROS中,urdf功能包包含一个urdf格式文件的C++解析器,这样,任何通过统一编码格式设计的机器人都可以通过该解析器得到一个可视化的模型.

具体介绍参考:
https://zhuanlan.zhihu.com/p/21252651

URDF创造的机器人模型包含的内容有:

  • 连杆 link
  • 关节 joint
  • 运动学参数 axis
  • 动力学参数 dynamics
  • 可视化模型 visual
  • 碰撞检测模型 collision

具体xml模型如下图:
在这里插入图片描述
2.urdf模型具体介绍
(1)link(link代码称之为link标签)
在这里插入图片描述
具体形态如图:
在这里插入图片描述
代码如图:
在这里插入图片描述
(2)joint连杆(joint代码称之为连杆标签)
介绍:在这里插入图片描述
物理模型:
在这里插入图片描述
主关节:parent link
子关节:child link ,必须指定主关节和子关节
代码如下:
在这里插入图片描述
其他一些参考标签:
在这里插入图片描述
连杆分类:
在这里插入图片描述
(3)完整的机器人模型------->由若干个link标签个joint标签组成
在这里插入图片描述
具体代码如下:
在这里插入图片描述

2.创建urdf功能包模型

(相关文件已经上传,移植过程下载的资源介绍里面有)
步骤一:catkin_ws/src目录下,执行:

catkin_create_pkg mbot_description urdf xacro

步骤二:mbot_description文件夹下创建文件夹
urdf------------>放置模型具体文件
meshes------->机器人外观纹理等参数的描述文件
launch--------->启动相关文件
config---------->相关功能包的配置文件,rviz相关显示的配置文件
步骤三:
launch文件夹,创建display_mbot_base_urdf.launch,
导入源码:

<launch>
   <!-- 加载的参数名字叫robot_description,具体内容是urdf相关模型的路径 -->
	<param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_base.urdf" />

	<!-- 设置GUI参数,显示关节控制插件 -->
	<param name="use_gui" value="true"/>
	
	<!-- 运行joint_state_publisher节点,发布机器人的关节状态  -->
	<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
	
	<!-- 运行robot_state_publisher节点,发布tf  -->
	<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
	
	<!-- 运行rviz可视化界面,保存每次打开之后的相关插件,保存到config文件夹下面 -->
	<node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_urdf.rviz" required="true" />
</launch>

注意:在这里插入图片描述

3.创建小车车体模型
(1)urdf文件夹下创建mbot_base.urdf,
写入代码(下面代码插入都在我空下来的大片地方这里):

<?xml version="1.0" ?>
<robot name="mbot">
    <link name="base_link">
        <visual>
            <origin xyz=" 0 0 0" rpy="0 0 0" />
            <!-- link坐标位置,放在最中央 ,xyz单位是米,rpy单位是弧度-->
            <geometry>
                <cylinder length="0.16" radius="0.20"/>
            </geometry>
            <!-- 机器人的外观效果,使用圆柱体,高0.16,半径0.20 -->
            <material name="yellow">
                <color rgba="1 0.4 0 1"/>
            </material>
             <!--  通过rgba来描述颜色,颜色命名为yellow,a为1是不透明-->
        </visual>
        <!--visual指的是一些物理属性的标签 -->
    </link>









</robot>
<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅某(沙漠胡杨)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值