ロビ設定ファイルエディタ2

免責事項

 本アプリケーションを使用することによって、発生した損失や損害に対して株式会社メディアクラフトは一切責任を負いません。



 ロビ設定ファイルエディタ2はロビ2のサーボモーターの原点補正や可動範囲を編集できるプログラムです。
 その他に起動時のサーボモーターのトルクのオンオフの制御などを編集する事ができます。

プログラムの読込み

 まずSTARTUP.BINを読込むためロビのSDカードをパソコンにセットします。



 ロビのSDカードをパソコンで読み取れる状態にして「読込み」ボタンを押します。



 「開く」ダイアログでSDカードのSTARTUP.BINを指定して開きます。
 一度指定しておくと本プログラムを起動した時に自動的にSDカードのSTARTUP.BINが読み込まれます。
 違うフォルダーのファイルを読み込みたい場合は「開く」ボタンで読み直してください。

原点補正値の変更

 読込まれるとサーボモーターの原点補正値が表示されます。



 例えば右足を前傾姿勢にしたいので足首の縦回転サーボの値をスピンボタンで増やします。
 スピンボタンの右側に書いてある文字は隣のスピンボタンを押すとどう補整されるかを示しています。
 その上に書かれているツマ先を▲(増量)は上に▼(減量)は下に補正される事を示します。

 今回は分かりやすいように115を215に増量してみました。
 数字は1/10度に対応するので100増量したという事はツマ先を上に10°上げる事になります。
 なお「変更範囲制限」にチェックが付いている時はロビの稼働範囲を越えないよう標準の補正値に対して±150(15°)の値しか指定できません。

 このチェックを外すとサーボモーター自体の稼働範囲±1500(150°)内の値が指定できます。
 ただしロビの稼働範囲を越える可能性があるので十分注意した上で変更してください。

 「標準値に戻す」ボタンはロビで提供されたSDカードのSTARTUP.BINに書かれている値に戻します。
 オリジナルの値に戻したい時はこのボタンを押してから「書出し」ボタンでSDカードのSTARTUP.BINをオリジナルの補正値に戻して下さい。

ブログラムの書出し

 「書出し」ボタンを押してSDカードのSTARTUP.BINを更新します。



 SDカードのSTARTUP.BINを更新できると上記のダイアログが表示されます。

可動範囲の変更

 サーボモーターの稼働範囲の下限値と上限値を設定するできます。
 オリジナルの設定値は±32767と16ビット整数の範囲に設定されおり実質稼働範囲は設定されていない事になります。(首旋回サーボを除く)
 これだともしプログラムが間違っているとロビの稼働範囲を越えてサーボモーターを壊してしまいます。

 稼働範囲の下限値と上限値を設定すればその範囲を越えてサーボモーターは動きません。

 ラジオボタンを「稼働範囲下限値」または「稼働範囲上限値」に切替える事でこれらの値が修正できます。
 なおラジオボタンを切替える度に前のラジオボタンで変更した値が設定ファイルに自動的に書き込まれます。

 設定は稼働範囲の設定が必要なサーボだけにして変更する必要がない物は±32767のままにしておいてください。
 設定値が実際の稼働範囲より狭いとロビが正しく動作しなくなります。

テスト用SDカードの変更

 本プログラムはテストプログラムにも対応しています。
 読込んだ際のファイルサイズでどちらの設定ファイルか判断しています。
 「標準値に戻す」ボタンで動作テストの設定ファイルもロビ2のプログラムの設定値に変更する事ができます。

 なおテストプログラムはプログラム部の変更はできません。

音量の変更

 ロビのテスト音声の音量を調整する事ができます。
 なおロビ2の音量は
設定データ変更で行えます。



 数字が大きい程、音声は小さくなります。0が最大音量で7まで指定できるようになっています。

