1、需求

在使用ROS的过程中,我们常常需要在应用中获取某个或者整体的tf树,或者发布某个frame与某个节点之间的transform关系。

2、发布transforms

// 1. 引入头文件
#include <tf/transform_broadcaster.h>
// 2. 创建TransformBroadcaster对象
tf::TransformBroadcaster br;
// 3. 创建Transform对象
tf::Transform transform;
// 4. 给tranform填入目标值
transform.setOrigin(tf::Vector3(x, y, 0.0));
tf::Quaternion q;
q.setRPY(0, 0, 0);
transform.setRotation(q);
// 5. 将Transform填充到StampedTransform对象中,并使用Broadcaster发布StampedTransform话题,
br.sendTransform(tf::StampedTransform(transform, ros::Time::now(), "/parent_id", "/child_id"));

一、Git是什么?

Git是目前世界上最先进的分布式版本控制系统。

工作原理 / 流程:

img

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

1、什么是ROS?

The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source.

ROS是完全开源的机器人操作系统,具有一套完整的软件库和工具,使用比较完善的数据报格式和通信方案。由于它的完全开源,在机器人领域中被广泛使用,使用ROS提供的软件库能够实现不同硬件的互相通信,同时,ROS还是一个天然具有分布式特性的操作系统,多台计算机上部署ROS可以通过其中一台指定为MASTER即可实现互联。

Linux很有效的命令

1. man

xFL0KJ.png

Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。同时也可以使用man man 查看man的使用方法。

1、需求起因

一般情况下,很少需要同步订阅多个话题,只需要订阅单个话题实现逻辑处理即可。但最近需要研究一个端到端的图像信息和控制输出的神经网络的学习,因此需要将三个图像和控制输出进行一个同步回调。所以才有了同步回调的需求,下面是此次需求解决的小笔记。

2、同步回调机制——Time Synchronizer

Time Synchronizer根据多个传入消息的时间戳进行同步,从而实现调用同一个回调函数的目的。下面是ROS wiki的一个例子:

1、Qt tools

  • rqt_console: 日志输出工具
  • rqt_graph: 计算图可视化工具
  • rqt_plot: 数据绘图工具
  • rqt_image_view: 图像渲染工具

2、rosnode

节点相关的查看和操作命令

  • list :列出所有节点名
  • ping:测试节点的连接情况
  • info:打印节点的信息
  • machine:显示正运行在一个特定机器上的节点列表或者显示机器的列表
  • kill:关闭一个运行中的节点
  • cleanup:清除一个未被调用的节点的信息

👏 欢迎使用 Gridea
✍️ Gridea 一个静态博客写作客户端。你可以用它来记录你的生活、心情、知识、笔记、创意... ...