第一个作业原地址出错,新地址:点击进入
目录
一、安装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 文件