推薦一個Github上很酷的開源項目——The Octo-Bouncer

推薦一個Github上很酷的開源項目——The Octo-Bouncer

The Octo-Bouncer

Gitub上的開源項目中,不乏一些軟硬件結合的個人DIY項目,雖然很多都是一個人完成,但不妨礙其可以依然做的很高大上。例如本文推薦的項目: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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章