[MG400, DobotStudio Pro] ユーザ座標系を使用したプログラムの作成について
1. はじめに
本記事ではユーザ座標系の機能についてご紹介いたします。
パレット機能を使用する際には必須の機能であるほか、ティーチング作業のサポートや衝突等による軸ずれが発生した際の復旧に役立つ可能性のある機能となりますので、ご参照ください。
2. ユーザ座標系とは
ロボットの基準となる座標系とは別にユーザが新しく定義することができる座標系のことです。
ロボットには、自身の姿勢を計算するために必要な基準となる座標系があらかじめ設定されております。こちらはいわゆるロボット座標系と呼ばれるもので、MG400の場合は基台の中央付近を原点として前方方向がX軸、左方向にY軸を持つ右手座標系で設定されており、変更することはできません。
ユーザ座標とは、この座標系とは別に新しく作成することができる座標系のことです。MG400ではユーザ座標/ユーザフレームと呼ばれます。
本記事内ではユーザフレームの表現も使用いたします。
3. ユーザ座標の登録方法
この章では、実際にソフトウェアの画面を示しながらユーザ座標の登録方法を紹介いたします。
今回使用したソフトウェアとMG400のファームウェアバージョンは以下の通りです。アップデートに関しましては以下の記事をご参照ください。
3.1 ユーザ座標設定画面の表示
ユーザ座標の登録は、ソフトウェア画面左上にある三本線のメニューボタンから設定を開き、座標系の登録を選択することで画面が開けます。ユーザ座標系は最大9コ登録が可能で、事前にUser0と同じ座標情報がデフォルトで登録されています。User0は基準となる座標系であり変更や削除はできませんので、index1~9の座標系の情報をmodifyで変更することで新規に登録することになります。
本記事ではindex1に登録する例として紹介いたします。NO.1をクリックしたあと、上部のmodifyを選択します。

ユーザ座標一覧画面

インデックス1のユーザフレームを修正
3.2 座標系の登録
座標系の登録方法は2つあります。
1.入力設定:原点位置のみ指定して変更し、軸は基準座標系と同じ
2.二点入力:二点の座標を使用して、原点位置とX軸の向きを決定する
座標系の登録には基準座標系User0における座標情報が必要であるため、MG400を直接動かした後に「座標を登録」ボタン押下で座標を登録できます。二点の取得が完了しましたら「SAVE」で保存してください。「Move」ボタンは現在登録されているP1 or P2の座標までMG400が移動させることができるボタンですので、登録点がどこであるかを実際に確認可能です。
本記事では二点入力での登録を例に紹介いたします。

ユーザフレーム登録画面1

2点入力での座標登録
二点入力での登録した情報による座標系の決定は以下の通りです。
P0:座標系の原点となる点
P1:X軸正方向となるベクトルを決定する点
として、
1.X軸となるベクトルをP0,P1で決定
2.Z軸は基準座標系のものをそのまま使用
3.y軸は上記二つの軸から右手座標系となる垂直なベクトルで決定
上記のように軸の決定を行います。
4. 使用方法
ここまでの操作でUser1に新しくユーザフレームを登録できましたので、実際に操作していきます。
4.1 「コントロール」からユーザフレームを選択する
コントローラをお開きいただき、上部のほうのUserから番号を選択可能です。デフォルトでは0ですが、こちらを1に変更すると変更完了です。

ユーザフレーム選択画面
変更の前後でx,y,z,rの座標値を比較して、値が変化していれば問題ありません。事前にP0に移動しておき座標系を変更すると座標が0になるのでわかりやすいです。

ユーザフレーム選択前

ユーザフレーム選択後
4.2 通常通りポイントリストに点を追加する
ポイントリストは点の追加時に現在の座標系の情報も保存しています。そのため、コントローラからユーザフレームを変更していれば、あとは通常通りポイントリストを作成することでユーザフレームの異なるポイントリストを作成できます。

