23
2012/03/24 OSC愛媛 @cattaka_net Androidで ロボットアームを 動かして見た 住友 孝郎 @cattaka_net

Androidでロボットアームを動かしてみた(2012OSC愛媛)

Embed Size (px)

DESCRIPTION

ソフトウェア屋さんが頑張ってAndroid動くロボットアームを手作りして見ました。単にアームを動かすのは詰まらないのでQCARを使って座標を特定して掴ませています。これらを通してディベロッパとして感じたことなどのお話です。

Citation preview

Page 1: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

Androidでロボットアームを

動かして見た

住友 孝郎@cattaka_net

Page 2: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

自己紹介

● 住友 孝郎(すみとも たかお)

● twitter : @cattaka_net

● お仕事● 業務系Webシステムやってました● Androidアプリ開発やってます● 株式会社ブリリアントサービス所属

Page 3: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

完全にソフトウェア畑の人です

Page 4: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

やりたかったこと● 実際に動くものが作りたい!

● マイコンとAndroidを組み合わせたい● 画像認識とか画像処理とか

→簡単なところからやってみよう

Page 5: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

作ってみた

Page 6: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

作ってみた

Page 7: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

仕組み● Android

● AndyLibで命令を送信● Arduino

● AndyLibで命令を受信● サーボを制御

● ロボットアーム● 6つのサーボ● 制御用と動作用の2系統の電源

Page 8: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

仕組み● AndyLibで指示しています● Arduinoはサーボへの指示を出すだけ

Android

サーボ3

サーボ4

サーボ5

サーボ6

サーボ1

サーボ2

Arduino

AndyLibでサーボの角度を送信

PWM方式で信号を送信(Arduinoで普通に使える方式)

今のところフィードバックは無し

Page 9: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

ユーザインターフェース● 手動モード

● サーボの数だけシークバーを並べたもの● 自動モード

● QCAR(QualcommのARライブラリ)で座標算出

Page 10: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

DEMO動画● 手動モード● 自動モード

Page 11: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

苦労したこと

Page 12: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

計算がメンドイ・・・● 座標←→角度の双方向の計算が大変● 数式を結んで開いて頑張って数式を導き出す

Page 13: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

作るの大変・・・

Page 14: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

トルクの壁トルクが足りずに上がらない・・・ →大トルクのサーボで対応

Page 15: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

足りない電力● 大トルクのサーボで電力が足りなくなった

● 生まれたての仔馬のようにプルプルする・・

→別系統の電力供給を作って対応

・Arduino用電源入力・サーボ専用電源入力

※残り1本はNexus Oneへ接続

Page 16: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

暴れるアーム● フルパワーで移動&停止してものが吹っ飛ぶ

● 速度の制御をしていないのが原因

→Arduino側で補間する処理を入れた

Page 17: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

安定しない精度● 空振りしたり、土台にぶつけたり、、、● アプリ側で補正値をテンコ盛りにした

→頑張って測量

132mm

114mm

113mm

160mm

Page 18: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

そんなこんなで

掴むことができました

Page 19: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

部品代とか● Arduino Mega ADK

– 7,200円

● サーボ● EMAX ES08D

– 1,000円くらい?(x1)

● ZS-M218

– 1,020円(x2)

● RS304MD

– 2,580円(x2)

● XQ-S3015D

– 5,250円(x1)

● その他材料● 0.5mm厚アルミ版● アクリルパイプ● バルサ角材● 木材

– 全部で3,000円くらい?

合計24,000円くらい…

Page 20: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

使った工具

Page 21: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

まとめ:Androidを使うメリット● マイコンと異なり富豪的プログラミングが可能● QCARやOpenCVといった

高機能なライブラリが使える● Androidならデバッグが楽

● Android側に制御を持ち込めば

Eclipseのデバッガ使える● Arduino側の実装は必要最低限でOK

Page 22: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

YouTubeに動画あります● YouTubeで「cattaka」で検索

Page 23: Androidでロボットアームを動かしてみた(2012OSC愛媛)

2012/03/24 OSC愛媛 @cattaka_net

ご清聴ありがとうございました

住友 孝郎@cattaka_net