林 里奈
2022.06.22
poseブロックの遷移時間について
Vstone Magicのブロック機能に関する質問になります。

poseブロックの遷移時間(ip_time)は整数しか受け付けない仕様なのですが、遷移時間を変数にすることはできませんか?
poseセットの遷移時間(msec)は変数を受け付けるようなので、こちらで実現できるのではと検討しました、マニュアルに記載されている「pose現在値取得やpose目標値取得で取得し、poseオフセットで操作したポーズをロボットに反映させる」ということが理解できず、命令ブロックをどのように組めば良いのか分かりません。

poseブロックの遷移時間の変数化、もしくはposeセットの使用による遷移時間を変数で制御した動作のさせ方をご教示いただければと存じます。
よろしくお願いいたします。
回答
Sotaサポート
2022.06.22
林 里奈様

お世話になります。Sotaサポートです。
いただいたご質問にお答えします。

Poseブロックは、モーションを容易に作成することに特化したもので、このブロックについては遷移時間に変数や自由入力を用いることができません。
poseセットブロックは、CRobotPoseに記録されたポーズをロボットに送信する命令で、こちらはご質問の通り変数を利用できます。
デフォルトで設定されているCRobotPose poseはPoseブロックでも利用されるもので、Poseブロック実行直後はCRobotPose poseの内容が一時的に直前のPoseブロックの内容になります。
これを利用して、一度Poseブロックでポーズを実行させてから、別のCRobotPoseのクラス(インスタンス)を作成してコピーすれば、そのポーズ内容を記録でき、それを用いてPoseセットブロックでポーズを実行させることは可能です。
ただ、Poseの取得(コピー)は自由記述ブロック内でコーディングする必要があります。

類似の方法として、一度Poseブロックで任意のポーズを作成し、その内容を適す値エディタなどで開いて実際のコードを把握したうえで、自由入力ブロックでそのポーズを用いた任意の制御をコーディングする方法があります。
VstoneMagicの生成ソースをコピーする場合は、行末にシステム用の設定記述が含まれるものがあり、それがあると正しくVstoneMagicで開けなくなる場合がありますので、コードのコピーを行う際はご注意ください。
この質問に回答する
 

Page Top