机器人xacro设计+gazebo/rviz启动
创始人
2024-03-19 06:10:15
0

机器人xacro设计+gazebo/rviz启动

  • 项目需求
  • 方案
    • 机器人的本体设计
      • 机器人本体集成car_gazebo.xacro
      • inertial惯性矩阵 head.xacro
      • 小车底盘base.xacro
      • 摄像头camera.xacro
      • 雷达laser.xacro
    • 机器joint关节控制器+传感器sensor设计
      • 机器人joint关节控制器move.xacro
      • 摄像头传感器camera_sensor.xacro
      • 雷达传感器laser_sensor.xacro
    • launch文件启动gazebo和rviz
      • car_gazebo.launch
      • car_rviz.launch

项目需求

创建一个机器人,包含本体、控制器、传感器。在gazebo物理引擎中加载真实世界模型,在rviz通过各种插件查看状态。

方案

首先,看一下整体的项目截图
在这里插入图片描述
urdf02_gazebo功能包下面有/config文件夹放置rviz的配置文件,/launch文件夹放置启动文件,/world文件夹放置gazebo的物理世界模型,/xacro文件夹放机器人模型文件,分别在/xacro当前目录下放机器人本体的xacro文件,以及在/xacro/gazebo文件夹下放控制和传感器文件,最终所有的xacro文件都集成进/xacro/car_gazebo.xacro中,即car_gazebo.xacro集成了机器人本体、控制器、传感器,值得注意的是,xacro集成了这么多个不同的 xacro文件,其本质上是将所有的xacro文件复制到一块的,所以不同的xacro文件可写同一个name,反正最终都会复制集成到同一个xacro文件下,car_gazebo.xacro如下所示。

机器人的本体设计

机器人本体集成car_gazebo.xacro

 

其中第一个head.xacro是计算inertial惯性矩阵的,因为gazebo是需要考虑真实物理引擎的,所以head.xacro里封装了宏(相当于函数,包含函数名和参数),每个宏函数都是标准的物体,如球,圆柱等,传参传入质量,长宽高半径等,宏函数就会自动计算惯性矩阵,宏函数在机器人本体设计直接调用即可。

inertial惯性矩阵 head.xacro

 

以下是各个机器人本体连杆link的设计,包括小车底盘、摄像头、雷达,其中的inertial惯性矩阵用到了head.xacro的宏函数。

小车底盘base.xacro



     Gazebo/Yellow Gazebo/Red  Gazebo/Red

摄像头camera.xacro


       Gazebo/Blue

雷达laser.xacro


      Gazebo/White      Gazebo/Black

以上是机器人本体的连杆link部件设计,那么小车还需要控制器还有上面的传感器真实引用,关于这部分内容我放在了/gazebo文件下。

机器joint关节控制器+传感器sensor设计

控制器也是通过xacro文件实现,小车动起来主要是通过joint关节传动,比如小车左轮与地盘连接的joint关节,控制关节转动即可,由于小车有两个驱动轮,所以joint驱动也封装成宏函数来实现。

机器人joint关节控制器move.xacro

transmission_interface/SimpleTransmissionhardware_interface/VelocityJointInterfacehardware_interface/VelocityJointInterface1Debugtrue/1truetrue100.0trueleft_wheel2base_link right_wheel2base_link ${base_link_radius * 2} ${wheel_radius * 2} 1301.8cmd_vel odom odom base_footprint 

接下来是传感器的配置,因为机器人本体已经有了camera连杆和laser连杆,所以现在需要给这两个存在的连杆配上传感器,也就是将传感器映射到连杆中。引用方式是gazebo reference=“连杆名”,连杆名在机器人本体连杆文件中,保持一致。

摄像头传感器camera_sensor.xacro

30.0 1.39626341280720R8G8B80.02300gaussian0.00.007true0.0/cameraimage_rawcamera_infocamera0.070.00.00.00.00.0

雷达传感器laser_sensor.xacro

0 0 0 0 0 0true5.53601-330.1030.00.01gaussian0.00.01/scanlaser

好了,终于完成了机器人的整体设计了,现在机器人有了本体,还有了两轮差速控制器,还有了传感器。

接下来就让机器人通过launch文件启动gazebo和rviz中吧。

launch文件启动gazebo和rviz

分别通过launch来启动gazebo和rviz,有启动先后顺序的,因为car_gazebo.xacro先在car_gazebo.launch中加载到参数服务器中,所以要先启动car_gazebo.launch,并且在car_rviz.launch不需要加载car_gazebo.xacro文件,因为car_gazebo.launch已经将其加载参数服务器了。

car_gazebo.launch



car_rviz.launch


参考来源
【Autolabor初级教程】ROS机器人入门
URDF集成Gazebo

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...