通信方式

串口通信-用于板间 彼此都有发送/接收/接地,数据帧包括“起始位+数据位+校验位+停止位”,全双工

I2C通信-寻址线+数据线,谁都可以当主机,是半双工通信方式,用于线少低速,板间通信

SPI通信-通过片选线锁定对象,时钟线+主出从入线+主入从出线,是全双工,板间高速传输,如音视频

开发环境搭建

1.开发平台              —— VS  +  PlatformIO插件 + Serial Monitor插件
2.开发方式              —— Arduino开发(✔)    库函数开发(❌)      寄存器开发(❌)   
3.主控单元              ——Fishbot驱动控制板 + ESP32单片机
4.传感装置              ——编码器 + 激光雷达

机器人控制系统实现

需要先把WIFI调通,并且执行Agent结点用于统一上下文结点

任务一:机器人能按给定的速度执行

收到上位机传来的(V,W命令)
运动学逆解成轮速(Vl,Vr)
根据电机参数取频占(80%)
用编码器数据算当前速度
用PID来稳定到目标速度
根据速度计算里程计数据

任务二:机器人能实时反馈自身位置

雷达采集原始数据(无法显示的那种)
通过WIFI转接板发送
上位机程序将WIFI数据转换为串口格式
串口的数据转化为接口形式(可以显示)
雷达数据一方面用于RVIZ建图使用,另一方面给AMCL算法使用
AMCL算法计算map->odom坐标变换
里程计测距模块计算odom->base_link
URDF+robotpublisher结点发送其它静态TF

如此以来就可以稳定了
 

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