ROS系列——如何把ROS和STM32之间联系起来
本节内容包括如何实现ros主控和stm32之间的通信,以及ros主控对stm32发送的数据做了哪些处理
一. 两种控制器的功能
1.1 ROS主控实现的功能
①雷达信息采集
②摄像头信息采集
③路径规划
1.2 STM32控制器实现的功能
①里程计信息采集(odom)
②陀螺仪信息采集(imu)
③电机控制
1.3 通信内容
ros主控负责接收STM32发送过来的传感器数据,包括里程计imu和电池电压等数据,告诉运动底盘目标的运动速度,STM32控制器实现ros主控发送的命令
二. 硬件连接
为什么有电平转换芯片:两个控制器之间的通信层次逻辑是不同的,所以需要一个逻辑转换芯片,可以理解为两个主控为母语不同的两个人,电平转换芯片就是翻译官
三. 软件设置
①更改CP2102芯片的serial
CP21xx Customization Utility .exe
②创建设备别名
wheeltec_udev.sh
创建设备别名:在运行ros程序的时候,需要提供一个端口名,一般为ttyUSBx,设备每次插拔对应的端口名都会不一样,所以需要创建一个设备别名将端口名固定住
四. wheeltec_robot.cpp文件
构造函数和析构函数是类的一种特殊成员函数,构造函数会在每次创建类的新对象时执行,析构函数会在每次删除所创建的对象时执行,即运行文件时,会先执行一次构造函数,关闭文件时会执行一次析构函数