二十九、URDF集成Rviz基本流程

一、机器人系统仿真

1.1 相关组件

  • URDF:Unified Robot Description Format,统一(标准化)机器人描述格式,用xml文件描述机器人部分结构,URDF只是一个文件,该文件需要结合rviz或者gazebo使用
  • rviz:ROS Visualization Tool,ROS的三维可视化工具,将数据进行可视化表达,图形化的显示传感器感知到的环境信息
  • gazebo:用于搭建机器人模型并创建仿环境

二、基本流程

2.1 需求

在rviz中显示一个盒状机器人

2.2 流程

  1. 创建功能包
  • 导入依赖:urdf,xacro
  • 在当前目录下创建文件夹:
    • config:配置文件,用于一些代码的初始化等
    • urdf:存储urdf文件
    • meshes:机器人模型渲染文件
    • launch:存储launch文件
    • xacro:存储xacro相关文件
  1. 编写urdf文件
    在urdf文件夹下新建urdf文件夹(可选),编写demo01_helloworld.urdf文件:
    <robot name="mycar">
        <link name="base_link">
            <visual>
                <geometry>
                    <box size="0.5 0.2 0.1" />
                </geometry>
            </visual>
        </link>
    </robot>
    
  2. 在launch文件中集成urdf和rviz
    在launch文件下新建demo01_helloworld.launch文件,导入urdf文件:使用的参数名是robot_description
<launch>

    <!-- 设置参数 -->
    <param name="robot_description" textfile="$(find 包名)/urdf/urdf/urdf01_HelloWorld.urdf" />

    <!-- 启动 rviz -->
    <node pkg="rviz" type="rviz" name="rviz" />

</launch>
  1. 在rviz中显示机器人模型
    添加方式如下:
    在这里插入图片描述

在这里插入图片描述

  1. 优化rviz启动
    重复启动launch文件时,rviz的配置不会被保存,为了避免重复4.中的操作,可以将相关配置保存到config文件夹下,并修改相关参数:
    在这里插入图片描述
<launch>
    <param name="robot_description" textfile="$(find 包名)/urdf/urdf/urdf01_HelloWorld.urdf" />
    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find 报名)/config/rviz/show_mycar.rviz" />
</launch>
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在ROSrviz显示机器人模型,需要使用URDF(Unified Robot Description Format)文件来描述机器人的几何和运动学信息。以下是一个简单的步骤来集成URDFrviz建立机器人模型: 1. 创建一个URDF文件,描述机器人的几何和运动学信息。可以使用文本编辑器编写URDF文件,也可以使用URDF编辑器(如Robotics System Toolbox for MATLAB)来创建URDF文件。 2. 将URDF文件保存在ROS的“urdf”文件夹。 3. 创建一个launch文件,将URDF文件加载到rviz。以下是一个简单的示例launch文件: ``` <launch> <arg name="model" default="$(find my_robot_description)/urdf/my_robot.urdf" /> <param name="robot_description" textfile="$(arg model)" /> <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" /> <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher"> <param name="use_gui" value="true"/> </node> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find my_robot_description)/rviz/my_robot.rviz" /> </launch> ``` 这个launch文件首先定义一个参数“model”,它指向URDF文件的路径。然后,它使用“robot_state_publisher”节点来发布机器人的状态信息,使用“joint_state_publisher”节点来控制机器人的关节状态,并使用“rviz”节点来启动rviz,并加载rviz配置文件。 4. 创建一个rviz配置文件,用于显示机器人模型。可以使用rviz的GUI工具来创建配置文件,也可以手动编写配置文件。以下是一个简单的示例配置文件: ``` rviz: background_color: '25 25 25' fixed_frame: base_link perspective_projection: true target_frame: odom marker_topic: /visualization_marker path_topic: /path pose_array_topic: /particlecloud tf_prefix: '' camera: auto_fit: true far_clip_distance: 1000.0 near_clip_distance: 0.01 pitch: -30.0 position: x: 5.0 y: 0.0 z: 5.0 show_frustum: true show_target_frame: true target_frame: odom track_camera: false track_target: true use_fixed_frame: true view_controller: 'rviz/Orbit' displays: - name: RobotModel enabled: true type: 'rviz/RobotModel' topic: /robot_description - name: TF enabled: true type: 'rviz/TF' update_rate: 0.0 - name: Grid enabled: true type: 'rviz/Grid' cell_count: 40 color: '220 220 220' plane: 'XY' cell_size: 0.5 line_width: 0.1 ``` 这个配置文件定义了rviz的背景颜色、固定帧、透视投影等参数,以及显示机器人模型、坐标系、网格等信息的方式。 5. 启动launch文件,开始显示机器人模型。在终端运行以下命令: ``` roslaunch my_robot_description display.launch ``` 这将启动rviz,并加载URDF文件和配置文件,显示机器人模型。 注意:在运行launch文件之前,需要确保已经正确安装了ROSrviz,并且已经创建了一个ROS包,用于存放URDF文件和rviz配置文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值