ROS节点编程serial连接小脑
usb接口名称和权限问题
不同的usb设备接入计算机,usb的编号会改变。就如同usb转串口接入win的时候,com号也会变一样。
rplidar下有个script目录。里面有个固定usb编号的一个软连接
usb权限的问题:
sudo chmod 666 ttyUSB0
不同的usb设备的硬件编码和产品编码是不一样的,可以用指令 “lsusb -vvv” 查找 “idVendor”和“idProduct”
创建rplidar.rules文件,输入以下命令。然后把文件产品cp到 /etc/udev/rules.d/目录下即可完成固化
kernel=="ttyUSB?",ATTRS{idVendor}=="10c4",ATTRS{idProduct}=="ea60",
MODE="0666",SYMLINK+="rplidar"
Linux串口编程
ROS节点参数
“~”,传参的对象。
数据协议解析
跟底层的收发协议要一致。
发布里程计消息
- 接收小脑数据
- 按数据协议发布msg消息到ros通信网络
读取串口消息,根据消息类型tyoe,来用对应是数据结构进行接收。然后publish到上层ros通信网络中 - 接收/cmd_vel消息
- 从串口发送到小脑数据
需要一个订阅cmd_vel消息的subscriber,然后把cmd_vel消息通过串口发送到小脑