一、工作空间
1、创造工作空间
创造目录并进入,之后初始化环境。
使用下列命令:
mkdir -p ~/catkin_ws/src #创建文件夹
cd ~/catkin_ws/src #进入目录
catkin_init_workspace #初始化,使其成为ROS的工作空间
2、编译工作空间
使用下列命令:
catkin_make
3、设置环境变量
使用下列命令:source /home/wensea/catkin_ws/devel/setup.bash
该环境变量设置只对当前终端有效;
将上面命令放置到~/.bashrc文件中,让其对所有终端都有效,命令为sudo nano ~/.bashrc
。
4、创建功能包并编译
命令为:
cd ~/catkin_ws/src
catkin_create_pkg learning_communication std_msgs rospy roscpp
cd ~/catkin_ws
catkin_make
说明:不同工作空间,可以存在同名的功能包
二、Rviz
1、准备工作
1、 虚拟机—>设置—>USB控制器—>USB兼容性—>USB3.0;
2、虚拟机—>可移动设备—>IMC Networks USB2.0 VGA UVC WebCam—>连接;
3、使用cheese命令检查是否成功调用摄像头。
连接后右下角有个图标,如上图。
调用成功,图中右边是部分摄像头画面。
2、启动Rviz
在不同命令行窗口分别运行一下两条命令
roscore
rviz
如图:
3、使用rviz显示电脑摄像头的视频
1、安装相关包
2、启动Ros的核心程序
3、在另外的命令行窗口运行uvc_camera
4、打开另一个命令行窗口,rostopic list查看话题消息
5、打印相机信息。命令:rostopic echo /camera_info
6、启动rviz
7、配置rviz
如下图:
启动之后选择add—>image—>OK
之后把image Topic的值更改为image_raw,左下角就调用成功了。
三、URDF机器人建模
URDF(Unified Robot Description Format)是统一机器人描述格式,ROS中一个非常重要的机器人模型描述格式;它可以解析URDF文件中使用XML格式描述的机器人模型;
ROS同时也提供URDF文件的C++解析器(可以在C++代码中直接解析- -URDF机器人模型,好处:在基于模型的计算算法中,可以在代码中调用模型的信息,方便计算)
URDF机器人模型的内容
连杆 link
关节 joint
运动学参数 axis
动力学参数 dynamics
可视化模型 visual
碰撞检测模型 collision
URDF机器人模型的标签说明
(1)、link标签
用于描述机器人某个刚体部分的外观和物理属性(比如尺寸(size)、颜色(color)、形状(shape)、惯性矩阵(inertial matrix)、碰撞属性(collision properties)等)
(2)、joint标签
描述机器人关节的运动学和动力学属性,包括关节运动的位置和速度限制。根据关节的运动形式,可以将其分为六种类型
(3)、robot标签
完整机器人模型的最顶层标签,< link > 和 < joint >标签必须包含在 < robot > 标签内
URDF机器人建模的实现
(1)、创建一个机器人建模的功能包
创建一个自定义工作空间,使用catkin_create_pkg mbot_description urdf xacro功能包。