上の図のプログラム ツリーの記述方法と組み合わせて、次のコードを使用してこの機能を実現できます。 上の図では、ユーザー座標系 1 でウェイポイントが Y 方向に 0.1m オフセットされています。
def Base2User(p,user):
#ベース座標における点pのポーズを基に、ユーザ座標における新たなポーズデータに変換されます。
return pose_trans(pose_inv(user),p)
def User2Base(p,user):
#ユーザ座標における点pのポーズを基に、ベース座標における新たなポーズデータに変換されます。
return pose_trans(user,p)
def Offset_in_user(p_in_base,user,dx=0,dy=0,dz=0):
# ベース座標系に基づいてポーズを渡し、ユーザー座標系の xyz 方向に沿って移動します。
p_in_user = Base2User(p_in_base,user)
p_in_user[0] = p_in_user[0] +dx
p_in_user[1] = p_in_user[1] +dy
p_in_user[2] = p_in_user[2] +dz
return User2Base(p_in_user,user)