二足歩行ロボットコミュニティサイト

【サイトの使い方】  【サイトマップ】  【お問い合わせ】 
ロボット動画  |   ロボット写真  |   BBS  |   ダウンロード  |   イベント予定  |   スタッフ日記  |   リンク  |  
ログイン パスワード    新規登録   パスワード紛失  

 

第22回 新しく関節を追加する

今回はロボットに新しく関節を追加する場合の設定方法について説明します。
特に、未知のサーボモータを使って関節を追加した場合を想定し、詳しい設定方法を解説します。この方法は新しく設計したロボットを RobovieMakerでセットアップする際にも参考になるかと思います。
ちなみに、RB2000の15軸化セット、19軸化セットなどにはRobovieMakerでの設定方法に関する説明を記述しているので、そちらを参照して いただければ使用上問題ありません。

ちなみに、今回の内容を説明する前にRobovieMakerを最新版(Release10以降)にアップデートすることをお薦めします。
以前のバージョンのRobovieMakerでは、新しい関節を追加した後に過去のモーションを読み込むと、その関節の値が0で読み込まれたり、そ れを防ぐための確認ダイアログが大量に表示されたりします。
RobovieMakerのアップデート方法は連載第8 回をご参照ください。

サーボモータの可動範囲と対応表示角度を調べる

追加する関節にこれまで使用したことのない未知のサーボモータを使用する場合は、まずそのサーボモータにとって適切な可動範囲と対応 表示角度を調べます。
まず生のサーボモータをCPUボードに接続してください。このとき角度を見やすいようにサーボホーンだけははめておくことをお薦めします 。
CPUボードにサーボモータを接続したら、RobovieMakerより接続箇所に該当するポーズスライダの設定を行ないます。
メニューより「ポーズ」→「ポーズスライダのプロパティ」をクリックしてポーズスライダのプロパティダイアログを開き、「設定するポ ーズスライダ」より追加した関節のポーズスライダを選択してください。
サーボモータを接続したポーズスライダの番号は、以下のコネクタの位置とポーズスライダの番号の相対表を参考にしてください。

   CN1-1:00    CN2-1:06    CN5-1:24
   CN1-2:01    CN2-2:07    CN5-2:25
   CN1-3:02    CN2-3:08    CN5-3:26
   CN1-4:03    CN2-4:09    CN5-4:27
   CN1-5:04    CN2-5:10    CN5-5:28
   CN1-6:05    CN2-6:11    CN5-6:29
   CN3-1:12    CN4-1:18
   CN3-2:13    CN4-2:19
   CN3-3:14    CN4-3:20
   CN3-4:15    CN4-4:21
   CN3-5:16    CN4-5:22
   CN3-6:17    CN4-6:23

ポーズスライダの番号をあわせたら、「数値設定」の「書式」を「10進数」、「可動範囲」の下限を-32768、上限を32767に設定してくださ い。
また、「ポーズスライダの位置/フラグ設定」より「スライダ有効」にチェックを入れ、「基準ポーズ相対値」「符号反転」のチェックを外 してください。
設定が完了したらダイアログの「適用」をクリックし、ダイアログを閉じてください。

ポーズスライダプロパティ

ダイアログ

ちなみに、追加したポーズスライダは場合によってポーズエリア中の見づらい位置に表示されることがあります。その場合は、ポーズスラ イダを選択して「SHIFT」キー+ドラッグで動かしてください。
また、他のポーズスライダと重なって見えない場合は、一度「表示座標」をx=0,y=0などに設定して重なりにくい位置にポーズスライダを動 かしてからSHIFTキー+マウスでドラッグしてください。

次に、実際にサーボモータを動かして、サーボモータが対応している可動範囲をポーズスライダの実数値で調査します。
ロボットと通信を開始しサーボモータをONにしたら、先ほど追加したポーズスライダの値をゆっくり動かして、サーボモータが脱力する、 もしくはサーボモータのストッパに当たる位置を探してください。その位置がサーボモータの可動範囲に当たるので、その瞬間のポーズス ライダの値をメモしておきます。

