目標:用攝影機定位輸送帶上的物件,當偵測正確的物品時,利用機械手臂夾持。
硬體設備
- Raspberry Pi model B
- Raspi camera
- 機械手臂
預算
---------------------------------------------------------------
日期:2013 / 12 / 23
由於32路舵機控制器需要用到UART下達指令,我們先安裝 bcm2835 的 C library for Raspberry Pi方便 Pi 週邊的操作。
Refer to C library for Broadcom BCM 2835 as used in Raspberry Pi
今天最後卡在不知道怎麼用PI上的GPIO送出UART訊號,由Console接收。帶明天解決。
<Note>
How about using stm32f4 for servo motor controller ?
Use pwm to control servo, and read UART as commands. Let can be better.
Need a servo motors' power controller (board)
Reference :
---------------------------------------------------------------
2013 / 12 / 25 : 聖誕快樂XD
Today I face the mmal_vc_port_info_set failed ERROR Q_Q
Disappointing for setting raspicam. The problem should be pending and i need dealing with UART stuff.
About GPIO
Refer to GPIO functions
Well, I get something without using bcm2835 but using <termios.h>
Reference :
----------------------------------------------------------------------------------------------------------------------
2013/12/26
舵機測試
- 電壓:1.5 V * 4 = 6 V
- 尚未接 PWM,之後量測Duty cycle與角度關係是否準確
Specs : MG995 Servo
- Weight : 55g
- Stall torque 8.5kg/cm (4.8V) / 10kg/cm (6V)
- Operating voltage : 4.8 ~ 7.2 V
- Dead bandwidth : 5 us
- 金屬齒輪塑膠外殼
這次買的跺機組與支架品質不太好,賣家似乎也不太專業:(
目前組裝為兩個自由度,再加上一個夾持共三個馬達。
底座不能旋轉,因為實際物品跟拍賣圖上不一樣 Orz
這個底座台沒辦法妥當安置Base Servo。
接下來要想辦法從Raspberry Pi 控制手臂,送UART命令到
- 32 Channels Servo Controller
- STM32F4 Discovery
接下來得了解32路控制器。Tomorrow I will focus on servo control with PWM.
----------------------------------------------------------------------------------------------------------------------
2013 / 12 / 30
Well, after two days break, time to get back to the track XD
今天量測了PD12送出的PWM 是否符合預期
----------------------------------------------------------------------------------------------------------------------
2013 / 12 / 30
Well, after two days break, time to get back to the track XD
今天量測了PD12送出的PWM 是否符合預期
- Period :50 Hz ( 20ms )
- Duty Cycle :5% ~ 10 %
讀到Counter的數值也符合預期,應該可以直接用在伺服馬達控制上。
開始 trace RaspiCam + OpenCV的程式。
-----------------------------------------------------------------------------------------
Raspiberry Pi camera 用的是ov5647晶片,參考Specs連結。
Code Trace 的部份正在進行,不過內容太多了寫到另外一篇中,請參考 raspicam-code-review
2014 / 1 / 1
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
在把Code 中的 imshow() 關掉後可以得到 30 fps 的結果(640 * 480 ),這樣的速度還算不錯,不過要進行運算的時候還是需要硬體上的加速,接著得研究ARM提供的NEON了。
Reference :
Maybe it should be halted!!
< Robot Arm Controller Note >
In main: serial_msg rx_msg;
In sys_manager: xQueueHandle serial_rx_queue;
In main : serial_rx_queue = xQueueCreate(1, sizeof(serial_msg));
今天改裝了手臂,買了小零件讓底盤可以轉動
接下來需要一個配電的電路板(可能來不及作穩流電路了),所以選用電池時先不考慮鋰電池了。
It is probably useful : Intro of OpenVG
2014 / 1 / 3
--------------------------------------------------------------------------------------
將收到的 usart message 堆在 queue 中,接著透過這個函式送回來。
xQueueSendToBackFromISR()
2014 / 1 / 10
--------------------------------------------------------------------------------------
代辦事項
Reference :
Maybe it should be halted!!
< Robot Arm Controller Note >
In sys_manager: xQueueHandle serial_rx_queue;
In main : serial_rx_queue = xQueueCreate(1, sizeof(serial_msg));
今天改裝了手臂,買了小零件讓底盤可以轉動
小盤有四個螺絲孔,順利的鎖上支架,成為手臂裡最牢固的一個零件XD
為了讓中柱可以穩固,中間加上了墊片,鎖到伺服馬達的中心上。
側視圖 |
目前手臂的外觀 |
It is probably useful : Intro of OpenVG
2014 / 1 / 3
--------------------------------------------------------------------------------------
將收到的 usart message 堆在 queue 中,接著透過這個函式送回來。
xQueueSendToBackFromISR()
2014 / 1 / 10
--------------------------------------------------------------------------------------
代辦事項
測試相機修改一些多餘的程式碼,希望可以讓 640 * 480 大小下達到 30 fps 的水準- 研究NEON,利用SIMD加速運算
- 經過 Macron 的提醒,可以嘗試開啟GPU,加速影像方面的計算
- 他說可以開到1080p彩圖,資源消耗 ~ 30%
- 將Raspbian 中不必要的程式刪除,最後留下(~20KB,不太記得了)的網路與影像套件
- 試著加入Optical flow ,一方面測試利一方面作為之後專題使用
- 完成 STM32F4 的 USART 接收功能(接近完成,希望能加上RTOS的Queue)
- 海報照片和圖片
- USB update
- 怎麼量測封包與電源??@@
- 查詢 550 mA 的電流上限
沒有留言:
張貼留言