机器人建模与仿真(二)——机器人URDF模型仿真

机器⼈建模与仿真(⼆)——机器⼈URDF模型仿真
机器⼈建模与仿真(⼆)——机器⼈URDF模型仿真
⽬录
总述
在ROS中,机器⼈的模型⼀般放在RobotName_description功能包下。
⼀、创建机器⼈描述功能包
catkin_create_pkg mbot_description urdf xacro
机器⼈模型、描述⽂件在ROS⾥,通常的以 机器⼈名_description,并且需要依赖urdf功能包,解析模型 和 xacro(优化urdf⽤的)依赖。
在RobotName_description功能包下创建⼏个不同作⽤的⽂件夹,包含urdf、meshes、launch和config四个⽂件夹。
urdf:存放机器⼈模型的URDF或xacro⽂件
meshes:放置URDF中引⽤的模型渲染⽂件,机器⼈外观纹理,让外观和实际更相似,通过三维设计软件导出,放置此⽂件夹下launch:保存相关启动⽂件
config:保存rviz的配置⽂件、功能包的配置⽂件
⼆、创建URDF模型
在了解了URDF模型中常⽤的标签和语法,使⽤这些基本语法创建机器⼈底盘模型。
这个机器⼈底盘模型有7个link和6个joint。7个link包括1个机器⼈底板、2个电机、2个驱动轮和2个万向轮;6个joint负责将驱动轮、万向轮、电机安装到底板上,并设置相应的连接⽅式。
<?xml version="1.0" ?>
<robot name="mrobot_chassis">
//robot name 标签⽤于定义所描述机器⼈的名称
密目式安全网<link name="base_link">
<visual>  //
<origin xyz=" 0.1 0.1 0.1" rpy="0 0 0" />
<geometry>
<cylinder length="0.005" radius="0.13"/>
</geometry>
<material name="yellow">
<color rgba="1 0.4 0 1"/>
</material>
</visual>
</link>
//link标签描述了机器⼈某个刚体部分的外观和物理属性,包括尺⼨,颜⾊,形状惯性和碰撞参数等,/visual 标签描述机器⼈某个部件的外观参数等。origin 标签描述了所绘制外观geometry的坐标起点,⼀般对于规则形状的外观坐标起点位于规则形状的重⼼位置, cylinder 标签描述了这个圆柱
体的尺⼨,m aterial 标签⽤于描述外观的颜⾊等信息
<joint name="base_left_motor_joint" type="fixed"> ///joint标签⽤于描述机器⼈关节的运动学和动⼒属性
<origin xyz="0.1 0.1 0.1" rpy="0 0 0" />
<parent link="base_link"/>
<child link="left_motor" />
</joint>
//上述/joint标签中⼀般描述origin parent child等参数,origin描述了joint连接点基于parent link="base_link"
坐标的偏移量,⼀般在rviz仿真中左上⾓Fixed Frame 的map选项设置成base_link,则base_link在rviz中为坐标原点,那么        origin所描述的joint为基于坐标原点的偏移量,parent为jiont的⽀撑连接部件,child为⼦部件,joint就为⼦部件和⽀撑连接部件的关节
<link name="left_motor">
<visual>
<origin xyz="0.2 0.2 0.2" rpy="0 0 0" />
<geometry>
<cylinder radius="0.02" length ="0.08"/>
</geometry>
<material name="gray">
<color rgba="0.75 0.75 0.75 1"/>
</material>
</visual>
</link>
//link name="left_motor"标签为base_left_motor_joint连接件的⼦部件,其中origin描述了该部件基于b
ase_left_motor_joint关节坐标的偏移点,base_left_motor_joint关节的坐标原点为origin xyz="0.1 0.1 0.1",若left_motor部件的origin xyz="0.2 0.2 0.2"
则表⽰left_motor所描述部件基于base_left_motor_joint关节坐标xyz="0.1 0.1 0.1"的偏移量为xyz="0.2 0.2 0.2"
<joint name="left_wheel_joint" type="continuous">
<origin xyz="0.5 0.0485 0" rpy="0 0 0"/>
<parent link="left_motor"/>
<child link="left_wheel_link"/>
<axis xyz="0 1 0"/>
</joint>
//连接关节joint name="left_wheel_joint"为left_motor和left_wheel_link关节点,left_wheel_link为left_motor的⼦部件,其中
left_wheel_joint的基础坐标是基于parent link="left_motor"的关节joint name="base_left_motor_joint"的基础坐标偏移量⽽⾮left_motor的origin偏移量
.......
..........
</robot>
永久模板
URDF提供了⼀些命令⾏⼯具,可以帮助我们检查、梳理模型⽂件,需要在终端中独⽴安装:
sudo apt-get install liburdfdom-tools
然后使⽤check_urdf命令对描述机器⼈⽂件进⾏检查:
check_urdf #<;机器⼈描述名称>.urdf
check_urdf命令会解析URDF⽂件,并且显⽰解析过程中发现的错误。如果⼀切正常,在终端中会⽆报错输出。还可以使⽤urdf_to_graphiz命令查看URDF模型的整体结构:
urdf_to_graphiz #<;机器⼈描述名称>.urdf
执⾏urdf_to_graphiz命令后,会在当前⽬录下⽣成⼀个pdf⽂件,打开该⽂件,可以看到模型的整体结构图。
三、URDF模型解析
四、在rviz中显⽰模型
完成URDF模型的设计后,可以使⽤rviz将该模型可视化显⽰出来,检查是否符合设计⽬标。
编辑launch启动⽂件
<launch>
<!-- param是要加载ros的⼀个参数:robot_description (描述机器⼈的具体模型)-->
<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可视化界⾯ -->
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_urdf.rviz" required="true" />
</launch>
joint_state_publisher:发布每个joint(除fixed类型)的状态,⽽且可以通过UI界⾯对joint进⾏控制
robot_state_publisher:将机器⼈各个links、joints之间的关系,通过TF的形式,整理成三维姿态信息发布打开终端运⾏该launch⽂件,如果⼀切正常,可以在打开的rviz中看到机器⼈模型。
五、改进URDF模型
1、添加物理和碰撞属性
猪肉精>nand闪存
2、使⽤xacro优化URDF
(1)使⽤常量定义
(2)调⽤数学公式
(3)使⽤宏定义
3、xacro⽂件引⽤
4、显⽰优化后的模型
(1)将xacro⽂件转换成URDF⽂件
(2)直接调⽤xacro⽂件解析器
六、添加传感器模型
1、添加摄像头
2、添加Kinect
3、添加激光雷达
七、基于ArbotiX和rviz的仿真器瓶花木
对接扣件
1、安装ArbotiX
2、配置ArbotiX控制器
<1>创建launch⽂件
<2>创建配置⽂件
3、运⾏仿真环境

本文发布于:2024-09-23 17:19:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/306635.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:机器   模型   描述   外观   坐标   关节   标签   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议