ROS中rosserial的使用指南
1. rosserial简介
rosserial是一个用于将ROS消息、主题和服务转换为可在串行通信中使用的包。通常,微控制器使用如UART这样的串行通信,而不是ROS默认使用的TCP/IP通信。因此,为了实现微控制器和使用ROS的计算机之间的消息通信,rosserial需要为每个设备解释消息。
在这个通信架构中,运行ROS的PC作为rosserial服务器,连接到PC的微控制器则成为rosserial客户端。服务器和客户端都使用rosserial协议发送和接收数据,任何能够发送和接收数据的硬件都可以使用。这使得在微控制器常用的UART通信中使用ROS消息成为可能。
例如,当连接到微控制器的模拟传感器读取数据,并将模拟值转换为数字值后传输到串行端口时,计算机的 rosserial_server 节点会接收这些传感器数据,并将其转换为ROS中使用的主题。反之,如果 rosserial_server 节点接收到来自其他节点的电机控制值作为主题,它会将该值转换并以串行格式发送到微控制器,以控制连接的电机。
需要注意的是,对于包括单板计算机(SBC)在内的普通计算机,rosserial无法保证实时控制。然而,使用微控制器作为辅助硬件控制器可以实现实时控制。
2. rosserial服务器
PC端的rosserial服务器是一个节点,它使用rosserial协议在嵌入式设备和运行ROS的PC之间进行通信中继。目前,根据实现的编程语言,最多支持三个节点:
- rosserial_python
ROS中rosserial使用指南及示例
超级会员免费看
订阅专栏 解锁全文
144

被折叠的 条评论
为什么被折叠?