サーボモータの可動範囲をポ

ーズスライダの実数値で調べる
ポーズスライダを動かして、サーボモータが脱力したりストッパに当たる箇所を探す。
両側についてその位置を調べ、そのときのポーズスライダの値をメモしておく

可動範囲の両端の値を確認したら、実際の可動範囲の値を決めます。サーボモータには個体差があるので、ここで調べた値から更にある程 度のマージンを考えて可動範囲を狭めます。
マージンはだいたい数100から1000程度の値で考えれば問題ありません。
可動範囲を決めたら、再びポーズスライダのプロパティダイアログを表示し、「数値設定」の「可動範囲」の項目に調べた可動範囲を代入 してください。
また、ここで合わせて「対応表示角度」も計算します。対応表示角度は、サーボモータを1度動かす場合に必要なポーズスライダの加算値で あり、「ポーズスライダの可動範囲」を「角度の可動範囲」で割り算すれば求まります。
例えば角度で-90度〜90度の可動範囲を持つサーボモータがポーズスライダで-20480〜+20480の可動範囲の場合は、40960÷180度 =227.5555....が対応表示角度になります。

調べた可動範囲を、若干の

マージンを含め設定する
先ほど調べた可動範囲から若干のマージンを考慮した値を実際の可動範囲に代入する
可動範囲は±20480のように上限と下限の絶対値をあわせておくと、見栄えやモーション作成上分かりやすい
ついでに「角度単位の可動範囲」÷「ポーズスライダ値の可動範囲」を計算し、「対応表示角度」に代入する

「可動範囲」と「対応表示角度」の設定が完了したら、設定を適用してダイアログを閉じ、再びポーズスライダでサーボモータを動かして みます。
このとき、サーボモータの実際の角度と画面上のポーズスライダの表示角度に大きな差がなければ正しい設定となります。
この「可動範囲」と「対応表示角度」の設定値をメモしておきましょう。
また、同じ機種のサーボモータを別の箇所で使う場合は、ここで調べた設定を流用してください。

設定した可動範囲を実際にサ

ーボモータを動かして確認する
もう一度可動範囲までサーボモータを動かし、実際のサーボモータの角度と大きな誤差が無いか確認する

新しい関節のポーズスライダを設定する

いよいよ新しい関節を追加します。まずはロボットに新しい関節を取り付け、CPOUボードへの配線を済ませてください。
配線まで完了したら、、まず追加した関節のポーズスライダの設定を行ないます。
ポーズスライダの設定については連載第13 回に詳しく解説しているので、これからの説明は大雑把にかいつまんで記述します。
分からない箇所があれば連載第13回をおさらいしてください。

なお注意として、基準ポーズの設定が完了するまで、基本的にサーボモータをONにしないでください。
場合によっては追加した関節が異常な方向に動いてモータロックなどの事故が発生する場合があります。

まず、メニューより「ポーズ」→「ポーズスライダのプロパティ」をクリックしてポーズスライダの設定ダイアログを開き、「設定するポ ーズスライダ」より追加した関節のポーズスライダを選択してください。
ダイアログ中の各項目は以下のように設定します。

「テキスト設定」では、追加する関節の名前や動く方向を設定してください。

ポーズスライダ名の設定

「数値設定」の項目では、先ほどの項目で調べたサーボモータの可動範囲、対応表示角度を設定し、「書式」を「角度(deg)」に設定してく ださい。
また、「ステップ分解能」は他の関節の設定とあわせると便利です。
例えば他の関節が「角度(deg)」の書式で0.5deg動くようにステップ分解能を設定している場合は、「対応表示角度」の設定を半分にした値 を代入すると良いです。

数値設定
先ほどのサーボモータの設定を代入

「左右設定」の項目では、対となる関節との関係を設定します。
両腕・両足に同じ関節を追加する場合など、新しく追加する関節に対となる関節が存在する場合は、その関節が右半身と左半身のどちらに属 するか、また対となるポーズスライダはどれかを設定してください。
対になる関節がない場合は「属性」を「設定無し」にしてください。

