ROS2学习记录(5)-通信接口
通信接口的主要目的就是传输数据,为了高效的建立连接,并且准确包装和解析传输的数据内容,话题、服务等机制也就诞生了,他们传输的数据,都要符合通信接口的标准定义。这些接口看上去像是给我们加了一些约束,但却是ROS系统的精髓所在。 接口可以让程序之间的依赖降低,便于我们使用别人的代码,也方便别人使用我们的代码,这就是ROS的核心目标,减少重复造轮子。 R…
ROS2学习记录(4)-服务
服务是有应答的同步通讯,用于节点间的你问我答。 C/S架构:客户端需要某些数据时向服务器端发送请求,服务器端收到请求后处理并反馈、应答。 同步通讯:服务端收到信息很尽快应答 服务器端唯一,客户端可以不唯一 .srv文件定义请求和应答数据结构 服务器端示例代码如下: import rclpy # ROS2 Python接口库 from rclpy.n…
ROS2学习记录(3)-话题
话题是节点间传递数据的桥梁,用于连接节点,服务于节点间的信号传递。 发布数据的节点为话题的发布者,接受数据的节点为话题的订阅者,是多对多的通讯模型,在多个发布者时需注意订阅者的执行优先级。 话题是一个异步通信机制,发布者处并不知道什么时候被订阅者接收,也不需要等到回应,只管发布(因此不适用于参数修改)。 发布与接受的数据必须符合统一的数据描述格式,…
ROS2学习记录(2)-节点
节点 节点是机器人工作的基本单元,每个节点都是执行具体任务的进程,是独立运行的可执行文件,本身可以使用不同的编程语言。同时也满足分布式的运行,每个节点可以各自部署在不同的硬件设备,甚至云端,具体通过节点名称来管理。 启动节点的方法为,在命令行内运行完source源码后,通过ros2命令的如下语句启动: ros2 run <包名> <…
VM虚拟机内Ubuntu系统断网问题
每隔一段时间后启动VM内安装的Ubuntu,都会出现断网的情况,并且及其难以恢复,原因也不是很清楚。根据很多常规的方法修改虚拟机设置里的网络配置同样无效。 后来参考了一篇华为开发者空间那边的文章,倒是有一段时间可以解决,文章地址如下: 使用VMware Workstation创建的虚拟机无法连接网络解决方法_linux_Type_Francis-华…
ROS2学习记录(1)
工作空间(workspace):存放项目开发相关文件的文件夹,项目的根目录。 工作空间结构如下: src:代码空间(Source Space),源码所在地 install:安装空间(Install Space),代码的编译结果,可执行程序 build:编译空间(Build Space),编译过程产生的中间文件,一般不可读 log:日志空间(Log …
他们说
谁也没有见过风,更别说你和我了。谁也没有见过爱情,直到有花束拋向自己。 惊涛入海觅螭虎,风雪归山斩妖邪。 ——铜雀 对于无法看清眼前道路的人来说,“神之眼”或许是神的一盏明灯。但对于有信念的人来说,只是一个可有可无的奖章罢了。 ——迪卢克 勇气不也是这样吗?一帆风顺的人不会明白它的可贵,可当你身处绝境,勇气就是令你奋起抗争、走出绝境唯一的光。 ——…
世界,您好!
欢迎使用 WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!