jacky_chi 的作品集
2016年10月13日 星期四
使用 realtek ameba 來驅動兩輪平衡車
Demo 影片如下:
https://www.youtube.com/watch?v=fOHRcL6lwD4
大致上的系統和無人機很像...但是比較簡單..
藉由ameba 透過i2c 去讀取 mpu6050 的資料
然後利用軟體的演算法計算出角度...
假設車子往前倒.... 這時候就可以藉由角度來得知
然後透夠PID的方式來得到該補多少的油門...
其實就是一個negative-feedback的系統
OpenGL + adxl345 + rpi -> 藉由adxl345來轉動你的茶壺
用adxl345 sensor 可以讀出來 x, y, z 的加速度....
因為地球有重力加速度(垂直往下)....
整套系統就是用 Rpi 去讀取 adxl345 來獲得x,y,z方向的加速度
藉由數學的公試計算出來角度...
然後使用Rpi 的gpu 硬體去畫 3D的茶壺...並且根據 adxl345 所量測出來的角度來使他旋轉
demo 的影片在下面的連結
demo video: https://www.youtube.com/watch?v=O3V-0z6UWF0
下面的圖片是 adxl345 的模組
因為地球有重力加速度(垂直往下)....
整套系統就是用 Rpi 去讀取 adxl345 來獲得x,y,z方向的加速度
藉由數學的公試計算出來角度...
然後使用Rpi 的gpu 硬體去畫 3D的茶壺...並且根據 adxl345 所量測出來的角度來使他旋轉
demo 的影片在下面的連結
demo video: https://www.youtube.com/watch?v=O3V-0z6UWF0
下面的圖片是 adxl345 的模組
自製四軸無人機...使用Rpi + Arduino
Demo 影片如下:
https://www.youtube.com/watch?v=5V164VS6Dmk
大致上的系統是用 Rpi + arduino + ESC + mpu6050
arduino 去接收遙控接收器的輸出... 得到 油門和tilt 和 pan 和 role 的pwm value...
然後透過spi 的 protocol 傳送給Rpi...
rpi 會利用i2c 去讀取mpu6050 來取得 六軸的資料
計算出姿態後....再計算出各個馬達要轉動的pwm 數值後....再透過spi 的方式傳送給 arduino
讓arduino 去驅動ESC(電子變速器)
這種架構的精神是...萬一Rpi 的計算不是Real-time....由於arduino 沒有os的干擾...還是
可以根據之前的數值來使得飛機穩定
神魔之塔_物理外掛
起因是看到這篇文章
https://www.youtube.com/watch?v=gMySGU0J7Ss
覺得這個網友真是太強大了...太牛逼了.....
所以就來做吧
一開始我們是先用 rpi 來打造 prototype....
攝影機是買羅技的C310.... 然後採用 rpi3 來當作處理器.... 至於機構則是用這台
https://world.taobao.com/item/45674397950.htm?fromSite=main&spm=a312a.7700846.0.0.ObHdmq&_u=v2bnm38c3a30
驅動機台是用arduino 當作控制器....
這邊是我們的Demo 影片... 由於我們後來也有移植到android 系統上...所以有兩個版本的demo
android : https://www.youtube.com/watch?v=_igjvJaxMZ8
rpi : https://www.youtube.com/watch?v=yaF_8Ga6jjo
===============================================================
然後整個系統主要是分成3個部分...
1. 電腦視覺
2. 轉機演算法
3. 機構驅動
============================================================
電腦視覺:
這邊大概就是install opencv... 然後從 video_device 擷取照片...
然後利用原本已經存在資料庫的圖片進行比對... 可以參考下圖
最主要是利用templatematch ()這個api 來進行比對.....
在這個步驟完...可以得到一個 2D array ... 然後裡面代表每個格子的珠號...例如: 紅色機子是1
號, 黃色珠子是4號....紫色珠子是5號...等等...
===========================================================
轉珠演算法:
請看下面這張圖片最主要是靠BFS 的演算法來計算有幾個combo.. 就是圖中的分數演算法.....
利用BFS可以找到這條路徑上所有的點的特性....
得到分數最高的路徑之後....就可以準備計算路徑並且生成G code
=================================================================
機構驅動
大概的做法就是如上面這張圖所示...... 利用Grbl 的G code format 來傳送命令...
ex: G0 x300 -> 往x軸的正方向移動300mm.....
====================================================================
如果有任何問題...歡迎寫信給我... jacky.chi.0328@gmail.com
訂閱:
文章 (Atom)