ハンドの手先に2個と、ロボットの土台の板の上に3個のマーカーをつけています。手先の2個のマーカーの中点が手先の位置になります。カメラでマーカーを撮影すると、マーカーのカメラ座標とスクリーン座標が分かります。板の上の3個のマーカーから、板の法線ベクトルが求まります。板の法線ベクトルと手先のマーカーから、手先と板の距離が求まります。手先が板に激突しないためと、板の上の物体をつかむために、手先と板の距離は重要です。AIで物体検出システムにはお菓子の物体検出をするAIが入っています。図の青い点はAIが検出した物体の位置です。物体検出した位置にアームを移動AIが物体検出した座標はスクリーン座標です。物体の位置にロボットアームを移動するにはスクリーン座標をロボット座標に変換する必要があります。ロボット座標を指定して手先を移動させると、その位置での手先のカメラ座標とスクリーン座標が分かります。下の写真のように複数の位置に手先を移動させ、ロボット座標とスクリーン座標のデータ対を作ります。データ対を使ってスクリーン座標をロボット座標への変換器が作れます。まとめロボットアームを物体の位置まで移動させる処理は以下になります。物体検出のAIを使い物体のスクリーン座標を得る。スクリーン座標からロボット座標へ変換する。ロボット座標から軸の角度を逆運動学で求める。軸の角度からサーボモーターへの指令値を計算する。Picoにサーボモーターへの指令値を送る。ドライバーへ指令を送る。