プログラム変更

 プログラムのサーボモーターのトルクのオンオフなどを編集する事ができます。



 サーボトルクをオフにするとロビを脱力化する事ができます。
 サーボにトルクを入れないとバッテリィーだけでも長時間ロビを稼働させる事ができます。
 またバッテリィーなしで付属のACアダプターだけでもロビを稼働させる事ができます。
 なおサーボにトルクを入れないのでサーボは動きませんが、ロビの会話には影響がありません。
 長時間タイマーや留守番モード等長時間稼働が必要な時に有効です。

 音声認識の設定でロビ本体の音声認識を抑制する事ができます。
 リモート接続だけで制御したりロビボイスコンバーターで別の音声認識を使用する場合、本体の音声認識が機能しないようにする事ができます。
 再びロビの音声認識を機能させるにはラジオボタン行うに戻してロビを再起動させます。
 なお音声認識をしないに設定するとロビの起動時に音声認識ボードのチェックを抑制するので音声認識ボードエラーでロビが起動できないのを抑制する事ができます。

 電圧監視はアイドリング時の電圧の監視を抑制する事ができます。
 バッテリィーの電圧が一定値以下になるとロビが「充電して」と言って停止します。
 この電圧監視をしないように初期化プログラムを書き換えます。
 電圧監視をしないようにした場合でもファームウェアによる電圧監視(6Vで設定)で警告音声が発せられる事があります。
 また個々のプログラムで電圧監視をしている場合はこの設定では抑制できません。

 タイムアウト監視はタイムアウトの監視を抑制する事ができます。
 一定時間ロビと会話しないとロビが「おやすみなさい」と言って停止します。
 このタイムアウト監視をしないようにプログラムを変更します。

 リモート対応をチェックするとリモート接続に対応させる事ができます。
 BluetoothにチェックするとQ-boやM5Stackでリモート操作ができます。
 Bluetoothにチェックしない場合はUSB接続やFlashAirによるリモート接続に対応できます。

 Bluetooth開始コードは認識語番号1に対応するBluetoothのコードを10進数で指定します。
 M5StackのRoVoCoMo2は1154が開始コードとなります。
 Q-boに読ませる認識語のドットコード表がない場合は開始コードを600に変更する事でロビ2で提供されているロビイングリッシュブック1のLesson1のドットコードから認識語番号に対応させる事ができます。

 音声再生にチェックすると音声再生プログラムを組み込む事ができます。
 ロビボイスプレイヤーを使ってロビ2を直接しゃべらせる事ができます。
 詳しい操作方法は
ロビボイスプレイヤーの操作方法を参照してください。

 リモート接続用プログラムREMOTE.BINは本プログラムと同じフォルダーに入れておいてください。
 なお本機能はBluetooth対応では行えませんのでこの設定はできません。

 リモート接続にチェックするとロビモーションシミュレーターやロビモーションエディタのリモート接続用プログラムを組み込む事ができます。
 リモート接続は編集中のモーションのサーボ設定値を転送してロビをモーション通りのポーズにして確認する事ができます。
 またキャプチャー機能でロビの現在の姿勢からサーボの値を取得する事ができます。
 詳しい操作方法は各プログラムの操作方法を参照してください。
 リモート接続用プログラムREMOTE.BINは本プログラムと同じフォルダーに入れておいてください。
 なお本機能はBluetooth対応では行えませんのでこの設定はできません。

 同期受信は二体以上のロビを動かす時に同期して動くようにリモートの受信周期を短くしてなるべく同時にプログラムを開始させるする事ができます。
 N5StackなどのRoVoCoMo2を使用するとBluetoothとWiFi(FlashAir)を同時送信ができるのでロビ2との同期操作が実現できます。
 この設定を場合は、音声認識やQ-boでの操作や、電圧監視、タイムアウトの処理は行われなくなります。
 なお各プログラムでの応答は通常の場合と同様、音声認識やリモートでの応答が可能です。(取得周期は通常と同じ)

 RoVoCoMo2で同時に動かすとロビ1より早くプログラムが開始するため開始を遅らるように設定することができます。
 開始遅延の値を0以上を設定すると設定した値の時間、開始を遅らせます。
 1/60秒単位で設定します。(30の場合は0.5秒)
 設定できる値は0〜255の範囲で設定でき255以上を設定すると255が設定されます。
 なお音声再生や直接実行は遅延されません。

 アイドリング時の認識を行わないにするとロビが顔認識しないようにできます。
 人の前でロビ2を操作する場合など、見ている人の顔に反応しないようにする事ができます。

 アイドリング時の顔の向き制御を行わないにするとロビが音声認識待ちの時に画像認識に反応してそちらの方向を向くのを抑制する事ができます。
 動画の撮影時等でロビが意図した方向を向いてしまうのを防ぐ事ができます。
 なお「こっちを向いて」等の命令はこの設定では抑制されません。

 アイドリング時(音声入力待ち)の目の色を任意の色に変えることができます。
 任意色設定ボタンを押すとカラーダイアログが表示されて任意の色を指定する事ができます。
 橙色をチェックすると標準の色に戻す事ができます。
 なおロビ2の場合はアイドリング中に別の色でステータス(Q-boと通信中の場合は黄色の点滅など)を表しています。
 これに対しては変更は行いません。



 省エネをチェックすると目のLEDの輝度を抑えてバッテリィーの消費を防ぐことができます。
 このチェックをするとLEDの値を半分にします。

 またクイズの回答待ちなど各プログラムでの音声認識中もオリジナルの色で表示されます。

 ロビクル対応はロビクル(ロビ1用三輪車)にロビ2に乗せた時アイドリング時の姿勢変更等を行います。
 アイドリング腕角度変更はアイドリング時の腕の角度をロビクルモードの角度に変更します。
 なお下半身はロビ2の充電椅子モードとなるためそのままでロビクルに乗車できます。
 肩サーボ角度制限はロビ2のプログラムを動かした時、肩のサーボ角度がハンドルより下がらないように変更します。
 なおこれらの設定は一度設定すると元に戻す事はできません。

 歩数プログラムの前進と後進の歩数を設定した値(1に対して2歩)に変更する事ができます。
 設定できる値は1〜9,999です。
 右に行ってや左に行っては方向転換してから指定した歩数で歩行します。

 サーボパラメーター設定をチェックすると製品版で起動時にサーボパラメーターを変更する事ができます。
 サーボパラメーターを変更するとサーボの動きが変るのでロビのモーションにも影響するので注意してください。
 この機能を使うにはパラメーターデータ(servoフォルダー)をロビのSDカードに入れておいてください。
 設定データ変更機能の
