Rviz显示电脑摄像头的视频
文章目录
Ubuntu使用摄像头
1.鼠标右键开始–>选择计算机管理
2.启动主机上的服务VMware Authorization Service
3.虚拟机–>设置–>USB控制器–>USB3.0
3.虚拟机–>设置–>可移动设备–>摄像机–>连接
使用Rviz
Rviz简介
ROS针对机器人系统的可视化需求,为用户提供了一款显示多种数据的三维可视化平台——rviz。
rviz是一款三维可视化工具,很好的兼容了各种基于ROS软件框架的机器人平台。在rviz中,可以使用XML对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述,并且在界面中呈现出来。同时,rviz还可以通过图形化的方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等。
总而言之,rviz帮助开发者实现所有可监测信息的图形化显示,开发者也可以在rviz的控制界面下,通过按钮、滑动条、数值等方式,控制机器人的行为。
Rviz基本使用
- Rviz的启动
打开两个终端
分别输入roscore
;rviz
- Rviz界面展示
Rviz显示摄像头的视频
- 安装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
- 启动Ros的核心程序
roscore
- 新建一个终端运行uvc_camera节点
rosrun uvc_camera uvc_camera_node
4.再打开一个终端查看话题消息
rostopic list
5.打印相机信息
使用命令rosptopic echo /camera_info
打开rviz rviz
配置rviz
将image Topic的值更改为/image_raw
设置显示内容。
最终效果
URDF机器人建模
- 创建URDF功能包
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
;
在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" />