CODE

【解説】Petoi Bittleの初期設定を分かりやすく紹介【組み立て】

投稿日:

先日というかだいぶ前ですが、クラウドファンディングでpetoi bittleという組み立て式の手のひらサイズ犬型ロボットが販売されました。

僕はKickstarterで一足先に入手して、色々といじったりしていたんですが、公式のドキュメントも英語だし、組み立てても中々動かなかったりしたんですよね。

普通に遊べるまで3日くらいかかりました。

というわけで、今回はpetoi bittleを組み立てて、リモコンで動かすまでの手順やコツなどを共有していきたいと思います。

公式マニュアルは

https://bittle.petoi.com/

に載っているので、その通りに進めていけば基本的にはOKなはずです。

なので、上のマニュアルを一通り進めたうえで、詰まりそうな部分(僕がつまずいた部分)を説明していきます。

これから組み立て始める方は、この記事とマニュアルを並行して読みながら進めてもらえたらなと。

パーツの組み立て

キットが到着すると箱の中に色んなパーツが入っているかと思います。

その組み立ては公式ページに画像、映像で説明されています(英語)

その通りに組み立てればよいわけですが、バネの挿入が非常に難しいです。

コツとしては最初に白いジョイントの方にバネの端をひっかけて、バネを抑えながら親指の爪で全力で押し込みます。

爪が長すぎると多分割れるので、ある程度は切りましょう。

他にも色々と試したんですが、結局爪で押し込む方法に落ち着きました。

ちなみに、僕は爪が剥がれそうになってその後3日ほどは親指を絆創膏でぐるぐる巻きにして過ごしました。(にっこり)

Arduinoのセットアップ

ソフトウェアのセットアップを始めるにあたって、まずはArduinoをインストールする必要があります。

Arduinoとはマイコンを動かすためのソフトみたいなやつです。このBittleにもNyboardというArduinoで動かせるマイコンが載っています。

マニュアルでは「Arduinoくらい普通PCにはいってるでしょ」と言わんばかりにArduinoのライブラリの話から始まっています。いや、普通は入っていないでしょ。

というわけでArduinoのインストールの方法を説明します。

まずはArduinoの公式ページからソフトをダウンロードします。

Arduino公式ページはこちら

そうしたら、ページのArduinoIDEの横のDOWNLOADOPTIONからPCに合ったものをクリックします。Windows7以降ならば「Windows Win7 and newer」をクリックします。まあ、他の2つでも大丈夫なんですけどね。

すると「サポートしてください」みたいな画面に移るので、支援したい方はお金を払いましょう!

「1円たりとも渡したくねー!」という人はJust Downloadをクリックしましょう。ダウンロードが始まります。

で、ダウンロードしたらそれをクリックして起動します。あとは適当に進めて下さい。

まあ、特に何もいじらずに右下のNextをクリックしとけば大丈夫です。こだわりがある方はご自由に。

これでArduinoのダウンロードは完了です。

ライブラリのインストール

Arduinoをインストールしたら、ライブラリを追加していく必要があります。

Arduinoを起動して、上のタブのtoolからManage Libraryをクリックします。

するとライブラリマネージャーが開きます。

そうしたら、右上の検索窓からマニュアルに記載されているライブラリ

  • Adafruit PWM Servo Driver
  • IRremote
  • QList

を検索してインストールをクリックしてください。

Adafruit PWM Servo Driverはサーボの角度調整、IRremoteは赤外線通信に関するライブラリっぽいです。QListは配列関連?です。

で、IRremoteのバージョンは必ず2.6.1をインストールしてください。

画像では既に2.6.1がインストールされているので2.6.1がないですが。

普通にインストールしてしまうと最新バージョンになってしまい、リモコンでの操作ができません。

次に、MPU6050とI2Cdevをインストールするわけですが、ファイルはマニュアルにも載ってあるリンクを開いて、CodeからDownloadZipをクリックしてダウンロードします。

ディコードコードの削除

これもマニュアルに載っていますが、Documents/Arduino/libraries/src/IRremote.hの内容を修正する必要があります。

IRremoteは赤外線通信のライブラリなわけですが、ロボット側としてはリモコンから受け取った電波を信号に変換しないといけません。

