Rviz显示电脑摄像头的视频与URDF机器人建模

Rviz显示电脑摄像头的视频

Ubuntu使用摄像头

1.鼠标右键开始–>选择计算机管理
在这里插入图片描述

2.启动主机上的服务VMware Authorization Service
在这里插入图片描述
3.虚拟机–>设置–>USB控制器–>USB3.0
在这里插入图片描述
3.虚拟机–>设置–>可移动设备–>摄像机–>连接
在这里插入图片描述

使用Rviz

Rviz简介

ROS针对机器人系统的可视化需求,为用户提供了一款显示多种数据的三维可视化平台——rviz。
rviz是一款三维可视化工具,很好的兼容了各种基于ROS软件框架的机器人平台。在rviz中,可以使用XML对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述,并且在界面中呈现出来。同时,rviz还可以通过图形化的方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等。
总而言之,rviz帮助开发者实现所有可监测信息的图形化显示,开发者也可以在rviz的控制界面下,通过按钮、滑动条、数值等方式,控制机器人的行为。

Rviz基本使用

  1. Rviz的启动
    打开两个终端
    分别输入roscore;rviz
  2. Rviz界面展示
    在这里插入图片描述
Rviz显示摄像头的视频
  1. 安装uvc camera功能包
    sudo apt-get install ros-melodic-uvc-camera
    安装image相关功能包
sudo apt-get install ros-melodic-image-*
sudo apt-get install ros-melodic-rqt-image-view
  1. 启动Ros的核心程序roscore
  2. 新建一个终端运行uvc_camera节点
    rosrun uvc_camera uvc_camera_node

在这里插入图片描述
4.再打开一个终端查看话题消息
rostopic list
在这里插入图片描述
5.打印相机信息
使用命令rosptopic echo /camera_info
在这里插入图片描述
打开rviz rviz
在这里插入图片描述
配置rviz
在这里插入图片描述
将image Topic的值更改为/image_raw
在这里插入图片描述
设置显示内容。
在这里插入图片描述

最终效果
在这里插入图片描述
在这里插入图片描述

URDF机器人建模

  1. 创建URDF功能包cd ~/catkin_ws/src;catkin_create_pkg mbot_description urdf xacro
    在这里插入图片描述
  2. 创建机器人建模的功能包的文件结构
cd ~/catkin_ws/src/mbot_description
mkdir urdf
mkdir meshes
mkdir launch
mkdir config
目录名称 描述
urdf 存放机器人模型的URDF或xacro文件
meshes 放置URDF中引用的模型渲染文件,机器人外观纹理,让外观和实际更相似
launch 保存相关启动文件
config 保存rviz的配置文件、功能包的配置文件
  1. 编辑launch启动文件
    cd ./catkin_ws/src/mbot_description/launch;sudo gedit display_mbot_base_urdf.launch;
    在display_mbot_base_urdf.launch文件添加下面内容
<launch>
   <!-- 加载的参数名字叫robot_description,具体内容是urdf相关模型的路径 -->
	<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可视化界面,保存每次打开之后的相关插件,保存到config文件夹下面 -->
	<node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_urdf.rviz" required="true" />
</launch>

创建URDF模型

1. 创建小车底盘

cd ./catkin_ws/src/mbot_description/urdf;sudo gedit mbot_base.urdf
mbot_base.urdf文件内容

<?xml version="1.0" ?>
<robot name="mbot">
    <link name="base_link">
        <visual>
            <origin xyz=" 0 0 0" rpy="0 0 0" />
            <!-- link坐标位置,放在最中央 ,xyz单位是米,rpy单位是弧度-->
            <geometry>
                <cylinder length="0.16" radius="0.20"/>
            </geometry>
            <!-- 机器人的外观效果,使用圆柱体,高0.16,半径0.20 -->
            <material name="yellow">
                <color rgba="1 0.4 0 1"/>
            </material>
             <!--  通过rgba来描述颜色,颜色命名为yellow,a为1是不透明-->
        </visual>
        <!--visual指的是一些物理属性的标签 -->
    </link>

</robot>

查看显示的效果
roslaunch mbot_description display_mbot_base_urdf.launch
在这里插入图片描述

问题描述
1.Could not find the GUI, install the ‘joint_state_publisher_gui’ package
解决方法:
sudo apt-get install ros-melodic-joint-state-publisher-gui(melodic版本)
2.[joint_state_publisher-1] process has died [pid 12201, exit code 1, cmd /opt/
解决方法:
urdf文件第一行前面到空格全部去掉,一般格式正确后都会有颜色的,写urdf一定要注意格式,并且将其中的注释给去掉,后面再添加相应代码的时候注意去掉注释内容
如果RVIZ启动成功没有显示模型
在这里插入图片描述

创建车轮

更改mbot_base.urdf
sudo gedit mbot_base.urdf
左侧

    <joint name="left_wheel_joint" type="continuous">
    <!--   joint名字为left_wheel_joint,属性为continuous,即无限旋转-->
        <origin xyz="0 0.19 -0.05" rpy="0 0 0"/>
        <!--  坐标位置,在base_link基础上,Y偏移0.19,z偏移-0.05-->
        <parent link="base_link"/>
        <child link="left_wheel_link"/>
        <!--  主关节:base_link,上面的圆柱形车体-->
        <!--  子关节:left_wheel_link,左轮-->
        <!--  主关节最后是一个,本代码是base_link-->
        <axis xyz="0 1 0"/>
        <!--left_wheel_link绕某一个轴做旋转,指定为Y轴  -->
    </joint>
     <!--joint用来连接两个link-->
    <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>
  <!--左轮信息-->

右侧

    <joint name="right_wheel_joint" type="continuous">
        <origin xyz="0 -0.19 -0.05" rpy="0 0 0"/>
        <!--  坐标位置,在base_link基础上,Y偏移-0.19,z偏移-0.05,与左轮正好相反-->
        <parent link="base_link"/>
        <child link="right_wheel_link"/>
        <axis xyz="0 1 0"/>
    </joint>
    <link name="right_wheel_link">
        <visual>
            <origin xyz="0 0 0" rpy="1.5707 0 0" />
            
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值