基于顶配版阿克曼常规型摆式悬挂ROS小车
1、python编写串口通信,使用pyserial库,串口读取编码器和imu数据
数据读取的问题
read_all()
readline()
readlines()
read(24) 最终使用此函数,stm32以20Hz频率发送数据,一帧数据为24字节。
使用read(24)函数可以避免在控制电机转动的时候,再加以转向控制时数据暂停接收的情况。
Python serial串口通信read(24)函数解决给予转向命令时数据返回暂停问题_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1ve4y1R7xu?spm_id_from=333.999.0.0&vd_source=a57e0057bc2f5f2f63b6b1d473bed0e2
数据转换的问题
msg变量数据:
解决:
for key in msg:
a = hex(key)
2、航迹推算通过python实现
数据计算的问题
提取到的16进制字符串(0x _ _)会出现长度不为4的情况,要做一个数据补齐,统一长度为4,否则后面数据计算及方向判断时,计算会出问题。易忽略。
if len(a) != 4:
a = a[0:2] + "0" + a[2]
a_list.append(a)
通过上面读取的每一帧数据做航迹计算,未加数据优化,直接对原始数据进行计算,视频结果演示
航迹推算定位无人车实拍_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1pa411n7Po?spm_id_from=333.999.0.0航迹推算程序定位数据采集_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV16B4y1e7XJ?spm_id_from=333.999.0.0&vd_source=a57e0057bc2f5f2f63b6b1d473bed0e2一些数据:



