- 博客(14)
- 收藏
- 关注
十六届双车接力组国奖-直立车 完整代码
双车接力组,具体任务是需要做出两辆不同的车,一辆两轮的直立平衡车,另一辆是有一个从动轮的三轮车。需要实现接力任务。 我负责的主要是直立平衡车的软件任务,包括数据处理、控制算法和图像处理算法,然后也负责了双车的传接方案、参与了机械结构的搭建。
这代码逻辑包括平衡车控制系统的设计与实现,涵盖姿态与速度控制以及转向控制的两大部分(这里图像算法使用的是灰度方法并非大津法)。
在姿态与速度控制中,首先通过ICM20602陀螺仪获取三轴角速度与加速度数据。通过对加速度数据归一化,将车模倾角映射到0~90°范围内。由于传感器数据中存在噪声,使用一阶互补滤波方法进行数据融合。该方法通过高通与低通滤波器的组合,在不同频段上融合加速度计与陀螺仪的数据,得出更准确的角度值。
接下来,代码实现了PID控制策略。单环角度控制无法应对扰动,因此采用了串级PID控制方法。串级PID通过内外环的配合,提高系统对扰动的敏感度与响应速度。姿态调整模块引入了速度环、直立角度环、陀螺仪俯仰角速度环三层控制器,外环负责角度控制,内环则通过调整角速度来抑制干扰。串级控制大大提高了系统的稳定性和抗干扰能力。
在转向控制部分
2024-09-14
21年电赛F题(送药小车)国奖代码
本组按照题目的基本要求和发挥部分制作了两辆智能送药小车。两辆小车均
为三轮车,主控均为MM32F3277,使用 MT9V034 灰度摄像头采集图像,利用灰度图像处理以及边缘跟随算法识别红色中线实现小车的循迹,通过采集陀螺仪转向轴信息,使用串级PID 实现小车转向的精确控制。使用部署了 TensorFlow Lite 卷积神经网络的OpenART 摄像头模块识别路口处放置的数字,根据识别结果分析小车需要行驶到的具体病房位置,并将病房位置转化为具体的前进和方向控制指令回传到单片机,由单片机控制可以准确地完成任务,对于发挥部分赛题,两车之间使用无线串口模块进行通讯,实现协同送药。小车上的硬件设备包括一块集成了单片机最小系统板和传感器的线性稳压电路,双电机驱动电路和各种传感器接口的自制主板,MT9V034 摄像头模块,OpenART 摄像头模块,编码器,icm20602 六轴陀螺仪加速度计模块,无线串口模块,红外线对管模块等,经过对以上模块的反复实地调试,实现了对送药过程的准确控制。
2023-03-30
各种Python路径规划算法(Dijkstra、Astar、D-star、RRT、RRT-connect、LPAstar等)
搜索类的算法
Dijkstra、 Astar、 D_star、 D_star_Lite、Anytime_D_star 、LPAstar、ARASTAR 、Best_First 、LRTAstar等
采样类的算法
RRT、RRT_connect、rrt_sharp、rrt_star、rrt_star_smart、informed_rrt_star、fast_marching_trees、fast_marching_trees、advanced_batch_informed_trees等
2022-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