The Octo-Bouncer:GitHub上高精DIY项目,5年心血集成软硬件

1 下载量 184 浏览量 更新于2024-08-28 1 收藏 1.31MB PDF 举报
"The Octo-Bouncer" 是一个在GitHub上非常酷的开源项目,它将软硬件设计巧妙融合,展示了个人DIY项目的高度创新和复杂性。该项目由一位开发者独自完成,历时五年,涵盖了从构思到实施的各个环节,包括机构设计、硬件开发、软件算法、视觉识别、上位机控制以及仿真技术。 项目的核心组件包括: 1. 控制器:使用1个Teensy 4.0微控制器,负责接收PC的控制指令并控制电机驱动。 2. 电机驱动:4个Stepper Online DM442S步进电机驱动器,驱动4个Nema17步进电机,配备5:1行星齿轮箱提供动力。 3. 执行机构:4个带行星齿轮箱的Nema17步进电机,用于精确控制乒乓球的位置。 4. 电源供应:1个48V 8A的电源,为整个系统提供电力。 5. 摄像头:e-con Systems See3 CAM CU135相机,负责实时监控和捕捉乒乓球运动。 6. PC和OpenCV:一台装有OpenCV的Windows计算机,负责图像处理、识别和运动分析。 7. CAD设计:项目中涉及机构的详细设计和模拟,使用Unity开发的定制应用程序进行仿真。 项目的原理是基于摄像头捕获乒乓球的运动,通过OpenCV进行图像分析,计算出乒乓球的位置和速度。然后,PC利用PID算法调整板子的倾斜度,并通过逆运动学计算出每个电机所需的精确角度,将这些指令通过串口发送给Teensy控制器。控制器再将接收到的指令转化为电机动作,确保乒乓球始终落在指定位置。 这个设计类似于四旋翼无人机的控制逻辑,也包含了类似倒立摆的动态稳定机制。其结构件设计既考虑了机械的精密配合,又兼顾了电子控制的灵活性,体现了高级DIY项目的精髓。通过"The Octo-Bouncer"项目,我们可以看到一个完整的技术栈应用,从传感器输入到机器人的精确动作,展现了个人在开源社区中的创新能力和技术实力。