この信号が1種類なら問題ないんですが、電波と信号の変換のさせ方に色々と種類があるみたいです。

なので、Bittleで使用する変換方法以外は消しておきましょう、という処理になります。

まあ、そのままでも原理上問題ないわけですが、かなりメモリの容量を食ってしまうんですよね。

これの何が問題なのかというと、使わない分は無効化しておかないと、メモリにロボットの動きを制御するコードを全て書き込むことができなくなります

つまり、後々のコードを書き込むときにエラーが発生して、ロボットがちゃんと動かなくなります。(経験談)

マニュアル通りに無効化してください。

.hなんていう変な拡張子ですが普通にメモ帳とかのテキストエディタで開けます。

Arduinoのポートが見つからない場合

マイクロUSBでPCとbittleを繋ぐわけですが、Arduino側でどのポートを使うかを指定する必要があります。

簡単に言えば、PCのどのUSBポートから繋いでいるかです。

普通ケーブルで繋げば、繋いでるポートを選択できるはずですが、選択できない、繋がらない場合もあります。(僕はそうでした)

この場合もマニュアルに載ってある通り、CH340chipのドライバーをPCにインストールします。

リンクから進むと何か中国語のページがありますが、構わず、下載?をクリックしてダウンロードします。

ダウンロードしたファイルを実行すればドライバーがインストールされるので、Arduinoを一回閉じて開きなおせばポートを選択できるようになるはずです。

bluetoothで接続する場合はそれ用のアダプタをbittleにつけて、PCとペアリング設定します。

何かパスワードの入力を迫られますが、0000か1234のどちらかで認証できます。

OpenCatのインストール

で、OpenCatの導入で注意することは、serial monitorの設定とアップロードの順番です。

マニュアルにもありますが、右下のところでno line endingと115200 baudを選択しないと、最初の読み込みの時にバグります。

その後にダウンロードしたOpenCatの中のWriteInstinct.inoとOpenCat.inoをアップロードするんですが、初めにWriteInstinctをアップロードして、次にOpenCatをアップロードしてください。

OpenCat.inoだけでも何か動きますが、動きがキモくなります。

まあ、WriteInstinct.inoの中に、歩いたり座ったりする動きのプログラムが記載されているので、これを入れないことには始まりません。

先ほども言いましたが、不要なディコーダ―を無効化しておかないと、ここで全てのデータをアップロードすることができません。(経験談)

キャリブレーションは重要

一通り起動出来たらやることが、キャリブレーション(Calibration)です。

キャリブレーションとは何ぞや、と思うかもしれませんが、簡単に言うと足を動かす時の基準を設定することです。

ここで設定した足の位置を基準に動かすので、キャリブレーションがズレるとうまく歩かなかったりします。

キャリブレーションの仕方はマニュアルに載っていますが、正直かなりシビアです

リアルに足の向き1°の差が歩行の安定性に直結します。

「大体直角になってるし大丈夫でしょ」くらいの気持ちだと甘いです。

本気で1°単位で調整してください。

具体的なコツの話になりますが、バランス状態でbittleを立たせます。

そしたら、4本の足のぐらつき具合を見てみて下さい。

ぐらついてる足は高さが低く、重量がかかっている足は高さが高めなのでこれも考慮するとバランスが取れます。

また、キャリブレーションを完璧にしても歩き方が安定しない場合は、バッテリーをずらして重心位置の調整をしましょう。

加えて、フローリングで歩かせる場合は足先にラバーの部品はつけない方がいいです。

まとめ

以上のことに気を付ければリモコンでポチポチ動かせるようになるはずです。

上手くいかない場合は

  • ライブラリは全てダウンロードしたか
  • IRremoteのバージョンは2.6.1か
  • IRremote.hの不要なディコーダは無効化(0)したか
  • CH340のドライバーをインストールしたか
  • WriteInstinct.ino, OpenCat.inoの順にアップロードしたか
  • キャリブレーションは精密に行ったか
  • 足のラバー部品は外してあるか
  • バッテリーにちゃんと充電されてるか

以上のことを確かめればうまく動くはずです。




-CODE

Copyright© DaigoDiary , 2021 All Rights Reserved Powered by STINGER.