Petoi BITTLE(4足歩行ロボキット)を勉強用に購入しました!
Petoi BITTLEは、犬をテーマにした4足歩行ロボットキットで、クラウドファンディングからスタートした製品です。2021年前半にはTVでも紹介され、すでに多くの方が知っているロボットのようです。クラウドファンディングは終了していますが、現在はメーカー公式サイトで購入可能(価格は約250ドル)です。
このロボットを選んだ理由は、他の4足歩行ロボットに比べてデザインがスマートで洗練されていると感じたからです。また、前バージョンモデルの「Nybble」という猫をテーマにしたキットもありますが、動きの滑らかさでBITTLEの方が優れていると思い、こちらに決めました。
Petoi BITTLEの特徴
- 構造と動作:
BITTLEはArduinoベースの「NyBoard」を搭載し、8つの足関節と1つの首関節を持つサーボモーターで動作します。 - 操作方法:
Bluetoothを使ったリモート操作が可能。さらに、Raspberry Piと組み合わせて活用することもできるようです。 - 拡張性:
オプションでカメラや温度センサーを追加することができ、さまざまな用途に応用可能です。 - プログラミング学習にも最適:
プログラムの書き込みやカスタマイズが可能で、ロボット制作の勉強にも役立ちます。
完全なる自作はまだ敷居が高いので、Arduinoも触ったことも無いのですが、特徴を少しずつ弄って勉強しようと思います。
- Arduinoボード(ハードウェア)
小型のマイクロコントローラー(マイコン)基板で、センサーやモーターなどの電子部品を接続して動かせます。多くの種類がありますが、どれも手軽に扱える設計になっています。 - Arduino IDE(ソフトウェア)
プログラミング用の開発環境で、C言語やC++ベースのコードを書いて、Arduinoボードにプログラムをアップロードします。直感的で使いやすいのが特徴です。
ラジコンのように組み立て後、操作可能
自分はPetoi BITTLEを向学の為に購入しましたが、組み立てた後は付属のリモコンと本体内蔵の赤外線センサーでコントロールするか、スマートフォンと付属blutoothレシーバー基板の組み合わせで、そのままでも遊べるようになっています。
以下はスマートフォンの画面。
左側の移動操作と、右側の行動に関するボタンにて実際の犬のようなリアクションが可能になっています。
※自分のpetoiは購入してすぐ塗装していますので白色となってますが、本来は黄色です。
左側(上部スライドで歩行モード変更と方向キー)
step:その場で足ぶみ
crawl:体を低くして地面を這うように進む。
walk:落ち着いたペースで歩行。
trot:軽快に走る。
下部の上下左右ボタンで方向変更できますが、右上のメーターボタンでスピードアップします。
スピードアップで走ると中々のスピードです。
右側リアクションボタン
他にもPush upで腕立て伏せや、Play deadでひっくり却ってまた起き上がったりとユーモアのある動作や自分で動作を作る事もできます。
リモコンも同じく操作が可能ですが、赤外線センサーに上手く当てないといけないので、こちらは若干使いにくです。
本体組み立て
2022-06-14 に注文して、中国から大阪までですが06-24に届きました。webで配達記録がずっと追えるので、待つのは苦ではなかったです。
パッケージ開封
届いてから早速組み立てです。
組み立て設定はwebマニュアルを参照するようなので、待っている間にざっとマニュアルをみてました。
届いた箱を開封すると部品表の一式と、箱に簡単な組み立て図がありましたが、詳細な内容は無いのでやはりマニュアルを参照するしかないようです。
カードを取り除くと早速ボディパーツが見えます。
あれ?一から組み立てと思ってたけど組み立て品を注文したのだったのかな?と一瞬思いましたが、ボディのみでパーツは個別でした。
サーボの数も多いですが、組み立ては足回りとサーボの組み合わせ程度なので、組み立てだけならガンプラより組み立ては楽そうです。
自作ロボ作ってる人ならすぐ分かるのかもしれませんが、サーボーモータはオリジナルロゴになっていて型番はわかりません。
事前にサイトで手のひらサイズで結構大きそうだなと感じていましたが、ボディを箱から取り出すとやっぱりしっかりした大きさで迫力あると感じました。
他の付属品としてカードやら骨が。
カードは画像認識とか出来るのかな?でも骨は?咥える機構なんか無いよ?
遊びごころのネタかしら?
一通り中身チェックしたのでWeb ドキュメントを見ながら準備していきます。
組み立てのネジは小さいですがドライバーは付属しています。
petoi 組み立て
アプリ設定は後にしてまずは組み立てを進めます。
webマニュアルが動画と写真で分かりやすくて組み立てで困ることは無さそうですが、
ネジが小さいので小皿が無いと紛失しそう。
内側パッケージの裏返しが丁度都合が良いです(笑)
ところがどっこい(死語)この後、足を組み立てるんですが、マニュアルにちゃんと書いてあるにも関わらずサーボは線が長いのと短いのがあるのに気付かず、付け直しする羽目になりました。
(線が括られていて型番が同じなので気づかなかった)
左足と右足で取り付け方向も違います。
webマニュアルに正解図がちゃんと書いてあるので必要無いとは思いますが一応。
サーボ取り付け後(やり直し後)の写真です。
サーボの線をボディ内部に通すのに背中のカバーの取り外しでツメの位置がわからず中々外れませんでしたが本体左右に引っかけているだけですので、横から爪で軽く持ち上げればあっさり開きます。
どんどんサーボの線を通して行きます。
そしていよいよマイコン基板に接続ですが、webマニュアルの数字が気になって、もしかして基板に打ってる番号につなぐのでは?とも思いましたが、組み立て動画を見るとそのままで良さそうなので図面の位置通りにつなぎました。ややこしい・・。
図面通りにつないでマイコンボードを固定した状態が以下
ちなみにボードの番号は関係なく図面通りに繋げば大丈夫です。
ただ自分、接続を間違っていたみたいでキャリブレーション(次回ブログ)で結構苦労してます・・
ファームウェアインストール
ファームウェアダウンロード
マニュアルだと最初の方にNyBoardの設定とありますが、私は組み立ててから書き込みました。
ここで改めて他の付属基板をまずは確認。
PCにてマニュアルのリンクからBITTLE用デスクトップアプリをダウンロード。
ペイデスクトップアプリ
アップロードとありますのは、ダウンロードしたファームウェアをpetoiへ書き込む(アップロード)という意味です(翻訳だとややこしい)。
まずはダウンロードしたファームウェアをPCに展開。
自分はあまりCドライブを使いたくない派なので、Dドライブにフォルダを作って解凍してインストールしました。
ファーム書き込み後、BITTLEのプログラム動作用として選択肢が2つあり、
アプリを使う方法と
プログラミング経験者向けのArudino IDEというのを使うという方法の2種類があるようです。
petoiへファームを書き込み(アプリ版使用)
ここで先にPetoi本体をUSB Adapterを利用して付属のUSBケーブルを使ってPCと接続します。
先にアプリを起動するとPetoiの接続(Port)が見つからないです。
PCとPetoiの接続を確認するため
エクスプローラ→PC→デバイスマネージャー→ポート
もしくは
コントロールパネル→システムとセキュリティ→システム→デバイスマネージャー→ポート
どこから開いても良いです。
自分の場合はCOM3に割り当てられてました(使用環境によって違う)
COM3が接続を確認して、インストールしたデスクトップアプリ(自分はDドライブ)のpetoiのアイコンをダブルクリックして書き込みアプリを起動します。
ファームウェアアップローダーを選択して
モデルはBITTLE、言語は日本語に変更。
ファームアップロードはソフトウェア2.0、ボードバージョンは1.1に書き換え(基板の印を確認)
ProductはBittle、ModeはStandard
Serial portは先に確認したCOM3(人によって違う)にしてUploadボタンを押します。
しかしここで何度やっても”Key error”というのが発生し先に進みません!
変なブザー音鳴ってるし・・・
結局、USB接続がHUB経由だったのでPCと直でつないでポートを変更したり、Cドライブに再インストールしたり、色々試しましたがマニュアルにあったUSBドライバをインストールしてうまくいきました。
二回目は英語化のままやってます。
プログラムを再度実行してUploadを押すと今度はエラー無く進みました。
ここでjoint offsets(サーボーパラメータ)をリセットしますか?とメッセージが出て、OKでリセットするのかパスするのかどっちだ?と又考えさせられましたが、組み立て済みでもないし調整されてるかもわからん。再調整でいいだろうとOKを選んでリセットを選択しました。
やったね!どんどん進んで行くと思ったら今度はIMU(ジャイロスコープに関わるらしい)を調整しますか?と。
BTTLEを水平に置いて調整とありますが、最初から置いているのでこれも同じようにYESを選択して再調整すると
最終的に軽快な音楽がなって完了のお知らせが出たので書き込みは上手く行きました。
時間が無かったのでここで一旦終了し取り外しました。
次はいよいよキャリブレーションに\(^o^)/
Petoi BITTLE キャリブレーション
前回まででファーム(基本プログラム)を書き込み、いよいよキャリブレーション(動作の調整)です。
これを調整しとかないと、車を例にすればアクセル踏んでもいないのにスロットロル全開!なんてこともありうるので、アクセルは踏まなければ車は動かない位置に調整するといったとこです。
前日からの続きで、先にBITTLEにバッテリを接続して電源投入。
※アプリを先に立ち上げたら接続が認識しない。
接続後、念の為デバイスマネージャーでポートを確認しアプリ側のFirmware UploaderでPORT4の認識を確認。
(今度はPORT4に割り当てられていた)
Joint Calibratorを起動の際にちゃんと接続ポートの認識を行っていましたのでFirmware Uploaderは開く必要は無かったですね。
今度はJoint Calibratorを起動。
マニュアルだとなんだかややこしそうなこと書いてるなぁと思ったんですが、
実際にBITTLEを前にしながら見ると、あぁスライド動かすだけか、ここまで来たらもうちょっとだなと逆に楽しくなってきました。
黄色のスライダが各パーツに対応しますが、薄黄色は?右上だとHead Tiltと書いてある
黄色はHead Panで首の傾きを調整しますが薄黄色は何も反応しない。
もしかしてパーツを追加して動きを増やせるのかな?ワクワクしますね。
web説明書通りに、アプリのCalibrationでサーボを初期値にして各足パーツを同様に直角に組んで取り付け。テストとしてStand Up 、Restと実施しますが
ここでやらかしてることに気づきます。
見た目はちゃんとゲージも使ってちゃんと形になってるんですが、Stand up した時へんな体勢になるんです。あわてて外したら暴走して万歳なんかして焦りましたが、
改めて接続を見直すとサーボの基板への差し込み箇所を間違えてました・・・・。
再度、接続をしなおしてアプリを起動。
サーボの初期位置を精度高く調整出来るんでしょうが、キャリブレーション実施後、基準を基に直角に取り付けてもおおよそいけそうなので、まずはこのまま行くことにしました。
実際、ちょっとひねった負荷がかかったりすると足や首はすぐ外れてしまう・・・。
ちょっとトラブルがありましたが、再度取り付け後はキャリブレーションも正しく動作しました。
Stand Up
REST
アプリ版はここで完成です。
しかし、今度は私は”プログラミング経験がある方は~”のやり方でやり直します。
アプリ版、プログラミング版、どちらでやってもpetoiをコントロールする基本操作は同じです。
PetoiをArduinoIDEで再セットアップ(プログラミング版)
最初にセットアップの際にデスクトップアプリの使用とArduino IDEの選択があり、簡単なデスクトップアプリの使用を選びましたが
もともとROSを勉強したいという目的があるので、ただ出来た出来たで終わらすつもりは無いので一旦戻ってArudino IDEからやり直してみます。
(翻訳しながら読んでます・・)
ユーザーマニュアルの3章 ナイボードの構成より
Arduino IDEを選択
NyBoardのスケッチのアップロードのページより、なんか色々書いてますがIC2のスイッチ等は確認だけだし、ブートローダーを焼く等は壊れた場合だろうから読み流し、
Arduino IDEをダウンロードしてインストールに進みます。
2022/09現在は Arduino IDE 1.8.19とArduino IDE 2.0RC があり、過去バージョンの方が安定していて良いのでは?と悩みましたが、結局自分は影響が出るようなそんな大したことはしない(出来ない)だろうと2.0をダウンロードしてインストールしました。
ダウンロードする時に任意の支払いを求められますが無料でも可能なようです。(支払いでも良かったんですが適当に触ってたら無料ダウンロードになってました)
(Arduino IDEのインストールに関しては省略)
次にpetoi本体とPCをUSBで繋ぐためのアップローダー接続とありますが、
既に一度アプリ利用にて接続済みで、やることは同じなので先に書き込みプログラム(OpenCatパッケージ)をダウンロードしました。
解凍したあと、素人にはちょっと戸惑うフォルダの名前変更がありますが素直にしたがいます。
あと、自分の基板のバージョンとOpenCat.inoの情報を一致させとかないといけないみたいですね。
最初間違ってwebマニュアルどうりにV1_0を定義しましたが、あれ?まてよ?なんか違うようなきがする。
自分の持ってるナイボードはV1_1だから定義も同じにしないといけないはずだと。
チュートリアルビデオでは1_1になってますね。webマニュアルの方は旧バージョンも含めて”例えば”と書いてあるのだろう・・まぎらわしい・・
(ちなみに私は仕事で、この手の作業で拡張子を変えてしまって違うファイルに関連付けされて痛い目をみたことがあるのでメモ帳からOpenCat.inoファイルを開いて定義を書き換えました。)
あとで戻しますが#define MAIN_SKETCHの定義をコメントアウト(//をつけると実行されない)して書き込みモードにします。
あとはここで前回の”2 基板にファームウェアを書き込み”と同じようにUSBアップローダーを繋いでポートを確認します。(アプリはつかいませんが)
前回、アプリモードですが一度接続してるので先の1_0と1_1でバージョン違いがあると気づいたというのもあります。
私の場合はwebマニュアルと順番が違いますが、Arudinoをダウンロードして先に設定、
後は接続して書き込みという流れでやりました。
この後はwebマニュアル通りです。先ほど確認したPCの認識ポートとArduinoのポート設定を一致させ、
通信速度は115200ボーレートに設定して開始です。
問い合わせしてくるジョイントオフセットとIMUは”Y”を選択してやり直しました。
あと、定義のバージョンに関してもそうですが、動画の方がwebマニュアルより最新なのでそちらを優先した方が良いと思います。
最後にコメントアウトした#MAIN_SKETCHを戻す事をお忘れなく。
拡張機能利用
MUカメラ セットアップ
Petoiの購入時にオプションとしてMUカメラも合わせて買っていましたが、セットアップは難しいのではないか?と後回しにしてましたが、いつまでもそういう訳にもいかないので取り組んでみました。
やってみたら意外と簡単でした。
ちなみに購入前はカメラと聞いて隠れたところからリモート表示出来るだろうと期待してましたが、購入後に薄々気づいてましたがどうもこれモーションカメラのようですね・・(汗。
webマニュアルによると翻訳のせいか、いきなり”ダイヤルスイッチを切替”、など何々??とおもいましたが、左の2番スイッチのみ上げろということですね。
petoiデスクトップアプリでも簡単に出来るようですが、せっかくArduinoもを使いだしたのだからArduino IDEを利用することにします。
先にMUカメラ用のオプションプログラムをダウンロードして、自分のフォルダに移動。
Arduino IDE にて移動したZIPファイルを指定。(解凍せずに直接指定)
指定後インストールが始まりましたが、Library installedとでてずっと同じ画面のまま。終わったのか?
十分くらい待っても画面変わらないので二回やりましたら右下に一瞬sucessと出て消えてました。(わかりづら・・)
ちゃんと入ったのかな?と思ったら下の方に//##define CAMERAとありましたので、カメラを使えるように//のコメントアウトを外して、右矢印でPetoiにプログラムを書き込みます(アップロード)。
一旦、全て終了してpetoiも電源入ってない状態にしてカメラを付けました。
下の写真はMU カメラぶら下がってるだけなのでカメラの上下逆さになってます。
上の赤丸の箇所のキズ防止シールも剥がして
さあ始めよう。と思ったところで、どうやって使うんだっけ??
特に何もしなくともシリアルモニタには認識内容が表示され、勝手に認識してくれていました。
Petoiのデモのように固定していないのでカメラ自体動かすとちゃんと追従してくれていました。適当に動かしたので追従があいまいで動きがカクカクしていますが、固定すればちゃんと追従してくれそうです。
以下、MUカメラを取付。PetoiとUSB接続です。
もしかしてスマホアプリのコンソールにカメラの映像出ないかな?とスマホ接続にしてみましたが、スマホアプリのコンソールはいつも通りでした
通常の動作の中に追従の動きも加わったといったところのようです。
PetoiをPCとBluetooth接続
Arduino IDEも使いだしたし、カメラも繋いだ。
でも動作させるには置き場所がちょっと狭い・・USB接続のシリアルモードでコマンド試しているうちに歩行コマンドだったりしていきなり歩き出してあわわ!なんてなったり。
それにPCでリモートコントロールってどうすんだろ?って思ってたところ。webマニュアル読み進めてたら、Bluetooth接続とwifi接続があるやん。
まずはBluetooth接続してみよう!と思ったけど、自分のPCはドスパラで買ったカスタマイズモデルなのでBluetooth機能は取り付けてなかった・・・
はて?Bluetoothってどうすんだっけ?マウスと一体のレシーバーか?、あれそのマウス専用だよな?汎用レシーバーでいいのか?webマニュアルにも当社へメールをなんて書いてある・・。
まぁ汎用レシーバーで出来るっしょって取り合えず安めなのを買ってみました。(繋がらんかったら使い道無いし)
Bluetoothの互換性大丈夫か?Petoiの仕様古そうだと最初Bluetooth3.0を探しましたが、よくよく考えたら私のiphone13なので、ELECOMのBluetooth4.0にしました。
ドライバーのインストールなど不用なようなので、そのまま差し込むとレシーバーとしてはすぐ認識。
デバイスマネージャでは認識していましたが当然それだけではダメなので、
webマニュアルのデュアルモードBluetoothにしたがって認識させます。
ナイボードとBluetoothモジュールは取り付け済みです。
ドングルを電話機・・はスマホの話なのでこれは無視して、「ドングルをコンピュータに接続」より、設定→デバイス→「Bluetoothまたはその他のデバイスを追加する」
① PCのbluetoothレシーバーにPetoiのBluetoothモジュールを認識させる
② PCのbluetoothレシーバーにPetoiのBluetoothモジュールを認識させる
③ PCのbluetoothレシーバーにPetoiのBluetoothモジュールを認識させる
あれれ?Petoi-BLE[・・・とPetoi-・・・webマニュアルとは違った表記で二つある。
どっち?
Petoi-BLEの方がなんか上位そうなので追加してみると、ペアリングパスワードを聞かれることもなく接続されました。
繋がったのかな?とデバイスマネージャを見ると何にも出てません(汗。
もう一度Petoiーを追加すると今度はペアリングパスワードを聞いてきたので「0000」を入力すると今度はデバイスマネージャに出て来ました。
④ PCのbluetoothレシーバーにPetoiのBluetoothモジュールを認識させる
COMポートの割り当てが送受信で必要とありましたが、開いたところ発進(送信)にportとついてあるのでそのままで良しと判断し、Arduino IDEを起動しました。
USB接続と同じように認識出来、シリアルコマンドでちゃんと動作しました。
これでこれからは歩行動作も含めてPCからもリモートテスト出来そうです。
コメント