ROS2学习记录(7)-参数
参数是ROS机器人系统中的全局字典,可以运行多个节点中共享数据。 比如在机器视觉识别的时候,有很多参数都会影响视觉识别的效果。 在ROS系统中,参数是以全局字典的形态存在的,什么叫字典?就像真实的字典一样,由名称和数值组成,也叫做键和值,合成键值。或者我们也可以理解为,就像编程中的参数一样,有一个参数名 ,然后跟一个等号,后边就是参数值了,在使用的…
ROS2学习记录(6)-动作
动作也是ros2的一种通信机制,目的就是便于对机器人某一完整行为的流程进行管理。 动作就是在下令让机器人完成什么动作时及时反馈,告诉客户端执行到哪一步了,并且让客户端随时可以下令取消动作。 动作和服务类似,使用的也是客户端和服务器模型,客户端发送动作的目标,想让机器人干什么,服务器端执行动作过程, 控制机器人达到运动的目标,同时周期反馈动作执行过程…
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。这是您的第一篇文章。编辑或删除它,然后开始写作吧!