最近在用 RT-Thread 做智能车,发现有很多组件其实都是可以抽象出来的,实现只要写一次就好了,这样可以避免大家实现重复的功能。
机器人框架地址:https://github.com/RT-Thread-packages/rt-robot/
项目地址:https://github.com/yqiu2018/chariot_notice/blob/master/README.md
虽然小车有很多:
1. 四轮驱动
![](http://bbs.21ic.com/data/attachment/forum/201907/16/183409hnlqqbkzq7dkz6pf.jpg)
2.神奇的麦克纳姆轮
![](http://bbs.21ic.com/data/attachment/forum/201907/16/183409bd8gnhk85d8h8g35.jpg)
3.小巧的两轮自平衡
![](http://bbs.21ic.com/data/attachment/forum/201907/16/183410g07xj2buxjf7djbi.jpg)
4.两轮差速搭配一个万向轮
![](http://bbs.21ic.com/data/attachment/forum/201907/16/183410dt9odvltlb22xgfg.jpg)
5.画风独特的自平衡自行车
![](http://bbs.21ic.com/data/attachment/forum/201907/16/183411an8vjnvalnjklij4.jpg)
但是其实都是不同电机搭配不同编码器,实现闭环电机控制,然后结合小车动力学模型和传感器信息,实现小车运动的闭环控制。
于是想想可以抽象一个框架出来,包含电机、编码器、动力学模型、PID算法、滤波算法等等,这样通过组合就能做出自己的小车了,大家也不用重复造轮子了,组装轮子就好了。
![](https://www.rt-thread.org/qa/static/image/hrline/line3.png)
现在包含的模块有:
电机:直流电机
编码器:单相编码器
PID:增量式 PID
动力学模型:两轮差分、四轮差分、麦克纳姆轮、Ackerman
遥控器:PS2 手柄
![](https://www.rt-thread.org/qa/static/image/hrline/line3.png)
现在可以用 PS2 手柄闭环控制小车运动了,之后有机会放个视频。 undefined
但是现在还不是很完善,欢迎喜欢做智能车的小伙伴提 PR 一起完善这个框架,之后说不定还可以用到机械臂上面,毕竟都是电机控制。
项目地址: https://github.com/RT-Thread-packages/rt-robot
和同在完成这个项目的小伙伴交流请联系:
![](http://bbs.21ic.com/data/attachment/forum/201907/17/105714hcfccwcclctpwtoa.jpg.thumb.jpg)