サーボパラメーターで設定値を変更する事ができます。

 バイナリパッチボタンはロビ2のプログラム(STARTUP.BIN)にパッチ(値の修正情報)を当てる時に使います。
 パッチはCSV形式のファイルで提供されるもので各行はアドレス、元の値(1バイト)、変更値(1バイト)がカンマで区切ります。
 元の値を*で記述すると元の値をチェックしないで変更されます。
 アドレス、値は10進数または16進数で指定します。(16進数の場合は頭に0xを付ける)
 数字で始まらない行はコメント行とみなして読み飛ばします。

 パッチファイルの例  ものまねのランダム取得変更
0x00e7ea,0xfa,0xa5
0x00e7eb,0xbe,0xbf


設定データ変更

 ロビ2では電圧監視のしきい値やタイムアウトの時間など外付けのバイナリファイルからデータを読込んで行います。
 本プログラムはその値を変更する事ができます。



 初期化済はロビ2 の初期設定済かの情報でチェックを外すと起動時に初期登録ルーチンが動きます。

 ロビ誕生日は初期登録を行った日付(月、日)がセットされます。
 任意の日付に変更する事ができます。

 ボード確認エラー無視をチェックすると起動時に「xxボードが見つかりません」で起動ができないエラーを無視して起動する事ができます。

 ユーザ未登録警告無視をチェックすると起動時にユーザ登録されていない場合でもユーザ登録モードにならず動する事ができます。

 起動日時はロビ2が起動されるとその日時が書き込まれます。
 最後に起動した起動日時を示します。

 ロビ音量は現在のロビ2の音量を保持しています。
 値は小さいほど音量は大きくなります。(最大音量は0)
 この値は認識語「声大きく(小さく)して」で変更できますがここで設定した値が起動時の音量となります。

 テレビリモコンは設定されているテレビリモコンのメーカーを示します。
 未設定またはリモコンボードのDIPスイッチで設定されている場合は手動に設定されています。
 ラジオボタンで切り替える事でそのメーカーに設定されます。

 QRコード読込は今まで配信されたQRコードで読込み済みのものにチェックが付けられます。
 チェックを外すと未読状態になるのでそこで取得したパフォーマンスは実行されません。
 逆に未読の場合でもチェックを付けるとそのパフォーマンスを実行する事ができます。
 なお本プログラムで未配信のQRコードに対しては操作する事はできません。

 立ち姿勢時のタイムアウト時間はアイドリング状態が続いて座り姿勢に移行するまで時間が設定されています。
 標準で設定されている値は10800(1/60秒単位)=3分です。

 座り姿勢時のタイムアウト時間はアイドリング状態が続いて停止するまで時間が設定されています。
 標準で設定されている値は10800(1/60秒単位)=3分です。

 充電椅子姿勢時のタイムアウト時間は充電椅子に座っている時アイドリング状態が続いて停止するまで時間が設定されています。
 標準で設定されている値は2160001/60秒単位)=60分です。

 ファーム監視(電圧しきい値)はマイコンボードで監視する電圧のしきい値が設定されています。
 マイコンボードの電圧が設定値以下になるとロビ2が「充電して」と言います。
 標準で設定されている値は1870(1/310V単位)=6.0ボルトです。

 高電圧しきい値は認識語でバッテリー状態を確認する時の応答の電圧のしきい値が設定されています。
 この値以上の場合は「元気もりもり」などの音声で以下の場合以下の場合「そろそろ疲れた」などの音声で応答します。
 標準で設定されている値は2300(1/310V単位)=7.4ボルトです。

 低電圧しきい値は認識語でバッテリー状態を確認する時の応答の電圧のしきい値が設定されています。
 この値以下の場合は「充電充電」などの音声で応答します。
 標準で設定されている値は2185(1/310V単位)=7.0ボルトです。

 停止電圧しきい値はプログラムで監視する電圧のしきい値が設定されています。
 この値以下の場合はロビが「充電してガク」と言って停止します。
 標準で設定されている値は2002(1/310V単位)=6.5ボルトです。

 ランダムを固定値にするとロビ2のプログラムで使われるランダム値を任意の値に固定する事ができます。
 ランダムは剰余で処理されるため使用する選択肢の数より大きい値でも構いません。
 可変値にすると従来通りのランダム値が取得されます。

 サーボパラメーターはロビ2の起動時にサーボモーターに設定される設定値です。
 データーはサーボの個数分ありますが本プログラムでは手と足のサーボのパラメータをそれぞれ変更する事ができます。

 プログラム変更の