ユーザフレーム1で登録
5. 既存プログラムのポイントリストの座標のユーザ座標系を変更する
ここでは、これまでに基準座標系User0で作成されたプログラムのポイントリストのユーザフレームを変更して登録する手順についてご紹介いたします。
こちらは次の章の対処法にも関連する内容となります。
手順は以下の手順を繰り返す形となります。
1.ポイントリストより既存の座標を選択して「RunTo」ボタン押下で移動
2.コントローラのUserを変更したい座標系にする
3.ポイントリストの「cover」ボタン押下で更新
6. 衝撃などにより座標がずれてしまった場合の対処法
こちらの記事は4章の内容と関連しております。
衝撃などにより各軸の初期位置がずれてしまったときはキャリブレーションが必要になります。キャリブレーションでは作業者の手でロボットの初期姿勢を作ることになりますが、この初期姿勢を完全に衝突前と同じようにすることは難しいため、結果としてキャリブレーション後はプログラムで想定していたポイントから多少ずれてしまいます。そのため、高い精度で行いたいところで利用している場合には基準座標系で登録したポイントは多くの場合再度ティーチングし直しとなってしまいます。
このようなティーチングの手間を軽減できる可能性があるのが、ユーザ座標系の機能となります。ユーザ座標系で登録した座標に従いポイントを登録しておくことで、キャリブレーション+ユーザ座標系再登録の二つの方法により調整ができるようになるため、元のポイントへ問題なく移動できる可能性が高くなります。イメージといたしましては、本来プログラム内のポイントリストすべてを再度ティーチングするところをユーザ座標系2点のティーチングで解決できることになります。
復旧手順は以下のようになります。
1.MG400購入時に付属しているキャリブレーションツールを使用して、キャリブレーションを実施
キャリブレーション方法につきましてはこちらの記事をご覧ください。
2.本記事2章の手順でユーザ座標系を再登録
3.プログラムを実行して元のポイントへ移動できているかどうか確認
Related Articles
[DobotStudio Pro] Scriptを用いた操作
1. はじめに 本稿ではDobotStudio Proを使い、Lua言語でのプログラミング例を掲載しております。 本稿では3点P1,P2,P3の移動をサンプルしてプログラムしております。 下図のように任意の3点を「ポイント」タブより設定したうえでプログラムを実行してください。 ダイレクトティーチングを用いると簡単に設定できます。 2. 環境 OS: Windows 11(64bit) ソフトウェア: DobotStudio Pro v2.6.0 製品: MG400 ...
[DobotStudio Pro ver2.6.0~] パレタイジング
1. はじめに 本記事では、2023/1/16公開のDobotStudio Pro 2.6.0~より新しくなりましたパレタイジング機能についてご紹介します。 これまでのパレタイジング機能からとても使いやすくなりましたので、過去のバージョンでご利用されている方や、これから使用を考えている方もぜひご参照ください。 2. 環境 以下の環境にて、この手順が有効であることを確認しています。 OS: Windows 10(64bit) MG400: DobotStudioPro ...
[DobotStudio Pro] I/Oの読み取りが意図したタイミングとずれてしまう場合
1.はじめに 本稿ではMG400のI/Oの読み取りのタイミングが意図した場所とずれてしまう問題について、原因と対処法を案内しています。 2.原因 MG400のプログラムでは、MG400にコマンドを送信後すぐに次のブロック(行)を実行してしまいます。このため、MG400の動作が完了する前にI/Oの読み取りが実行されてしまい、意図した動作を行わない場合があります。 3.対処法 同期命令を追加することで、MG400の動作が完了するまでプログラムを停止することが出来ます。 3.1 DobotStudio ...
[M1Pro] アップデート方法
1. はじめに 本稿では、M1Proの制御ソフトウェアであるDobotStudio Proと、コントローラファームウェアのアップデート方法をご案内します。 [注意]本稿はM1Proのアップデート手順です。故障の原因になりますので、本稿からダウンロードできるアップデートファイルはM1Proにのみ適用し、その他の機種では使用しないでください。 [注意]MG1Proのコントローラーファームウェアバージョンがv1.5.4.0未満の場合、 DobotStudio ...
[MG400] アップデート方法
1. はじめに 本稿では、MG400の制御ソフトウェアであるDobotStudio Proと、コントローラファームウェアのアップデート方法をご案内します。 [注意]本稿はMG400のアップデート手順です。故障の原因になりますので、本稿からダウンロードできるアップデートファイルはMG400にのみ適用し、その他の機種では使用しないでください。 [注意]MG400のコントローラーファームウェアバージョンがv1.5.4.0未満の場合、 DobotStudio ...