用 RViz 显示摄像头及URDF建模(机器人仿真学习1)

本文介绍了如何在ROS中使用RViz显示虚拟摄像头视频,并详细讲解了基于ROS的URDF机器人建模过程,包括创建机器人功能包、建立URDF模型、添加不同部件如车轮、摄像头和激光雷达,并通过RViz进行模型验证。
摘要由CSDN通过智能技术生成

第一个作业原地址出错,新地址:点击进入

一、安装Rviz,用它显示虚拟机摄像头的视频

首先,输入命令cheese来查看摄像头是否能正常运行

在这里插入图片描述

发现可用

如果不可用,请参考ubuntu 虚拟机下使用摄像头

二、RViz

rviz是ROS自带的图形化工具,可以很方便的让用户通过图形界面开发调试ROS。

1.RViz的使用

同时开启两个终端分别运行两条命令

roscore
rviz

运行之后如图所示
在这里插入图片描述

2. RViz 显示摄像头

(1)安装相关功能包

sudo apt-get install ros-melodic-uvc-camera
sudo apt-get install ros-melodic-image-*
sudo apt-get install ros-melodic-rqt-image-view

(2)启动 ROS

roscore

(3)再打开一个终端,运行 uvc_camera

rosrun uvc_camera uvc_camera_node

在这里插入图片描述
(4)再打开一个新终端运行以下命令,查看话题消息

rostopic list

在这里插入图片描述
使用以下命令可以打印相机相关信息

rostopic echo /camera_info

在这里插入图片描述
(5)打开 RViz

rviz

选择add
在这里插入图片描述
选择image,然后点击ok
在这里插入图片描述
将【Image Topic】的值改为【/image_raw】

在这里插入图片描述
至此,RVIZ成功显示出摄像头视频

三、基于 ROS 的 URDF 机器人建模

1.URDF 简介

URDF 全称为 Unified Robot Description Format,中文可以翻译为 “ 统一机器人描述格式 ”。与计算机文件中的 .txt 文本格式、.jpg 图像格式等类似,URDF 是一种基于 XML 规范、用于描述机器人结构的格式。

2.创建机器人建模功能包

cd ./catkin_ws/src/
catkin_create_pkg mbot_description urdf xacro

在这里插入图片描述
创建机器人建模的功能包的文件结构

cd ~/catkin_ws/src/mbot_description
mkdir urdf
mkdir meshes
mkdir launch
mkdir config
文件名 作用
urdf 存放机器人模型的 URDF 或 xacro 文件
meshes 放置 URDF 中引用的模型渲染文件,机器人外观纹理,让外观和实际更相似
launch 保存相关启动文件
config 保存 rviz 的配置文件、功能包的配置文件

在这里插入图片描述

编辑 launch 启动文件

cd ~/catkin_ws/src/mbot_description/launch
sudo gedit display_mbot_base_urdf.launch

复制粘贴以下代码

<launch>
	<param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_base.urdf" />
	<param name="use_gui" value="true"/>
	<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
	<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
	<node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_urdf.rviz" required="true" />
</launch>

3.建立 URDF 机器人模型

创建小车模型

  • 创建小车底盘

进入 urdf 文件夹下,并创建 mbot_base.urdf 文件

cd ~/catkin_ws/src/mbot_description/urdf
sudo gedit mbot_base.urdf

添加进如下代码

<?xml version="1.0" ?>
<robot name="mbot">
    <link name="base_link">
        <visual>
            <origin xyz=" 0 0 0" rpy="0 0 0" />
            
            <geometry>
                <cylinder length="0.16" radius="0.20"/>
            </geometry>
            
            <material name="yellow">
                <color rgba="1 0.4 0 1"/>
            </material>
             
        </visual>
       
    </link>
</robot>

查看效果

roslaunch mbot_description display_mbot_base_urdf.launch

在这里插入图片描述
注意将【Fiexed Frame】参数改为 base_link;同时添加 RobotModel

  • 创建左侧车轮

编辑 urdf 文件

sudo gedit mbot_base.urdf

向其中添加如下信息

<joint name="left_wheel_joint" type="continuous">
        <origin xyz="0 0.19 -0.05" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="left_wheel_link"/>
        <axis xyz="0 1 0"/>
    </joint>  
    <link name="left_wheel_link">
        <visual>
            <origin xyz="0 0 0" rpy="1.5707 0 0" />
            <geometry>
                <cylinder radius="0.06" length = "0.025"/>
            </geometry>
            <material name="white">
                <color rgba="1 1 1 0.9"/>
            </material>
        </visual>
    </link>

在这里插入图片描述
查看效果

roslaunch mbot_description display_mbot_base_urdf.launch

在这里插入图片描述

  • 创建右侧车轮

编辑 urdf 文件

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值