TF: TransFrom坐标变换
将视觉定位的物体的坐标位置x,y,z转换到机械臂的坐标x,y,z。实现坐标变换(位置+姿态),坐标系数据维护的工具。在ros中是坐标转换的标准、话题、工具、接口。通过tf树来维护各各坐标之间的关系。
TransformStamped.msg
tf/tfMessage.msg: 第一代
tf2_msgs/TFMessage.msg: 第二代
rostopic info 命令可以查看tf属性。
tf在C++中的实现:
tf在python中的实现:
Qt工具箱
一个可视化的工具,里面有多种可视化的工具,基于qt开发。
rqt__console:日志输出工具。
rqt_graph:计算图可视化工具。
rqt_plot:数据绘图工具。
rqt_reconfigure:参数动态配置工具。
Rviz可视化平台
Rviz是一款三维可视化工具,可以很好的兼容基于ROS软件的机器人平台。用于显示数据的,如机器人模型,坐标信息,运动规划,导航,点云,图像,slam等。
- 在rviz中,可以使用可扩展标记语言xml对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述,并且在界面中呈现出来。
- 同时,rviz还可以通过图形化的方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等信息。
- 总而言之,rviz通过机器人模型参数、机器人发布的传感信息等数据,为用户进行所有可监测信息的图形化显示。用户和开发者也可以在rviz的控制界面下,通过按钮、滑动条,数值等方式,控制机器人的行为。
rviz还提供了插件机制,可以提供给我们一种可视化地编程效果。
Gazebo物理仿真引擎
Gazebo是一款强大的三维物理仿真平台。具备强大的物理引擎,高质量的图形渲染,方便的编程与图形接口,开源免费。
gazebo的界面如下图所示:
我们可以通过以下命令启动一个gazebo的空的模型:
roslaunch gazebo_ros empty_world.launch
由于这个模型是放在国外的服务器上面的,我们加载它的话就会比较慢,显示的gazebo就是黑的,没有关系你可以等一会,或者在网上找找别的方法。在这里面我们就可以去添加一个机器人模型。
我们可以在左边添加一些模型:
gazebo本身是一个开源软件。跟ros相比其实是比较独立的。跟ros之间有一个接口,来完成跟ros的连接。
gazebo_ros:主要用于gazebo接口封装、gazebo服务端和客户端的启动、URFD模型生成等。
gazeb_msg:是gazebo的Msg和Srv数据结构。
gazebo_plugins:用于gazebo的通用传感器插件。
gazebo_ros_api_plugin和gazebo_ros_path_plugin这两个gazebo的插件实现接口封转。
如何使用gazebo来进行仿真?
创建仿真环境
配置机器人模型
开始仿真
我们以后再说
我的微信公众号名称:深度学习与先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!