左右設定
左右対称となる軸の場合は属性と相手のポーズスライダを設定。
左右対称にならない場合は属性に「設定無し」を選択する

「スライダの位置/フラグ設定」では、「スライダ有効」に必ずチェックを入れ、「符号反転」「基準ポーズ相対値」のチェックを外してく ださい。
その他のフラグの設定についてはどのような状態でも特に問題ありませんが、基準ポーズの設定が完了するまでは「スライダ有効」以外の フラグを全て無効にしておくのが理想的な状態です。

フラグ設定
上図のようにフラグ設定を行なう

全ての設定が完了したら設定を適用します。
一つのポーズスライダを設定するたびに「適用」をクリックしてください。

基準ポーズの設定をする

次に、追加した関節の基準ポーズを設定します。
RobovieMakerでは、ツールバーのニュートラルボタンボタンやメニューの「ポ ーズ」→「基準ポーズの選択」で表示される項目をクリックすると、ロボットが基準ポーズになりますが、新しく追加した関節はまだこの ときの基準ポーズが設定されていないので、ここで新しく設定する必要があります。

まずはロボットを手で動かして、適切な基準ポーズを考え出します。新しい関節を含めて自分が考える基準ポーズにロボットをあわせてみ てください。
ロボットを基準ポーズに合わせたら、新しく追加した関節、及び関節の追加に伴ってこれまでの基準ポーズと角度が変わる関節の角度を調 べていきます。
このときの角度とは、サーボモータの原点(=可動範囲の中心点)からのオフセットです。
ちなみに関節の角度は厳密に測る必要はありません。むしろ、0度、30度、45度、90度など区切りの良い角度を大雑把に当てはめる方が、見 栄えや今後のモーション作成の都合上良いです。
また、左右対称となる軸は、±60度などのように、左右の絶対値が一致する設定にしてください。

手でロボットを動かし基準

ポーズを考える
上図はRB2000の肘ROLL軸の例。
この軸は可動範囲を確保するため、サーボの原点を肘が直角に曲がる位置(図中緑線の角度)にあわせているが、これを基準ポーズする と常にモータロックが発生してしまう。
そこで、基準ポーズとしては図のように手をまっすぐ伸ばした状態(図中赤線の角度)にする。そのときのサーボ原点からの角度を測り 、それを基準ポーズとする。

角度を調べたら、RobovieMakerからロボットにそのポーズをさせます。
最初に、ツールバーの???ボタン及びメニューの「ポーズ」→「基準ポーズの選択」の表示項目をクリックして既存のポーズスライダを 基準ポーズに合わせ、次に新しい関節や基準ポーズの変わる関節のポーズスライダを、先ほど調べた角度にあわせます。
全てのポーズスライダを基準ポーズに合わせたら、ロボットと通信開始・サーボモータをONにしてください。
このとき、場合によっては本来と逆の方向にポーズスライダの値を設定している可能性があるので、サーボモータをONにするときにはモー タロックに充分注意してください。

サーボモータをONにした時に、新しい関節が先ほど手で動かしたポーズに近い状態になればOKです。
現段階ではおそらく新しい関節の角度が微妙にずれていると思いますが、これはサーボモータの位置補正前だからです。
位置補正は後で行なうので、一旦多少ずれた状態で先に基準ポーズの登録を行ないます。

基準ポーズの登録は連載第10回で解説 している通りに行ないます。
なお、基準ポーズの登録前に、改めて全てのポーズスライダが基準ポーズの位置に正しく設定されていることを確認してください。
まずメニューより「ポーズ」→「基準ポーズの登録」をクリックしてください。クリックすると基準ポーズの登録ダイアログが開きます。

ダイアログ左のリストより現在メインで使っている基準ポーズをクリックし、「現在のポーズと置換」ボタンをクリックしてください。
すると、先ほどポーズエリアで設定したポーズが、リスト中でクリックした基準ポーズと入れ替わります。
最後にダイアログの「適用」ボタンをクリックして設定を適用します。

