Bootstrap

用悟空派全志H3开发板做一个基于ROS系统的全向轮小车

悟空派是一款开源的单板卡片电脑,新一代的Linux开发板,它可以运行Linux、Ubuntu和 Debian 等操作系统。悟空派H3 Zero开发板使用全志H3 系统级芯片,同时拥有 256MB/512MB DDR3 内存。

在这里插入图片描述
在这里插入图片描述

该款开发板不仅仅是一款消费品,同时也是给任何想用技术来进行创作创新的人设计的,是一款非常简单、有趣、实用的工具,可以用它去打造我们身边的世界。在这次试用中,我将向大家展示这个强大的开发板的一些关键特性以及我是如何利用它来打造一个全向轮的小车的。

在这里插入图片描述

在这里插入图片描述

2、产品设计介绍

本次设计的全向轮小车是在一个圆形底盘上安装了三个带有反馈编码器的全向轮,控制中心是悟空派H3开发板,基于ROS系统通过键盘将速度指令下发到小车底盘上的STM32控制器。STM32负责驱动全向轮小车的运动,并将实时的速度数据反馈回ROS系统。

这种设计使得小车具备了高度的机动性和精准的运动控制。通过悟空派H3和ROS系统的协同工作,我们能够远程操控小车,实时获取行驶里程数据,并在复杂的环境中灵活导航。

在接下来的视频中,我将详细展示这款全向轮小车的详细设计和性能表现,以及如何利用悟空派H3和ROS系统进行控制和数据反馈。

3、详细设计

在这里插入图片描述

硬件准备:

1块悟空派H3,做为小车的控制大脑。

1块stm32f100RBT6,用来接收悟空派H3下发的速度,并控制电机按照指定速度运动,同时反馈各电机转速。

1块底盘,3个带编码器的减速电机,可以反馈实时转速。

2个电机驱动L298N

1块12V电源

1个DC-DC转5V模块

软件控制方案:

在这里插入图片描述

悟空派H3侧:
在悟空派H3安装ROS系统,并创建两个节点:键盘输入检测节点keypad_control和底盘控制节点chassis_driver。

keypad_control节点 ,实现键盘输入检测及速度发布,例如按下w按键时,发布0.05m/s的整车速度到chassis_driver节点,每次按下增加0.05m/s的速度。

chassis_driver节点 ,订阅keypad_control发布的控制速度,根据三轮模型解算各全向轮的速度,通过串口使用modbus-rtu协议进行速度下发,里程反馈和计算等。

串口通信使用:

在这里插入图片描述

三轮模型:

在这里插入图片描述

stm32侧:

在stm32使用freertos系统,创建3个任务。task1:实现固定时长闪烁的心跳灯。task2:接收悟空派下发的速度数据并解析。task3:电机速度pid控制及实时转速反馈。

接线定义如下:

在这里插入图片描述

程序流程图:

在这里插入图片描述

4、功能演示

键盘控制:前进,后退,原地左转,原地右转,左横移,右横移

里程计算:

5、总结

悟空派H3开发板在ROS系统下构建全向轮小车的试用中表现出色。

其强大的硬件性能、ROS支持和控制操作性能使其成为机器人开发的理想选择。尽管存在一些潜在的不足之处,但总体来说,这是一款

;