赞
踩
ROS针对机器人系统的可视化需求,为用户提供的一款显示多种数据的三维可视化平台,rviz作为一款三维可视化工具,很好的兼容了各种基于ROS软件框架的机器人平台。在本项目仿真实践过程中机器人模型选用“古月居”在GitHub平台提供的模型文件,可在终端输入“git clone https://github.com/huchunxu/ros_exploring.git”进行下载,下载后在主目录下打开ros_exploring文件夹,将mrobot_description文件夹拷贝到catkin_ws/src功能包目录下。
4.1在rviz中机器人模型的导入
将机器人URDF模型文件文件夹复制到Ubuntu系统工作空间catkin_ws/src功能包目录下,在catkin_ws目录下打开终端输入命令“catkin_make”进行编译,命令“source devel/setup.bash”设置环境变量,最后输入命令“roslaunch mrobot_description display.mrobot.launch”采用launch启动文件在Rviz中启动模型,打开Rviz界面后在“Fixed Frame”中选择“base_link”,在“Add”中选择“RobotModel”,点击确定即可显示机器人物理结构模型。此时无法打开机器人关节控制器插件,终端输入命令“sudo apt-get install ros-melodic-joint-state-publisher-gui”下载安装joint_state_publisher_gui插件,再次启动模型便可在Rviz中显示gui控制器插件,通过关节控制器滑动可控制机器人关节运动。
为此机器人添加传感器模型,常见的移动机器人会装配有彩色摄像头、RGB-D摄像头、激光雷达等传感器。在从GitHub中huchunxu下载来的源码中分别包括这三种常见的传感器,以摄像头为例,对应的模型文件mrobot_description/urdf/camera.xacro采用Xacro(URDF文件优化)文件格式通过创建摄像头长方体link的宏描述摄像头,需要创建顶层xacro文件将机器人和摄像头拼装在一起,在文件mrobot_description/urdf/mrobot_with_camera.urdf.xacro中,使用fixed类型joint把摄像头固定到机器人顶部位置。终端运行命令“roslaunch mrobot_description display_mrobot_with_camera.launch”在Rviz中观察到装配有摄像头的机器人模型。
4.2 Rviz界面内的运动仿真
运动学的仿真模拟需要用到Arbotix控制器,通过其中的差速控制器接受速度指令更新状态实现手动移动,终端输入命令“sudo apt-get install ros-melodic-arbotix-*”进行下载安装,机器人底盘由一个万向轮和一对驱动轮组成,为机器人底盘配置一个差速控制器的yaml文件,在launch文件中添加launch启动节点,通过控制两边驱动轮转速差异实现转向功能,再次启动launch文件,通过“Add”添加“Odomtry”里程计插件,话题和全局坐标系修改为“Odom”,在机器人模型下出现一个箭头,代表该机器人模型的里程计信息,箭头方向为机器人初始移动方向。
通过下载安装“mbot_teleop”功能包,启动键盘控制节点,通过键盘节点向其发布指令,可控制机器人方向、运动、速度等,并在Rviz界面留下运动轨迹。通过终端命令“git clone https://github.com/ros-teleop/teleop_twist_keyboard.git”远程下载安装GutHub平台用户分享的“mbot_teleop”功能包,再次启动launch文件打开Rviz界面,在catkin_ws目录下打开终端,设置环境变量“source devel/setup.bash”,命令“rosrun teleop_twist_keyboard teleop_twist_keyboard.py”启动键盘控制节点,K、I、J、L、<分别表示停止、前进、左转、右转、后退,q/z : 最大速度增加/减少10%,w/x : 仅线性速度增加10%,e/c : 仅角速度增加10%,等功能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。