まずラジコンの話↓
先週どうにかxbeeが使えるようになったのでラジコンでも作ってみた(有給2日取って)。
同僚「ラジコン作ったんだって?」
筆者「おう!テンション上って動画まで撮ってきたぜ!!」
同僚「マジかよ見せて」
筆者「もちろん!」
↓
同僚「え・・・ああ、なんか微妙だな・・・」
筆者「そうか、まあこんなもんだよ実際・・・(´・ω・)」
しょうがないよね。単三電池4本でArduinoとxbeeとDCモータ2つ動かしてるからね(´・ω・)
〜材料〜
タミヤのキット(これ)の下半分
Arduino uno
xbee ZBのやつ
モータドライバ(TA7291P)✕2
ブレッドボード
電池ボックス、単三✕4
100均の使い捨てお弁当箱
ジャンプワイヤ✕多分14本くらい
〜操作インターフェース(上の動画はこれで操作してた)〜
2本のスライダで前後と左右(回転)を制御する極めて洗練された(必要な機能まで削ぎ落した)インターフェース。
・一旦止まらないと曲がれない酷い仕様。
・PWMで速度は無駄に細かく(最大1024段階)調整できる。
上半分はテスト用のGUIなので今回の話とは無関係
ラジコンの話 〜おわり〜
過去に作ったopencvのプログラム(過去記事)にラジコン操作プログラムをぶち込んで、
特定の指の状態のとき上のインターフェースのスライダの値を変化するようにしてみた。
手の形:動作
パー:前進
親指曲げたパー:後退
グー:停止
チョキ:左回転(回転は人差し指基準に左右の指を立てるイメージ)
指でっぽう:右回転
でやってみた結果、当然ながら成功。ラジコンの動きは上の動画と同じで、手の認識は過去記事と同じ。気分は超能力者 (´д`)ノシ ミ凸
これでとりあえず、カメラ→PCで画像処理、判断→無線→Arduino→モータの流れが実装出来た。
しばらくはコードの最適化、高速化(一部をboost.pythonでC++にしただけでフレームレートが5fps増えた) でもやりながら、機械学習やら制御やらを勉強する予定。
〜おわり〜
0 件のコメント:
コメントを投稿