ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件(下)

简介: ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件(下)

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等。

  1. 在rviz中,可以使用可扩展标记语言xml对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述,并且在界面中呈现出来。
  2. 同时,rviz还可以通过图形化的方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等信息。
  3. 总而言之,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

公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
1月前
|
存储 Ubuntu 网络安全
|
6月前
|
Ubuntu 应用服务中间件 nginx
如何在 Ubuntu 操作系统上重新启动 Nginx?
如何在 Ubuntu 操作系统上重新启动 Nginx?
313 0
如何在 Ubuntu 操作系统上重新启动 Nginx?
|
3月前
|
Ubuntu Unix Linux
Linux 学习笔记一: 常见操作系统相关概念
Linux 学习笔记一: 常见操作系统相关概念
Linux 学习笔记一: 常见操作系统相关概念
|
8月前
|
缓存 Linux 应用服务中间件
计算机操作系统学习笔记(11)——零拷贝
计算机操作系统学习笔记(11)——零拷贝
52 0
|
4月前
|
Ubuntu Linux 开发工具
Linux操作系统Ubuntu 22.04配置Visual Studio Code与C++代码开发环境的方法
Linux操作系统Ubuntu 22.04配置Visual Studio Code与C++代码开发环境的方法
129 1
|
4月前
|
存储 Ubuntu Linux
虚拟机VMware Workstation Pro中配置Linux操作系统Ubuntu的方法
虚拟机VMware Workstation Pro中配置Linux操作系统Ubuntu的方法
|
4月前
|
程序员 Linux
不愧是华为内部的“操作系统学习笔记”,一篇说细节,一篇讲哲学
当然重要,身为程序员的我们,那更应该深刻理解和掌握操作系统,虽然我们日常 CURD 的工作中,即使不熟悉它们,也不妨碍我们写代码,但是当出现问题时,没有这些基础知识,你是无厘头的,根本没有思路下手,这时候和别人差距就显现出来了,可以说是程序员之间的分水岭。
|
5月前
|
传感器 机器人 C++
机器人操作系统ROS 编程开发--详细总结
最近工作涉及到自动驾驶的,需要学习ROS,学习中总结了一些知识点,分享给大家。 机器人操作系统ROS,是一种分布式处理框架(又名Nodes),ROS常用C++和python编程语言开发;(这里项目开发采用C++ 11版本)。ROS的点对点设计以及服务和节点管理器等机制,可以分散由计算机视觉和语音识别等功能带来的实时计算压力,能够适应多机器人遇到的挑战。ROS免费并且开源。
326 0
|
7月前
|
Ubuntu Linux 数据安全/隐私保护
安装Ubuntu Linux 操作系统(以Ubuntu20.04为例)方法1
安装Ubuntu Linux 操作系统(以Ubuntu20.04为例)方法1
367 1
|
7月前
|
编译器 调度 C语言
【学习笔记】小 O 带你掌握操作系统的心跳 - OneOS 内核启动
一、简介 内核启动介绍了整个系统从硬件上电如何一步步进入用户程序的过程。一般情况下,启动过程分为硬件上电,首先运行和体系架构相关的启动汇编文件,进行一些最基本硬件的初始化 (例如 CPU 配置,时钟,栈地址,RAM 等),为内核运行铺垫好环境,然后初始化内核各模块 (例如调度器,定时器等),接着创建系统任务 (例如空闲任务) 和用户任务,最后启动调度和运行用户程序。
84 0

热门文章

最新文章