LANGUAGE
日本語 English

関数名

RobPtpJointMove

定 義

short RobPtpJointMove ( short idx, double GoalPos[MaxRobAxes], long MoveType );

戻り値

0が返却されます。

引 数

idx:ロボットを指定するインデックス。
GoalPos:ロボットの各軸の動作目標位置を関節座標系で指定します。配列要素数はMaxRobAxesにしてください。
MoveType:動作の種別。以下の値が有効です。
1…絶対位置指定同期命令
2…相対位置指定、同期命令
3…絶対位置指定、非同期命令
4…相対位置指定、非同期命令

概 要

指定ロボットを、関節座標系で指定された位置へ、PTP動作にて移動します。

詳 細

関節座標系では、原点復帰を実施しなくとも移動動作が可能です。
原点復帰前に本関数を使用する場合は、絶対位置指定はできません。相対位置指定(動作種別2または4)を指定してください。
ロボットが複数軸で構成されている場合、移動開始タイミング、および停止タイミングは軸間で同期動作となります。
加減速時間の設定はRobSetPtpAccelerationsで行います。移動速度の設定はRobSetPtpSpeedで行います。
目標位置の単位は[ユーザ単位]です。

備考

目標位置を設定する配列は配列要素[0]から順番に使用されます。例えば、2軸ロボットであれば1軸目の目標位置は配列要素[0]に、2軸目の目標位置は配列要素[1]に設定しておきます。詳細はロボットと軸(モータ軸)リソースを参照してください。
各座標系で使用するMOS関数一覧はこちらを参照してください。

前処理の候補

後処理の候補

他処理の候補

対応HW

〇PCベースコントローラ
〇InterMotion

使用例


次のプログラムは、2軸で構成されたRobot1を2次元平面上の座標(0,0)と(-100,-55)との間で無限回数移動する例です
void main() {
	・・・・
	// 目標位置を格納する配列の要素数は必ずMaxRobAxesとしてください
	double pos[MaxRobAxes]; 			// 目標位置を格納する配列を宣言
	・・・・
	RobSetPtpAccelerations(1, 50, 50, 0, 0);	// Robot1の加減速時間設定
	RobSetPtpSpeed(1, 100); 			// Robot1の移動速度設定
	RobSetManipServoPower(1, 1); 			// Robot1を全軸サーボオン
	pos[0] = 20;					// 1軸移動量を設定
	pos[1] = 40; 					// 2軸移動量を設定
	RobPtpJointMove(1, pos, 2); 			// 原点復帰前に現在位置から(+20, +40)の相対位置へptp移動
	RobReturnHome(1); 				// Robot1を原点復帰
	while(1) {
		pos[0] = -100;				// 1軸目標位置を設定
		pos[1] = -55; 				// 2軸目標位置を設定
		RobPtpJointMove(1, pos, 1); 		// 絶対位置(-100, -55)へptp移動
		Sleep(500);				// 500ms処理遅延
		pos[0] = 0;
		pos[1] = 0;
		RobPtpJointMove(1, pos, 1); 		// 絶対位置(0, 0)へptp移動
		Sleep(500); 				// 500ms処理遅延
		・・・・
	}
	・・・・
}