ROS学习(九)常用可视化工具

一、Qt工具箱

  • rqt:综合工具

ROS学习(九)常用可视化工具_第1张图片

注:在plugins中添加所需功能 

  • rqt_console:日志输出工具

ROS学习(九)常用可视化工具_第2张图片

  • rqt_graph:计算图可视化工具

ROS学习(九)常用可视化工具_第3张图片

  • rqt_plot:数据绘图工具

ROS学习(九)常用可视化工具_第4张图片

注:1处订阅话题,输入“/”可以自己识别可订阅的话题

2处订阅

3处可以暂停查看数据 

  • rqt_image_view:图像渲染工具

ROS学习(九)常用可视化工具_第5张图片


二、rviz

Rviz是一款三维可视化工具,可以很好的兼容基于ROS软件框架的机器人平台

  • 在rviz中,可以使用可扩展标记语言XML对机器人、周围物体等任何实物进行尺寸、质量、位 置、材质、关节等属性的描述,并且在界面中呈现出来
  • rviz还可以通过图形化的方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等信息
  • viz通过机器人模型参数、机器人发布的传感信息等数据,为用户进行所有可监测信息的图形化显示。用户和开发者也可以在rviz的控制界面下,通过按钮、滑动条、数值等方式,控制机器人的行为

2.1启动rviz

rosrun rviz rviz

2.2rviz界面介绍

ROS学习(九)常用可视化工具_第6张图片

2.3t添加项目

ROS学习(九)常用可视化工具_第7张图片

三、Gazebo

3.1简介

  • Gazebo可以用于仿真世界模型、传感器模型、动力学模型、运动学模型、机器人模型等待
  • 机器人仿真软件是机器人专家工具箱中必备的工具
  • 可以加快算法检测,机器人设计,并且用真实场景进行测试
  • 可以准确有效的模拟机器人在复杂环境中的运动
  • 可以从其他三维建模软件(如SolidWorks)导入机器人模型

3.2界面与运行

运行:

gazebo

如果要打开特定模型:

gazebo  worlds/xxx.world

ROS学习(九)常用可视化工具_第8张图片

  • 第一次执行Gazebo需要下载一些模型,会一直尝试连接网络,可以事先拷贝到model到指定文件夹
  • Gazebo默认情况下是隐藏右侧面板,单击并拖动可以将其打开。右侧面板用于与所选模型的移动部件进行交互。
  • 工作栏:包含一些常用的与模拟器交互选项(选择、移动、旋转、创建简单形状等等)。
  • 工具栏:显示有关模拟的数据,如模拟时间与实际时间的关系。(模拟时间可以比实际时间更快或更慢)

3.3World文件

  • world文件包含仿真器中所有的元素(机器人模型、灯光、传感器、静态对象等)
  • 文件格式为:SDF

3.4Model文件

  • 与world文件相同,model文件也是SDF或者URDF格式,但是只包含一个...
  • 为了便于模型的重复使用和简化模型

四、RRBot机械臂案例

RRBot(Revolute-Revolute Manipulator Robot)是一个3连杆2关节机械臂

4.1获取RRBot

cd ~/catkin_ws/src
git clone https://github.com/ros-simulation/gazebo_ros_demos.git
cd .
catkin_make

gazebo_ros_demos.zipicon-default.png?t=M666https://download.csdn.net/download/m0_56451176/86400747 

4.2 rviz中加载RRBot模型

roslaunch rrbot_description rrbot_rviz.launch

4.3gazebo中加载

roslaunch rrbot_gazebo rrbot_world.launch

4.4ROS控制gazebo模型

ROS提供ros_control功能包来实现对gazebo的通讯与控制

4.4.1安装ros_control功能

sudo apt-get install ros-melodic-ros-control ros-melodic-ros-controllers

4.4.2运行

roslaunch rrbot_control rrbot_control.launch

 4.4.3控制

提高发布话题控制关节运动

rostopic pub /rrbot/joint2_position_controller/command std_msgs/Float64 "data: -0.9"

也可提高RQT软件动态控制


roslaunch rrbot_control rrbot_rqt.launch

你可能感兴趣的:(ros,学习)