サーボパラメーターの変更をチェックしてこの機能を追加してください。
 パラメーターデータ(servoフォルダー)をロビのSDカードに入れておいてください。
 パラメーターの意味はこちらの資料を参考にしてください。
 なおロビ2のサーボではパンチの単位が変更になっています。 

 標準値に戻すボタンを押すと本プログラムで変更された設定値がロビ2の初期設定値に戻されます。
 ただしロビ2が書き換えたデータは元には戻しません。

 OKボタンを押すと変更したデータでファイルが更新されダイアログは閉じられます。
 キャンセルボタンはファイルは更新されずにダイアログは閉じられます。

ユーザデータ変更

 ロビ2では10人までユーザの情報が登録できます。
 本プログラムは登録した値の名前や日付などを変更する事ができます。



 名前番号はロビ2の名前ファイルの名を表します。
 音声ファイルはロビ2のSDカードのvoiceフォルダーのnameフォルダーにあります。

 編集ボタンを押すとそれぞれのユーザの登録データが変更できます。



 名前のプルダウンリストは登録可能な名前が全て含まれていてそこから名前が選択できます。
 選択した名前にデータは変更されます。

 誕生日、結婚記念日、特別な日はキーボードで入力した値に変更されます。
 月と日を/で区切って半角数字で入力してください。
 スペースに変更するとそのデータは削除されます。

 習い事の日とゴミの日はチェックボックスで指定します。
 複数の指定が可能です。

 OKボタンを押すと変更したデータでファイルが更新されダイアログは閉じられます。
 キャンセルボタンはファイルは更新されずにダイアログは閉じられます。

プログラムのダウンロード

 本プログラムの最新版は以下のリンクからダウンロードする事ができます。

  
RBEdit2.zip

 なおロビのプログラム変更やSDカードの書き換えは、ロビ本体への影響を及ぼす可能性があるのであくまでも自己責任という事でお願いします。
 また必ずオリジナルのSDカードのバックアップは取っておいてください。
 問題があったらオリジナルのSDカードに戻してください。

目次に戻る