https://www.bilibili.com/video/BV1Rv411F7nQ/
stm32:https://gitee.com/FFD8/STM32F100RBT_robot.git
悟空派:
大家好,我是FFD80。很高兴能够在这里和大家分享一些关于我使用悟空派H3开发板构建全向轮小车的试用经验。
前段时间有幸在电子发烧友william hill官网 申请到了悟空派H3 Zero开发板。
悟空派是一款开源的单板卡片电脑,新一代的Linux开发板,它可以运行Linux、Ubuntu和 Debian 等操作系统。悟空派H3 Zero开发板使用全志H3 系统级芯片,同时拥有 256MB/512MB DDR3 内存。
该款开发板不仅仅是一款消费品,同时也是给任何想用技术来进行创作创新的人设计的,是一款非常简单、有趣、实用的工具,可以用它去打造我们身边的世界。在这次试用中,我将向大家展示这个强大的开发板的一些关键特性以及我是如何利用它来打造一个全向轮的小车的。
本次设计的全向轮小车是在一个圆形底盘上安装了三个带有反馈编码器的全向轮,控制中心是悟空派H3开发板,基于ROS系统通过键盘将速度指令下发到小车底盘上的STM32控制器。STM32负责驱动全向轮小车的运动,并将实时的速度数据反馈回ROS系统。
这种设计使得小车具备了高度的机动性和精准的运动控制。通过悟空派H3和ROS系统的协同工作,我们能够远程操控小车,实时获取行驶里程数据,并在复杂的环境中灵活导航。
在接下来的视频中,我将详细展示这款全向轮小车的详细设计和性能表现,以及如何利用悟空派H3和ROS系统进行控制和数据反馈。
1块悟空派H3,做为小车的控制大脑。
1块stm32f100RBT6,用来接收悟空派H3下发的速度,并控制电机按照指定速度运动,同时反馈各电机转速。
1块底盘,3个带编码器的减速电机,可以反馈实时转速。
2个电机驱动L298N
1块12V电源
1个DC-DC转5V模块
在悟空派H3安装ROS系统,并创建两个节点:键盘输入检测节点keypad_control和底盘控制节点chassis_driver。
keypad_control节点 ,实现键盘输入检测及速度发布,例如按下w按键时,发布0.05m/s的整车速度到chassis_driver节点,每次按下增加0.05m/s的速度。
功能 | 按键 | 值变化 |
---|---|---|
前进 | w | vx增加 |
后退 | s | vx减小 |
左转 | q | vw增加 |
右转 | e | vw减小 |
左横移 | a | vy增加 |
右横移 | d | vy减小 |
刹车 | space空格 | 全部归0 |
chassis_driver节点 ,订阅keypad_control发布的控制速度,根据三轮模型解算各全向轮的速度,通过串口使用modbus-rtu协议进行速度下发,里程反馈和计算等。
串口通信使用:
三轮模型:
在stm32使用freertos系统,创建3个任务。task1:实现固定时长闪烁的心跳灯。task2:接收悟空派下发的速度数据并解析。task3:电机速度pid控制及实时转速反馈。
接线定义如下:
键盘控制:前进,后退,原地左转,原地右转,左横移,右横移
里程计算:
悟空派H3开发板在ROS系统下构建全向轮小车的试用中表现出色。
其强大的硬件性能、ROS支持和控制操作性能使其成为机器人开发的理想选择。尽管存在一些潜在的不足之处,但总体来说,这是一款出色的产品,适合各种机器人项目的开发者和爱好者。
整体功能的介绍到这里就结束了,后续我会不断完善功能,持续探索。再次感谢电子发烧友平台和芯凯达科技,感谢各位观看,谢谢!
更多回帖