推荐一个Github上很酷的开源项目——The Octo-Bouncer

推荐一个Github上很酷的开源项目——The Octo-Bouncer

The Octo-Bouncer

Gitub上的开源项目中,不乏一些软硬件结合的个人DIY项目,虽然是很多都是一个人完成,但不妨碍其y可以依然做的很高大上。例如本文推荐的这个项目The Octo-Bouncer。

先来一段视频。

pingpong.mp4

作者从有idea到真正实现整整花了5年时间,包括机构、硬件、软件、算法、显示、上位机、仿真等等都是自己一步步的DIY出来。

零部件清单

控制器:1x Teensy 4.0 Microcontroller running this code
电机驱动:4x StepperOnline DM442S stepper motor drivers
执行机构(步进电机):4x Nema 17 Stepper Motors with 5:1 planetary gearbox
电源:1x 48V 8A power supply
摄像头:1x e-con Systems See3CAM_CU135 camera
PC和OpenCV:1x Windows Computer with OpenCV installed on it
机构CAD:连接
仿真软件:This custom Windows Application (made with Unity)

主频600MHz的Teensy 4.0控制器

步进电机和驱动器

成品

原理介绍

首先通过摄像头拍摄乒乓球的运动状态,通过PC端的OpenCV进行图像处理和解算捕捉到的乒乓球的运动姿态和相对位置,并通过运动计算、PID计算等将执行命令通过串口发送到微控制器,由Arduino 微控制器去控制电机驱动版(升压提功率)驱动电机工作,从而保证乒乓球落在板子中心位置。

在这里插入图片描述
事实上这里的微控制器承担的工作较为简单,主要是接收PC端的控制指令对电机驱动进行控制。而大部分的感知和计算与控制算法都是PC机承担了。

PC机首先要具备处理120 FPS 640×480 的图像数据,识别乒乓球的3D位置,计算乒乓球速度,并通过PID算法计算板子的斜度校正值,执行Inverse Kinematic来计算出电机旋转的角度,最后通过串口发送到微控制器。

微控制器主要做两件事:1 接收PC机指令;2 产生相应的不仅脉冲。

是不是既有那么点像四旋翼又有点像倒立摆?

关于结构件

所有的结构件都是铝制。结构间的好坏直接影响执行效果,如果加工误差大,算法再好也很难弥补,所以这部分工作其实占据了作者较多的时间。作者用的是一台微型cnc来完成所有结构件的制作,为了控制噪声还特地还特地加装了消声装置。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后放出小哥的个人博客和GitHub地址:
博客: https://electrondust.com/2020/03/01/the-octo-bouncer/
Github地址: https://github.com/T-Kuhn

发布了41 篇原创文章 · 获赞 85 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/zhoucoolqi/article/details/105309472