4足歩行 犬型ロボット Petoi Bittle のセットアップサポート

公式ドキュメントはこちら。https://bittle.petoi.com/
しかし分かりにくいのでこの記事で要約してみる。
※本記事は公式ではありません。責任は持てませんので自己責任でお願いします。

##0. Arduinoつなぐ前までの組み立て
組み立てはこの動画を見てがんばる。スプリングをはめるところとかめちゃめちゃ固いので子供では無理だと思う。指が痛くなる。
https://youtu.be/oJ2Y9hZgCEY
動画の [22:05](https://youtu.be/oJ2Y9hZgCEY?t=1326) 以降について以下で補足する。
ボードオリエンテーションのため、Bittleは足をつけてないこの状態で平らな場所に置いておく。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">犬のロボット <a href="https://twitter.com/hashtag/petoi?src=hash&amp;ref_src=twsrc%5Etfw">#petoi</a> <a href="https://twitter.com/hashtag/bittle?src=hash&amp;ref_src=twsrc%5Etfw">#bittle</a> を組み立て中🤖<br>プラスチックとバネをはめるところがめちゃ固い。動画の人みたいにサクっとできない😭<br>さあコード入れるぞお <a href="https://t.co/5l6RUomHhR">pic.twitter.com/5l6RUomHhR</a></p>&mdash; 大熊 元気＠量子コンピュータが気になってきた (@JNTEST23) <a href="https://twitter.com/JNTEST23/status/1374167855231504386?ref_src=twsrc%5Etfw">March 23, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

##1. プログラムダウンロード
・Arduinoを使えるようにしておく。
・bittleで使うスケッチをここ https://github.com/PetoiCamp/OpenCat からZIPダウンロードしてローカルで解凍する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/bdcaa2da-3b26-6e18-f97d-d317b6657a33.png)
・解凍すると「OpenCat-main」というフォルダができるが、これを「OpenCat」とリネームする。このフォルダ構成が必要。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/eca9e34e-1b11-6299-3b16-e535eaf7d769.png)

##2. Arduino接続  
・動画の通りにボードをつなぐ。「ビーッ」と音が鳴ってLEDが光る。
・最初に WriteInstinct.ino を開く。ボードは Arduino Uno を選択しておく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/7b8e5800-cf52-fa7d-6a6d-93f6f45f9e54.png)
・ArduinoのCOMポートに認識されない。デバイスマネージャーで見てみると、下記の矢印のところでエラーが出ていた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/edad3f83-39e6-e0a8-dcf2-67c75db9c638.png)
公式ドキュメントを見ると、CH340というチップのドライバが要るらしい。リンク http://www.wch.cn/download/CH341SER_EXE.html にとんでみる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/cd3c1d93-81dc-86d5-361e-7c57e9bc45cd.png)
え？まじでこれ？このボタンがダウンロードっぽいけど、すげーイヤwww
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/0dfbe321-f317-a2bd-f2f8-0abff73f6e32.png)
CH341SER.EXE がダウンロードされたので起動してドライバインストール。ArduinoのCOMポートは再起動もなく認識された。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/53add96d-4fb6-9bf4-13de-6674f20efdee.png)

##2.Bittleにオリエンテーションのプログラムを書き込む
・[動画](https://youtu.be/oJ2Y9hZgCEY?t=1410) のように WriteInstinct.ino を書き込む。
・エラー発生。PWMというのが使えないらしい。ライブラリマネージャで「Adafruit PWM Servo Driver Library」をインストールして再度 書き込む。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/b658a746-0fb3-eeca-560b-6958ce75c444.png)
・エラー発生。IRremoteがダメ。ライブラリマネージャで「IRremote」をインストールするが、公式によると Version2.6.1が必須とのこと。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/81f6118d-69f4-e32f-be96-914222b68873.png)
・さらに IRremote は余計なコードをbittelに書かないように編集した方が良いとのこと。めんどくさいぞ。
このファイルを編集する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/a378c520-388e-7ed3-8acc-fd594900fe55.png)
この2か所だけ「1」のままにして、他は「0」に書き換える。再度WriteInstinct.ino を書き込む。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/1a15de04-f255-016a-c057-352f251f07af.png)
・エラー発生。#include I2Cdev.h でこける。公式ドキュメントの通りここ https://github.com/jrowberg/i2cdevlib からZIPダウンロードして解凍。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/f2702347-ad7a-41b5-0f72-aa504389a838.png)
・解凍したファイルの中の「I2Cdev」をArduinoにインストールする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/8f733dd9-0533-8eba-08c6-649327dde382.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/003398f0-f214-794f-ef08-bdd741f7c17e.png)
・これでWriteInstinct.ino を書き込むことができるはず。書き込んだらボードオリエンテーションが勝手に始まる。
・だいたい1分間で5回の「ビービー」音、最後に「ビロロンビロロン」みたいな音がして終了。

##3. Bittleに OpenCat.ino を書き込む
・WriteInstinct.ino を書き込みが終わったら、その状態で OpenCat.ino を書き込む。
・書き込みはすぐ終わる。終了するとBittleが「ビー」と鳴りっぱなしでうるさい。緑の小さいボードを引っこ抜く。
・あとは動画のようにキャリブレーションをする。関節の番号はこれが分かりやすい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147524/ae47314d-5e70-5997-d268-d4584702ae36.png)

##あとがき
取りあえず動いた。動き方はプログラミングできるので遊んでみる。4足歩行のメカニズムが分かったりするのかもしれない。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">よく動く犬ロボット<br>散歩に連れてってやるか。<a href="https://twitter.com/hashtag/bittle?src=hash&amp;ref_src=twsrc%5Etfw">#bittle</a> <a href="https://t.co/lX8nw1en4T">pic.twitter.com/lX8nw1en4T</a></p>&mdash; 大熊 元気＠量子コンピュータが気になってきた (@JNTEST23) <a href="https://twitter.com/JNTEST23/status/1380740829954772994?ref_src=twsrc%5Etfw">April 10, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>