HeartToHeart4講座(4-5) リンク機能を使いこなす
HeartToHeart4には、モーション作成の便利な機能として「リンク機能」があります。リンク機能を使用すると、複数のサーボに対して同時にポジションを変更することができます。この記事では、屈伸を例にリンク機能の使用方法を解説します。
【関連記事】
第一章~第三章については下記のページからご参照ください。
第四章
HeartToHeart4講座(4-1) センサによるモーション分岐機能
HeartToHeart4講座(4-2) ミキシング機能を利用した姿勢補正
HeartToHeart4講座(4-3) ボタンによるモーション分岐機能
HeartToHeart4講座(4-4) サーボのストレッチを調整する
■リンク機能とは
リンク機能ではサーボに対して予め数値を設定しておき、Posダイアログ内のプラスボタン、マイナスボタンで複数のサーボに対して「同時」にポジションを足し引きできます。左右対称に動作するときのポジションを設定したり、同じ量だけ段階的に動作するときに使います。
例えば、以下の記事で紹介する屈伸の場合、通常の方法だとサーボ一つ一つに対してポジションを入力し、屈伸させます。この場合、屈伸の高さを変更することになると、改めて一つ一つ調整し、高さを変えなくてはいけません。6つのサーボだと6回の作業が必要になりますし、希望の高さにするには調整が面倒です。
対して、リンク機能を使用すれば、予め設定した数値を指定したサーボに足し引きしてくれますので、プラスボタン、マイナスボタンを押すだけで屈伸の高さを変更できます。
■使い方
リンク機能を利用して、ロボットをしゃがませてみます。
1)プロジェクトを展開し、モーション編集ウィンドウを新規作成します。
2)モーション名のタブで右クリックし「名前を変更」を選択します。モーション名を変更してください。例では、「リンクテスト」としました。
3)ツールボックスウィンドウからPosコントロールを一つドラックアンドドロップします。
4)Posコントロールをダブルクリックし、ダイアログを開きます。
5)開いたダイアログの「リンク機能」メニューから「リンクファイル新規作成」を選択します。
6)「リンク設定」ダイアログが開きます。リンクの対象するサーボに、1クリックあたりのポジション(角度)を入力します。今回は屈伸をしますので、以下の画像の数値を入力してください。
下記の数値は、KXR-L2の場合です。
7)入力ができたら「保存」ボタンを押します。
8)任意の名称を付けて保存してください。保存ができたら「リンク設定」ダイアログをOKボタンで閉じます。
9)PCとロボットが通信できるように準備し、ロボットの電源をONにします。
10)「Sync」ボタンをONにします。
11)メニューから先ほど保存したリンクファイルを選択します。
12)ここからロボットが動きます。メニューの脇にあるプラスボタンを押してください。
13)プラスボタンを押すたびに、ロボットの脚が少しずつしゃがみます。具体的には、「リンク設定」で入力した、腿+100、膝+200、足首+100ずつポジションが加算され、しゃがむ姿勢が深くなっていきます。
また、同時にPosコントロール内の各サーボのポジションにも1クリックごとに設定した数値が加算されていきます。
14)ある程度屈伸ができたら、今度はマイナスボタンを押してみてください。今度は脚を伸ばす方向に変化します。
各サーボのポジションも減算されていきます。
このように、リンク機能では、指定したサーボに対して設定した数値分だけ「同時」にポジションの足し引きができます。
歩行モーションの作成では、片足を上げて降ろす、などの動作をしますが、このリンク機能を使用すればクリックするだけで任意の高さに脚を上げることが可能になります。
■応用:手を振るモーションを改造
これまで作成してきた「手を振る」モーションに表情を追加します。リンク機能を利用し、姿勢を左右に傾けながら手を振るように改造します。
1)「手を振る」モーションを開きます。
2)上書きしないようにモーション名を変更します。タブで右クリックし「名前を変更」を選択してください。例では「手を振る2」としました。
3)まずは、姿勢を右に傾けるリンクを作成します。「リンクファイル新規作成」で下記のファイルを作成し、「右傾斜」という名前で保存してください。
4)次に、姿勢を左に傾けるリンクを作成します。「リンクファイル新規作成」で下記のファイルを作成し、「左傾斜」という名前で保存してください。
5)「手を振る」モーションにある「Pos」2つをコピペして4つに増やします。左クリックの枠で囲むと2つ同時に選択できます。そのままコピペすると画像のようになりますが、一つずつコピペしても問題ありません。
6)「Pos1」から「Loop」の配線を削除します。
7)「接続」ボタンをONにし、以下のように配線します。
8)左のPos0から順番に作業します。
Pos0をダブルクリックで開き、「右傾斜」を選択。プラスボタンで傾けます。倒れない程度に6回クリックくらいで右に傾けます。OKボタンで閉じてください。
9)右隣のPos1はそのままにします。その右隣の追加したPos0を開きます。
「左傾斜」を選択。プラスボタン6回で左に傾けます。OKボタンで閉じてください。
10)一度「ホームポジション」を開いて姿勢をホームポジションに戻します。
11)再生ボタンを押してください。左右に傾きながら手を振るモーションができましたら成功です。
■リンク機能のパラメータを決める方法
リンク機能のパラメータを検討する場合、まずは最終的に取りたい姿勢であるゴール地点を決めてしまうとわかりやすいです。
教示機能などを利用し、右に傾いた姿勢を作成します。教示機能でポジションを設定すると「1524」など数値が細かくなりますので、「1500」など切りの良い数値に変更します。これを10クリックで1500にする場合は、1500/10=150で、リンクに150と設定します。あとは、プラスボタンをクリックしていくたびに150、300、450・・・と加算されていき、10回で1500になります。
また、複数のサーボがリンクする場合は、数値に規則性があります。例えば、屈伸の場合は股関節100、膝200、足首100と設定しましたが、屈伸をする際に股関節と足首のサーボは同じ角度動作しますが、膝は他の関節に比べて倍の角度を動作する必要がありますのでこのような数値になります。ある程度規則性をとらえてから設定したほうが成功への近道です。
以上でリンク機能の解説は終わりです。
リンク機能は、使いこなすと手間が省けて非常に便利です。簡単なモーションを作成しながら機能に慣れてください。
次の記事
HeartToHeart4講座(4-6) 知っておくと作業が捗る機能
HeartToHeart4の詳細をみる KHR-3HV Ver.3.1 リフェバッテリー付きセットの詳細をみる KHR-3HV Ver.3 リフェバッテリー付きセットの詳細をみる RCB-4HVボードのみの詳細をみる RCB-4miniの詳細をみる KHR-3HV Ver.2 リフェバッテリー付きセットの詳細をみる KXR-L2 ヒューマノイド型 Ver.2の詳細をみる KXR-L4T-R カメ型・ローバー型 Ver.2(アカデミックパック)の詳細をみる KXR-A5 アーム型 Ver.2の詳細をみる KXR アドバンスセットA Ver.2の詳細をみる KXR アドバンスセットB Ver.2の詳細をみる