エクサウィザーズMLエンジニアの柳元です。 あけましておめでとうございます(遅い)。
エクサウィザーズのRobotTechチームはこれまでにマニピュレータロボットを使って 粉体秤量 、液体秤量、 パレタイジング 、ピッキング、コンプライアンス制御などの動作を機械学習させることに成功してきました。 そして、これらの学習済みモデルを COREVERY によってデリバーしています。
学習と制御のフローを考えたりデバッグをする上で、念頭に置かなければならないことの1つとして、特異点の問題があります。今回はロボット制御におけるこの「特異点問題」についてお話しします。
ロボットの特異点(Singularity)とは?
特異点と聞いて何を想像するでしょうか?多くの人が 技術的特異点 を想像するかもしれませんが、数学・物理学・制御学においてはとあります。
ロボット制御における特異点は、構造的に制御できない姿勢を指します。軌道に特異点が含まれている場合、ロボットは特異点付近において高速に移動(暴走)し、そして特異点で停止してしまいます。 なので、制御する際にはこれを避ける必要があります。
ロボットの姿勢の表現
ロボットがどんな体勢になっているかの表現は、ふつう以下のいずれかを使用します。
1.関節変位 (Joint space) q: 関節の角度の値
2.姿勢 (Pose, Task space) r: TCP(Tool Center Point, ロボットの手先の位置)を表す3次元空間の値
例えば、URのような6DoFのマニピュレータは、6個の関節(joint)を回転させて姿勢(pose)を変化させることができます。
-------------------------------------------------------------------------