栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

项目-移动机器人的定位与导航

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

项目-移动机器人的定位与导航

基于顶配版阿克曼常规型摆式悬挂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一些数据: 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011926.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号