Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

open manipulator で遊ぶ その2:最初のアプリケーション

前回に続いて、今度は最初のアプリケーションを実装するところまでやります。
初回はシャレにならない程面倒なので、腰を据えてやる必要があります。

実際のところ

macOSでやります。

おおまかなフロー

  • Arduino IDEを入手
  • Arduino ボードライブラリにOpenCRを追加(20分ほどかかる)
  • OpenCRにOpenManipurator chain用ライブラリを導入
  • Processing を入手
  • Processingにサンプルアプリ(chain.pde)を導入
  • サンプルアプリのポート番号を書き換え <=ここ、なぜか公式に書いていない

具体的手順

Arduino IDEを入手

Arduino 公式から入手。
Arduino - Software

Arduino ボードライブラリにOpenCRを追加

まず、Arduinoの設定画面にてボードを追加する必要があります。

f:id:shuzo_kino:20190810001135p:plain
ここに、以下のURLを追記。
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json

IDE本体に戻って、ボードマネージャーをクリック
f:id:shuzo_kino:20190810001004p:plain
こんなリストがでてくるので
f:id:shuzo_kino:20190810001010p:plain
OpenCRを選択。私は最新の1.4.9を入れました。
f:id:shuzo_kino:20190810001300p:plain

で、ようやくライブラリを追加となるのですが……これがやたら時間がかかります。
具体的には、20分ほど。
どうもコンパイルに時間がかかっているらしく、
ダウンロードが終わってからが長いので気長に待ちましょう。
無事終われば、このようにボードリストのなかにOpenCRが現れます。
f:id:shuzo_kino:20190810001341p:plain
サンプルもご覧の通り。
f:id:shuzo_kino:20190810001358p:plain

OpenCRにOpenManipurator chain用ライブラリを導入

Arduinoメインメニューのスケッチ例から「OpenManipulator」=>「example」=>「open_manipulator_chain」
f:id:shuzo_kino:20190810011116p:plain

Processing を入手

Processing公式から本体を導入。
processing.org

起動すると、こんな画面がでるはず。
f:id:shuzo_kino:20190810011345p:plain

さらに、外部ライブラリとして「ControlP5」を入れる必要があります。
f:id:shuzo_kino:20190810011402p:plain
f:id:shuzo_kino:20190810011418p:plain

Processingにサンプルアプリ(chain.pde)を導入

>||
$ git clone https://github.com/ROBOTIS-GIT/open_manipulator_processing.git
|

Processingのファイル読み込みで
Open_manipulator_processing => Chain => Chain.pde

で、このまま再生……とはいかず、サンプルアプリのポート番号を書き換える必要があります
ここは何故か公式に書いておらず、1時間ほどここで積みました。

//78行目
  connectOpenCR(0); // Inside the brackets depends on a laptop enviroment.

ウチのコンソールには、こんな感じでリストがでてます。
今回、通信で使うのはttyのusbモデムなので引数を0から7に変更。

[0] "/dev/cu.Bluetooth-Incoming-Port"
[1] "/dev/cu.WirelessiAP"
[2] "/dev/cu.SSDC"
[3] "/dev/cu.usbmodem14111"
[4] "/dev/tty.Bluetooth-Incoming-Port"
[5] "/dev/tty.gds-WirelessiAP"
[6] "/dev/tty.SSDC"
[7] "/dev/tty.usbmodem14111"

無事起動すると、こんな感じの画面がでるはず。
f:id:shuzo_kino:20190810010855p:plain

注意すべき点

OpenCRのリカバリーモード

何らかの事情でボードに書き込みできなくなった場合、
リカバリーモードに入ってから再度書き込みします。
Button2とリセットを押しながら、途中でリセットを話せばLEDがチカチカしはじめます。
詳しくはこちらから。