
Kibidangoよりお借りしている、手のひらサイズの四足歩行ロボット Petoi Bittle ですが、やはり動作を自由にプログラミングできるところが魅力ですよね。どんな感じでプログラミングできるのかとても興味がありますが、あまり日本語のサイトに情報がありませんでしたので、試行錯誤しながら実際にプログラムを試作してみました。(試す期間が短かったのでたいして作れませんでしたが。)

USBアダプター、WiFiアダプター、Bluetoothアダプター。このうちUSBアダプターを接続して有線接続するか、Bluetoothアダプターで無線接続して、プログラムを本体に送り込むことが可能です。(Bluetoothアダプターは1000人以上からの支援が集まった時のストレッチゴールですかね)


STEM教育にも使える「CodeCraft」で、グラフィカルにプログラミングすることができます。
ハードウェアの項目にBittleが並んでいますので選択。

最初に本体に接続しようとしたら、Device Assistantを起動するように言われるので、ダウンロードしてインストール。
他にもWindows PCの場合、USBドライバー(ft232_all.exe)を入れて設定しないとUSB接続できませんでした。Bluetoothは「BittleSPP-*」の方をペアリング、コード0000で接続できました。

本体にプリセットのアプリケーションをアップロードする場合は、Add Extensionで「Calibrate Servos」を追加して、「Flash factory code」を上記の用に設定してアップロードします。他のプログラムをアップロードすると消えてしまうので、元に戻したい場合もこれをアップロードする必要があります。

MacやPCとUSBまたはBluetooth接続してプログラムを送り込むことができるはずですが、私の場合「Upload failure」が多発してうまくアップロードできませんでした。シリアル接続してコマンド送信・応答はできているので、原因は分からず…。時間もなかったので、結局唯一うまくアップロードできたWindows10 PCとのBluetooth接続で自作ソフトウェアをアップロードしました。このあたりのトラブルが無いとよいのですが…。

お借りしたPetoi Bittleの後ろ足の角度が左右で少し違っていて、それが原因でよく転ぶように見えたので、シリアルモニターでキャリブレーションしました。キャリブレーション姿勢でちょうど直角になるように調整します。

サーボモーターの番号と角度を入力して、調整。最後に保存。
安定した感じがします。

さて、いよいよプログラミングです。左側に使えるモジュールが並んでいるので、眺めるとどんなことができるのかわかりやすいですね。上記はBittle特有なものを並べてみました。Skillにリモコンで操作していた動作がモジュール化されているので、比較的簡単に動かすことができます。本体に付いているLEDやブザーなども使えます。赤外線リモコンは付属のものが簡単に使えるだけでなく、別の赤外線リモコンのコードを判定して、それを使えるようにすることもできそう。
その他、拡張センサーなどで有効になるモジュールもたくさんあって、これらも使えるようになるととても面白そうなことができそうです。
setupに起動時の処理を記入して、loopに動作を記入します。
skillのモジュールは単体で動作するわけでなく、「Execute the movement」モジュールが動いている間、動きます。
英語ですが、ここの教材を参考にすると比較的わかりやすいです。

プリセットのアプリケーションはリモコンボタンを押すと動き続けるため、少し操作しにくかったので、リモコンの何らかのボタンを押している間だけ動作を実行するプログラムを作ってみました。ボタンを離してしばらくすると自動的にバランス姿勢になるようにもしています。(上記の右側のプログラムは実際は左側の下に続いているものです。)

右上にあるタブを切り替えると、テキストコードにもなるので、テキストでのコーディングへのステップアップもできそうです。

もう一つのプログラムは、リモコン操作でLEDをランダムな色に光らせながら、用意されている音楽や効果音を流すものを作ってみました。
作ってみた2つのプログラムの動作は動画で御覧ください。簡単なプログラムでこんなに動かすことができます。自分で作ったプログラムが動くととても楽しいですね。

Skillを自作できるモジュールもあるのですが、各サーボモーターの角度を数字で入れていくというなかなか難しい仕様。Previewもうまく動かず、作ってみてもなかなか思い通りになりませんでした。これがGUI操作などでもう少し簡単に作れるとさらに面白そうです。
クラウドファンディングのページの動画にあるような箱に乗り上がるようなプログラムも作ってみたかったのですが時間がなく断念…。

Arduino IDEを使った本格的なプログラム開発も可能です。必要各種ライブラリを読み込んでいけば使えるようになります。

CodeCraftのテキストコードや、インターネットにある情報が参考になりますね。

Bittle Research Packの方には、センサーパックが付属して、Intelligent Camera、Passive Infrared Motion Sensor、Sound Sensor、Touch Sensorなどが付属しているそうです。これは楽しそうですね。
さらにRaspberry Piとの接続で高度な制御やAIを組み込みなんてことまでできるそう。夢が広がります。
Kibidangoのプロジェクトは2021/4/29まで。手作り犬型ロボットで色々プログラムを作って楽しみたい方はお見逃しなく!
Kibidango: Petoi Bittle|自由にプログラミング!手のひらサイズの犬型ロボット
ピンバック: 手のひらサイズの四足歩行ロボット Petoi Bittle を動かしてみました | Digital Life Innovator