当前位置:   article > 正文

机器人Rviz仿真应用_应用rviz实现巡航数据仿真

应用rviz实现巡航数据仿真

  ROS针对机器人系统的可视化需求,为用户提供的一款显示多种数据的三维可视化平台,rviz作为一款三维可视化工具,很好的兼容了各种基于ROS软件框架的机器人平台。在本项目仿真实践过程中机器人模型选用“古月居”在GitHub平台提供的模型文件,可在终端输入“git clone https://github.com/huchunxu/ros_exploring.git”进行下载,下载后在主目录下打开ros_exploring文件夹,将mrobot_description文件夹拷贝到catkin_ws/src功能包目录下。

100bb42b69064fdcb2b4415b086c0514.png

9e7c341db7d74fcd9f9f6fb02fe5e2a8.png3b8c348dbbba4a86b4df0914e8ab3ff6.png 

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控制器插件,通过关节控制器滑动可控制机器人关节运动。

58a94a84fe7f4505a276926dbba08e30.png

512bb76595374e01ab84f9662e61ebc4.png 

137d094520c444fb88e0e9517dfad156.png

f1619f5da7614902ac2d451720243eca.png  为此机器人添加传感器模型,常见的移动机器人会装配有彩色摄像头、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中观察到装配有摄像头的机器人模型。

d43d41ce7e6e4f289158ca0100200d9e.png

52420f5a756845c5bcf924e4422756d5.png 

5f65a16f25534b128f9b619b5dc75099.png

4.2 Rviz界面内的运动仿真

  运动学的仿真模拟需要用到Arbotix控制器,通过其中的差速控制器接受速度指令更新状态实现手动移动,终端输入命令“sudo apt-get install ros-melodic-arbotix-*”进行下载安装,机器人底盘由一个万向轮和一对驱动轮组成,为机器人底盘配置一个差速控制器的yaml文件,在launch文件中添加launch启动节点,通过控制两边驱动轮转速差异实现转向功能,再次启动launch文件,通过“Add”添加“Odomtry”里程计插件,话题和全局坐标系修改为“Odom”,在机器人模型下出现一个箭头,代表该机器人模型的里程计信息,箭头方向为机器人初始移动方向。

21ddd4770bb242169d1768d5339592fc.png

fbd8433f6e8843ca8b9f73c4fb0666df.png

158aa97470544e069b52832ee752761b.png

e4b6f99c351d4aaab03c6190e518d7ac.png

  通过下载安装“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%,等功能。d175e982999b44aba751b309dd02de00.pngc358dcbb44d6459eb14c61756f067f6a.png84c341c1eec64d00ba53e362a57ad7ab.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/669708
推荐阅读
相关标签
  

闽ICP备14008679号