LANGUAGE
日本語 English

関数名

RobArcMove

定 義

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

戻り値

0が返却されます。

引 数

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

概 要

指定ロボットを、指定された中継位置を経由し、指定された目標位置まで円弧補間動作にて移動します。

詳 細

本関数での補間の対象は論理軸の1~2軸で、直交座標系のXY軸の2次元と同意です。
補間対象外の軸は、対象軸の移動開始と移動終了に同期し、移動量はGoalPosに対して比例配分されます。PassPosは通過しません。
加減速時間の設定はRobSetCpAccelerations関数で行います。移動速度の設定はRobSetCpSpeed関数で行います。
目標位置の単位は[ユーザ単位]です。

備考

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

前処理の候補

後処理の候補

他処理の候補

対応HW

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

使用例


次のプログラムは、4軸で構成されたRobot5を円弧補間で無限回数移動する例です
void main() {
	double ppos[MaxRobAxes], gpos[MaxRobAxes];
	short rob;
	・・・・
	rob = 5;
	//エラーリセット、サーボON、原点復帰
	MwResetSystemError();
	RobResetError(rob);
	RobSetManipServoPower(rob, 1);
	RobReturnHome(rob);
	//初期設定
	RobSetCpSpeed(rob, 200);			// 移動速度設定
	RobSetPtpAccelerations(rob, 0.5, 0.5, 0, 0);	// 加減速時間設定
	ppos[0] = 150.0;
	ppos[1] = 0.0;
	ppos[2] = 0.0;
	ppos[3] = 0.0;
	RobLinearMove(rob, ppos, 1);			// 移動の初期位置への移動
	//往復移動 1軸目(X)と2軸目(Y)で円弧補間を行う
	//1軸目と2軸目(X,Y)は(150, 0)の位置から(0, 150)を経由して(129.9, -75)の位置へ円弧補間動作で移動する
	//3軸目と4軸目(T1,T2)は補間対象軸の移動開始と終了に同期して(0, 0)の位置から(200, 600)の位置へPTP動作で移動する
	while(1) {
		ppos[0] = 0.0;		//Xの中継位置
		ppos[1] = 150.0;	//Yの中継位置
		ppos[2] = 300.0;	//補間対象軸以外の中継位置は通過しません(無視されます)
		ppos[3] = 500.0;	//補間対象軸以外の中継位置は通過しません(無視されます)
		gpos[0] = 129.9;	//Xの目標位置
		gpos[1] = -75.0;	//Yの目標位置
		gpos[2] = 200.0;	//T1の目標位置
		gpos[3] = 600.0;	//T2の目標位置
		RobArcMove(rob, ppos, gpos, 1);
		Pause(1);
		ppos[0] = 150.0;
		ppos[1] = 0.0;
		ppos[2] = 0.0;
		ppos[3] = 0.0;
		RobLinearMove(rob, ppos, 1);
		Pause(1);
	}
	・・・・
}