基準ポーズの置き換え
現在メインで使用している基準ポーズを、「現在のポーズと置換」をクリックして先ほどポーズエリアで設定したポーズと置き換える。
置き換え後は「適用」をクリックして設定を反映させる

基準ポーズを入れ替えると、基準位置点が新しく設定した基準ポーズに合わせられます。
ここまでの作業が完了したら、新しい関節のポーズスライダの「基準ポーズ相対値」のフラグを有効に設定すると良いでしょう。

基準ポーズの置き換え
基準ポーズを置き換えると、上図のようにポーズスライダ上の基準ポーズ値点が動く

最後に、新しい基準ポーズを元にサーボモータの位置補正を行ないます。
位置補正の手順はこれまでとまったく同じなので、新しい関節を先ほど考えた理想の基準ポーズに合わせ、ツールバーのサーボモータの位置補正ボタンボタン及びメニューの「プロジェクトの設定」→「 サーボ位置補正」をクリックしてください。

過去に作成したモーションの読み込みについて

新しい関節の追加以前に作成したモーションを読み込む場合は、追加した関節が新しい基準ポーズに合わせて読み込まれる必要があります 。
RobovieMakerでは、Release8以降のバージョンでモーションをファイルに保存するとき、保存時点で各ポーズスライダが使用/未使用のどち らの状態だったかを記録するようになっています。
過去のモーションファイルを読み込んだ際に、ファイル保存時に未使用だったポーズスライダが有効になっていた場合、そのポーズスライ ダに対して「動作は保証されないが、保存された数値をまま読み込む」「現在の基準ポーズを代入して読み込む」のいずれかの処理を選択 できます。
Release10以前のRobovieMakerではファイルを開くたびにどちらの処理をおこなうか選択するダイアログが表示されましたが、Release10以 降のRobovieMakerでは、デフォルトでどちらの処理を行なうか(もしくは従来のようにダイアログを表示するか)を選択できるようになっ ています。
この設定を行なう場合は、メニューより「プロジェクトの設定」→「画面表示の設定」をクリックしてください。
クリックして開いたダイアログより「その他」のタブインデックスをクリックすると以下のように画面が切り替わります。

画面設定ダイアログのその

他の項目

こちらで、「ファイルからモーションを読み込んだ際に、現在使用していないポーズスライダが使われていた場合」の項目で設定を変更で きます。
「該当箇所を基準ポーズに置き換える」の場合は、未使用だったポーズスライダの値を全て現在の基準ポーズに差し替えて読み込みます。
「値を変換せずにそのまま読み込む」の場合は、未使用だったポーズスライダの値をファイルの内容のまま読み込みます。
「確認ダイアログを表示する」の場合は、未使用だったポーズスライダが見つかると上記二つの処理のどちらを行なうかを選択するダイア ログを表示します。

関節の可動範囲を制限する

新しく追加した関節がサーボモータの可動範囲よりも狭い可動範囲、モータロックなどの事故を防ぐため可動範囲を制限することをお薦め します。
可動範囲の制限は、最初に行なったサーボモータの可動範囲・角度調査と同じような手順で行ないます。
メニューより「ポーズ」→「ポーズスライダのプロパティ」をクリックし、ポーズスライダのプロパティダイアログより「数値設定」の「 書式」を「10進数」に、また「スライダ位置/フラグ設定」の「基準ポーズ相対値」のチェックを外してください。

ポーズスライダの設定を行なったら、調査する関節のポーズスライダを実際に動かして、可動範囲をポーズスライダの実数値で調べます。
可動範囲を調べたら再びポーズスライダのプロパティダイアログを開き、調べた可動範囲を「可動範囲設定」に記述します。
また、「数値設定」の「書式」や「スライダ位置/フラグ設定」の「基準ポーズ相対値」の設定も元に戻します。

最後に

今のところ次回の具体的なお題の予定は特にありません。
何かリクエストがあれば、是非掲示板などにご意見をお寄せください。


前のページ
第21回 CPUボードの詳細設定について
コンテンツのトップ 次のページ
番外編 RobovieMakerで音楽演奏のモーションを作る


検索
Loading
メインメニュー