ROS系统仿真的学习

“🎆🎆🎆这是一场盛大的开始!🎆🎆🎆”

本文章是基于赵虚左老师的ROS教程的学习总结,属于作者的学习笔记。如有错误不足,请不吝指点,十分感谢!😊😊😊

urdf-rviz

项目中的文件夹及其功能

1.launch:编写launch文件
2.urdf:编写urdf文件
3.meshes:渲染的皮肤贴纸
4.config:储存配置项

添加对rviz的优化

在rviz中将需要保存的配置选择保存至该功能包下的config文件中,并在launch文件中传入参数,例如我在学习的案例中的使用格式,即将args="-d $(find 包名)/config/show_mycar.rviz"

URDF语法理解

Visual

link标签

在自己写的代码实现
使用简单的模型以及例程来实现对于基本标签的理解
在这里插入图片描述

joint标签

    	urdf 中的 joint 标签用于描述机器人关节的运动学和动力学属性,还可以指定关节运动的安全极限,机器人的两个部件(分别称之为 parent link 与 child link)以“关节”的形式相连接,不同的关节有不同的运动形式:旋转、滑动、固定、旋转速度、旋转角度限制……

在这里插入图片描述
在这里插入图片描述
但是限制了中文注释,需要注意在使用中去除

其中需要注意的是关于不同link之间的joint坐标计算

  • joint偏移量都是计算的两个link之间的物理中心,距离单位:m。
  • 所有计算都是相对于parent link的轴距离计算
  • 坐标系参考右手坐标系
  • 在所有的link中一般偏移量都是默认的,需要不同link的空间偏移的话在joint中计算使用

launch文件中修改

<launch>
		<!--1.在参数服务器中载入urdf文件-->
		<!--textfile : 直接指向urdf 将整个urdf转入到参数服务器中-->
		<param name="robot_description"  textfile="$(find urdf01_rviz)/urdf/urdf/demo03_joint.urdf"/>
		<!-- 2.启动 rviz -->
		 <node pkg="rviz" type="rviz" name="rviz"  args="-d $(find urdf01_rviz)/config/show_mycar.rviz"/>
		<!-- 机器人以及关节发布节点   需要着重注意 -->
		<node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" />

		<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" />
  		<!-- 添加控制关节运动节点 -->
 	 	<!-- <node pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" >name="joint_state_publisher_gui" /> -->
</launch>

最终效果如下:

在这里插入图片描述
添加base_footprint link来实现对于模型的优化------解决模型下沉的问题(base_footprint & link2footprint)

<!-- set a link to solve the problem of the base_link sink -->
 <link name="base_footprint">
       <visual>
          <geometry>
             	 <box size="0.001 0.001 0.001" />
           </geometry>

           <origin xyz="0 0 0"  rpy="0 0 0" />

           <material name="car_color">
            	   <color rgba="0.6 1 1 0.5" />

           </material>
       </visual>
   </link>
<!-- base_footprint & base_link -->
   <joint name="link2footprint" type="fixed">

       <parent link="base_footprint" />

      <child link="base_link"  />

       <origin xyz="0 0 0.05"  rpy="0 0 0" />

   </joint>

在这里插入图片描述
事实上在实际实现中,为了避免高度重复的设置以及人工计算错误问题,我们需要下一步优化改进。引入了xacro,编写更加安全,方便的代码实现!

在此还有两个标签因为没有使用上便不进行介绍了。

Collision(碰撞属性)

Inertial(惯性矩阵)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值