JP2023110178A - 全方位移動体の軌道生成装置、軌道生成方法及びプログラム - Google Patents

全方位移動体の軌道生成装置、軌道生成方法及びプログラム Download PDF

Info

Publication number
JP2023110178A
JP2023110178A JP2022011451A JP2022011451A JP2023110178A JP 2023110178 A JP2023110178 A JP 2023110178A JP 2022011451 A JP2022011451 A JP 2022011451A JP 2022011451 A JP2022011451 A JP 2022011451A JP 2023110178 A JP2023110178 A JP 2023110178A
Authority
JP
Japan
Prior art keywords
trajectory
joint
omnidirectional mobile
mobile body
acceleration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022011451A
Other languages
English (en)
Inventor
佳佑 竹下
Keisuke Takeshita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2022011451A priority Critical patent/JP2023110178A/ja
Publication of JP2023110178A publication Critical patent/JP2023110178A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

【課題】より高速に時間軌道を算出できること。【解決手段】全方位移動体の軌道生成装置は、全方位移動体の現在の関節状態に基づき導出されたヤコビアンの式に基づいて、関節パラメータの最大加速度を算出する制約算出手段と、関節パラメータの最大加速度を含む加速度制限ベクトルに基づいて、軌道パラメータs及びs(ドット)の平面上において前進積分及び後退積分を行うことで最適化処理を行い時間軌道を算出する軌道算出手段と、を備える。軌道算出手段は、軌道パラメータsの平面上において、関節位置軌道の始点と始点の次の点との間に、関節の進行方向上に仮想関節位置を置き、関節位置軌道を軌道長で表現可能な直線セグメントと円弧セグメントとに変換し、軌道パラメータsの平面上における始点(0、vnorm)から前進積分を行いつつ、関節位置軌道の終点から前進積分と衝突するまで後退積分を行う。【選択図】図4

Description

特許法第30条第2項適用申請有り 令和3年9月8日 日本ロボット学会学術講演会予稿集にて発表 〔刊行物等〕 令和3年9月10日 第39回 日本ロボット学会学術講演会にて発表
本発明は、全方位に移動可能な全方位移動体の時間軌道を生成する全方位移動体の軌道生成装置、軌道生成方法及びプログラムに関するものである。
全方位移動体の運動学に基づいて制約条件を算出し、該算出した制約条件下で時間軌道を算出する軌道生成装置が知られている(例えば、特許文献1参照)。
特許第6468127号公報
Tobias Kunz and Mike Stilman, Time-Optimal Trajectory Generation for Path Following with Bounded Acceleration and Velocity. Robotics: Science and Systems. 2012.
上記軌道計画装置は、軌道計画する際に関節の現在速度を利用することができず、また、全方位移動体の運動学をそのまま用いているため計算速度が遅く、時間軌道の算出に多くの時間を要する虞がある。
本発明は、このような問題点に鑑みてなされたものであり、より高速に時間軌道を算出できる全方位移動体の軌道生成装置、軌道生成方法及びプログラムを提供することを主たる目的とする。
上記目的を達成するための本発明の一態様は、
複数の駆動輪が設けられた台車部と、該台車部に旋回軸を介して回転可能に設けられた本体部と、を備え、全方位に移動可能な全方位移動体の軌道生成装置であって、
前記全方位移動体の駆動輪及び旋回軸による本体部の自由度を関節として、前記全方位移動体の現在の関節状態に基づいて導出されたヤコビアンの式に基づいて、前記全方位移動体の座標系における位置及び姿勢を示す関節パラメータの最大加速度を夫々算出する制約算出手段と、
前記制約算出手段により算出された関節パラメータの最大加速度を含むと共に前記全方位移動体の関節数を次元数とする加速度制限ベクトルに基づいて、軌道パラメータs及びその微分値s(ドット)の平面上において前進積分及び後退積分を行うことで、最適化処理を行い、時間軌道を算出する軌道算出手段と、
を備え、
前記軌道算出手段は、前記軌道パラメータsの平面上において、関節位置軌道の始点と該始点の次の点との間に、前記関節の進行方向上に仮想関節位置を置き、前記関節位置軌道を軌道長で表現可能な直線セグメントと円弧セグメントとに変換し、前記関節の現在速度をvnormとして、前記軌道パラメータsの平面上における始点(0、vnorm)から前進積分を行いつつ、前記関節位置軌道の終点から前進積分と衝突するまで後退積分を行う、
全方位移動体の軌道生成装置
である。
この一態様において、前記制約算出手段は、前記全方位移動体の現在の関節状態に基づいて導出されたヤコビアンの式に基づいて、前記全方位移動体の座標系における位置及び姿勢を示す関節パラメータの最大加速度及び最大速度を夫々算出し、
前記軌道算出手段は、前記制約算出手段により算出された、前記関節パラメータの最大加速度を含む加速度制限ベクトル、及び、前記関節パラメータの最大速度を含む速度制限ベクトルに基づいて、前記軌道パラメータsの平面上における前進積分及び後退積分を行うことで最適化処理を行い時間軌道を算出してもよい。
この一態様において、前記制約算出手段は、前記ヤコビアンの式を用いて、前記台車部の位置(x、y)の加速度方向が前記台車部の進行方向で、(x、y)の加速度の絶対値が大きくなるように右駆動輪の加速度α、及び左駆動輪の加速度αを夫々探索し、
予め設定された前記旋回軸の加速度αの範囲と、前記探索したα及びαとに基づいて、前記本体部の方向φの最大加速度を算出し、前記探索したα及びαに基づいて、(x、y)の最大加速度を算出し、関節パラメータ(x、y、φ)の最大加速度として、前記軌道算出手段に出力してもよい。
この一態様において、前記軌道算出手段は、前記軌道パラメータsの平面上において、前記関節位置軌道の始点と前記次の点との間の距離が小さい位置から順に、前記前進積分及び後退積分が成功するまで探索し、前記仮想関節位置の位置を決定してもよい。
上記目的を達成するための本発明の一態様は、
複数の駆動輪が設けられた台車部と、該台車部に旋回軸を介して回転可能に設けられた本体部と、を備え、全方位に移動可能な全方位移動体の軌道生成方法であって、
前記全方位移動体の駆動輪及び旋回軸による本体部の自由度を関節として、前記全方位移動体の現在の関節状態に基づいて導出されたヤコビアンの式に基づいて、前記全方位移動体の座標系における位置及び姿勢を示す関節パラメータの最大加速度を夫々算出するステップと、
前記算出された関節パラメータの最大加速度を含むと共に前記全方位移動体の関節数を次元数とする加速度制限ベクトルに基づいて、軌道パラメータs及びその微分値s(ドット)の平面上において前進積分及び後退積分を行うことで、最適化処理を行い、時間軌道を算出するステップと、
を含み、
前記軌道パラメータsの平面上において、関節位置軌道の始点と該始点の次の点との間に、前記関節の進行方向上に仮想関節位置を置き、前記関節位置軌道を軌道長で表現可能な直線セグメントと円弧セグメントとに変換し、前記関節の現在速度をvnormとして、前記軌道パラメータsの平面上における始点(0、vnorm)から前進積分を行いつつ、前記関節位置軌道の終点から前進積分と衝突するまで後退積分を行う、
全方位移動体の軌道生成方法
であってもよい。
上記目的を達成するための本発明の一態様は、
複数の駆動輪が設けられた台車部と、該台車部に旋回軸を介して回転可能に設けられた本体部と、を備え、全方位に移動可能な全方位移動体のプログラムであって、
前記全方位移動体の駆動輪及び旋回軸による本体部の自由度を関節として、前記全方位移動体の現在の関節状態に基づいて導出されたヤコビアンの式に基づいて、前記全方位移動体の座標系における位置及び姿勢を示す関節パラメータの最大加速度を夫々算出する処理と、
前記算出された関節パラメータの最大加速度を含むと共に前記全方位移動体の関節数を次元数とする加速度制限ベクトルに基づいて、軌道パラメータs及びその微分値s(ドット)の平面上において前進積分及び後退積分を行うことで、最適化処理を行い、時間軌道を算出する処理と、
をコンピュータに実行させ、
前記軌道パラメータsの平面上において、関節位置軌道の始点と該始点の次の点との間に、前記関節の進行方向上に仮想関節位置を置き、前記関節位置軌道を軌道長で表現可能な直線セグメントと円弧セグメントとに変換し、前記関節の現在速度をvnormとして、前記軌道パラメータsの平面上における始点(0、vnorm)から前進積分を行いつつ、前記関節位置軌道の終点から前進積分と衝突するまで後退積分を行う、
全方位移動体のプログラム
であってもよい。
本発明は、このような問題点に鑑みてなされたものであり、より高速に時間軌道を算出できる全方位移動体の軌道生成装置、軌道生成方法及びプログラムを提供することができる。
本実施形態に係る全方位移動体の概略的構成を示す図である。 本実施形態に係る全方位移動体の概略的なシステム構成を示すブロック図である。 本実施形態に係る軌道生成装置の概略的なシステム構成を示すブロック図である。 本実施形態に係る最適化処理部の概略的なシステム構成を示すブロック図である。 時間軌道の一例を示す図である。 本実施形態に係る軌道生成方法のフローを示すフローチャートである。 全身動作の様子を示す図である。 各関節への指令速度の変化を示す図である。 各関節への指令加速度の変化を示す図である。 台車部の動作時における実際の台車座標系での台車速度を示す図である。
実施形態1
以下、図面を参照して本発明の実施形態について説明する。図1は、本発明の実施形態に係る全方位移動体の概略的構成を示す図である。本実施形態に係る全方位移動体1は、例えば、アクティブキャスタ式の全方位移動ロボットとして構成されている。
全方位移動体1は、移動を行う台車部2と、台車部2の上方側に旋回動可能に連結された本体部3と、を有している。台車部2は、一つの補助輪21と左右一対の駆動輪22が設けられている。本体部3は、台車部2に対して、旋回軸(Yaw回転軸)4を中心にして相対回動する。駆動輪22の駆動輪軸と本体部3の旋回軸4とはオフセットしている。
全方位移動体1は、駆動輪軸と旋回軸4とを独立して駆動することで、全方位移動を実現する。全方位移動体1は、例えば、駆動輪軸による駆動輪22の回転差に加えて、旋回軸4による本体部3の相対回動によって全方位移動を実現する。本体部3には、例えば、物体を把持できる多関節型アームが回動可能に設けられている。全方位移動体1は、安全かつ小型で物理的作業を行う生活支援ロボットHSR(Human Support Robot)として構成されていてもよい。
図2は、本実施形態に係る全方位移動体の概略的なシステム構成を示すブロック図である。本実施形態に係る全方位移動体1は、左右の駆動輪22の回転情報(回転角、回転速度、回転角加速度)を検出する一対の回転センサ5、旋回軸4の回転情報を検出する回転センサ6、一対の駆動輪22を駆動する一対の車輪アクチュエータ7と、旋回軸4を駆動する旋回アクチュエータ8と、車輪アクチュエータ7および旋回アクチュエータ8を制御する制御装置9と、軌道生成装置10と、を備えている。制御装置9は、回転センサ5、6により検出される回転情報に基づいて、車輪アクチュエータ7及び旋回アクチュエータ8を制御する。
各回転センサ5は、例えば、左右の駆動輪22の駆動輪軸に夫々設けられている。各回転センサ5は、ポテンショメータ、エンコーダなどで構成されている。各車輪アクチュエータ7は、例えば、左右の駆動輪22の駆動輪軸に連結されている。各車輪アクチュエータ7は、モータなどで構成されている。
旋回アクチュエータ8は、例えば、旋回軸4に連結されている。各旋回アクチュエータ8は、モータなどで構成されている。車輪アクチュエータ7及び旋回アクチュエータ8は、制御装置9から出力される制御信号に応じて回転駆動する。
制御装置9は、上述した駆動輪22及び旋回軸4の加速度の制約を満たしつつ、設定された指令軌道に追従する時間制御を実行する。制御装置9は、軌道生成装置10により算出された時間軌道に基づいて、車輪アクチュエータ7及び旋回アクチュエータ8を制御する。
軌道生成装置10は、時間制御を実行するための時間軌道を生成する。なお、軌道生成装置10と制御装置9とは一体的に構成されていてもよい。また、本実施形態において、軌道生成装置10は、全方位移動体1に搭載されている構成であるが、これに限定されない。軌道生成装置10は、全方位移動体1外に設けられていてもよい。この場合、軌道生成装置10は、算出した時間軌道を、無線通信などを介して、制御装置9に送信してもよい。
軌道生成装置10は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサと、RAM(Random Access Memory)やROM(Read Only Memory)などの内部メモリと、HDD(Hard Disk Drive)やSSD(Solid State Drive)などのストレージデバイスと、ディスプレイなどの周辺機器を接続するための入出力I/Fと、装置外部の機器と通信を行う通信I/Fと、を備えた通常のコンピュータのハードウェア構成を有する。
本実施形態に係る軌道生成装置10は、全方位移動体1の拘束条件 (目標姿勢、障害物情報等) を、動的に変更可能なマニピュレーションを実現するために、周期的な全身軌道計画を行うものである。
図3は、本実施形態に係る軌道生成装置の概略的なシステム構成を示すブロック図である。軌道生成装置10は、軌道候補群を生成する候補生成部11と、評価関数に基づいて軌道候補群をソートする候補評価部12と、軌道候補群と障害物の衝突を判定する衝突判定部13と、最適化処理を行い軌道候補へ時間情報を付与する最適化処理部14と、を有している。
候補生成部11は、例えば、N個の軌道候補を生成し、候補評価部12に対して出力する。候補評価部12は、各軌道候補を評価関数を用いて評価し、その評価結果に基づいて、各軌道候補をソートし、衝突判定部13に出力する。衝突判定部13は、各軌道候補で全方位移動体1が移動した場合に障害物と衝突するか否かを夫々判定し、衝突しないと判定した軌道候補を最適化処理部14に出力する。なお、軌道生成装置10は、これら全ての処理が一定の時間で完了するように制御を行う。
本実施形態に係る軌道生成装置10は、上述の如く、軌道候補群の生成、評価、成立性検証、及び動作時間最適化のループを回すことで、リアルタイムに軌道を生成し、環境変化に対してロバストな制御を行うことができる。
上述した、周期的な全身軌道計画で利用される最適化処理部14に対して、例えば、次の3つの要求が存在する。第1に、周期的な全身軌道計画に間に合うように計算時間が短いことが要求される。第2に、全方位移動体1の動作中に、新たな軌道の時間最適化が行われるため、現在の関節位置及び速度を考慮した時間最適化が可能であることが要求される。第3に、周期的な全身軌道計画では障害物回避等を考慮して多点軌道を利用しているため、多点軌道の時間最適化が可能であることが要求される。
本実施形態に係る最適化処理部14は、上述した第1乃至第3の要求を満たすように、処理が高速な現在の関節位置及び速度を考慮した多点軌道の時間最適化を実行する。このため、最適化処理部14は、時間情報を持たない軌道に対して、アクチュエータの加速度制約を考慮して、より短時間で動作するよう最適化処理を実行するものである。
図4は、本実施形態に係る最適化処理部の概略的なシステム構成を示すブロック図である。本実施形態に係る最適化処理部14は、加速度制約を算出する制約算出部141と、時間軌道を算出する軌道算出部142と、を有している。
ところで、全方位移動体1を、複数の関節を有するロボットとして考えることができる。すなわち、全方位移動体1の駆動輪22及び旋回軸4による本体部3の自由度は、仮想的なロボットの関節として仮定することができる。その仮想的なロボットの関節において、加速度制約が存在する。この加速度制約は、例えば、上限値(最大加速度)で与えられる。
制約算出部141は、上述した、全方位移動体1の加速度制約を算出する。制約算出部141は、制約算出手段の一具体例である。
次に、本実施形態に係る全方位移動体1の関節の加速度制約である最大加速度の算出方法について詳細に説明する。最初に、各パラメータを以下のように設定する。
(x、y、φ):全方位移動体1の座標系(以下、全方位移動体座標系と称す)における位置及び姿勢を示す関節パラメータ
なお、x、yは、台車部2の位置であり、φは本体部3の向いている方向である。
W: 駆動輪間距離
r:駆動輪半径
ω: 関節速度
s: 旋回軸と駆動輪軸の距離
α: 関節加速度
θ: 旋回軸角度
R、L、S: 右駆動輪、 左駆動輪、 旋回軸
上記パラメータを用いて、全方位移動体1の現在の関節状態に基づいて、ヤコビアンJを求めると、下記(1)式及び(2)式が導出される。
Figure 2023110178000002
さらに、全方位移動体座標系で加速度を考え、全方位移動体1のヤコビアンJの微分を求めると、下記(3)式及び(4)式が導出される。
Figure 2023110178000003
制約算出部141は、上記式(3)を用いて、(x、y)の加速度方向が入力方向で、(x、y)の加速度の絶対値が大きくなるように右駆動輪22の加速度α、及び左駆動輪22の加速度αを探索する。
上記「x、yの加速度方向が入力方向」とは、入力軌道での台車部2の最初の移動方向を指す。具体的には、現在の台車部2の位置から見た入力軌道のゼロ点目の台車部2の位置の方向を指す。なお、入力軌道は、例えば、再生したい全方位移動体1の全身軌道であり、衝突判定部13から制約算出部141に予め入力される。
左右駆動輪22の加速度α、αの範囲を2次元座標系にプロットした場合、その縁上に、目標とする左右駆動輪22の加速度α、αは存在する。
制約算出部141は、具体的に以下の(i)乃至(iii)の処理を行う。左右駆動輪22の加速度α、 αの最大値をαmaxとする。
(i)制約算出部141は、左右駆動輪22の加速度α、 αの組み合わせ(例えば、約200通りとする)でのx、yの加速度を計算する。
組合わせ:(±αmax、(k-25)/25×αmax)、 ((k-25)/25×αmax、 ±αmax)(k=0、1、 …、50)
(ii)制約算出部141は、夫々のx、yの加速度に基づいて、下記の式を用いてx、yの加速度方向を算出する。
arctan(yの加速度/xの加速度)
(iii)制約算出部141は、加速度方向が入力方向と最も近い左右駆動輪22の加速度α、 αを選択する。
なお、x、yの加速度は、α、 αに対して線形である。このため、x、yの加速度の大きさ((xの加速度) +(yの加速度)1/2が最大となるα、 αは、今回探索したα、 αの範囲の縁上に存在することとなる。
制約算出部141は、全方位移動体座標系での進行方向に基づいて、αの範囲としてαの下限を使うかαの上限を使うかを決定する。具体的には、制約算出部141は、現在の台車部2の向いている方向から見た、入力軌道のゼロ点目の台車部2の向くべき方向が正である場合、αの範囲をαの上限で設定し、その方向が正である場合αの範囲をαの下限で設定する。
なお、αは、旋回軸4の加速度であり、例えば、旋回軸4の旋回アクチュエータ8の出力、ギア比、本体部3の質量等の設計値に基づいて、設定されている。
制約算出部141は、設定したαの範囲(下限又は上限)と、上記探索したα、αとを上記式(3)に代入して、φの最大加速度を算出する。また、制約算出部141は、上記探索したα、及びαに基づいて、x、yの最大加速度を算出する。
制約算出部141は、上記探索したα及びαとαの上限とに基づいて算出したφの最大加速度と、上記探索したα及びαとαの下限とに基づいて算出したφの最大加速度と、を比較し、小さい方を、最終的なφの最大加速度としてもよい。これは、後述の最大加速度をより小さくすることで、安全性を向上させるためである。
制約算出部141は、オフラインで、上記加速度制約を算出しているが、これに限定されず、オンラインで上記加速度制約を算出してもよい。制約算出部141は、上述のように算出した加速度制約である関節パラメータ(x、y、φ)の最大加速度を軌道算出部142に出力する。
ここで、ロボットが動作すべき指令軌道が空間軌道として与えられる場合を考える。この場合、空間軌道は、一つの軌道パラメータs(時間をパラメータ化したもの)で表現できるものとする。
ロボットの関節角は、その空間軌道上の1点が指定されれば、決定される。また、ロボットのある状態の速度も、空間軌道上の対応点における、軌道パラメータsの速度s(以下、sドットと称す)で表現できる。
軌道算出部142は、上記に基づき、制約算出部141により算出された加速度制約を満たし、かつ、指令軌道を追従する軌道であって、軌道パラメータを横軸とし、その微分値を縦軸とした平面(以下、軌道パラメータs-s(ドット)平面と称す)上に表現された時間軌道を算出する。
軌道算出部142は、軌道パラメータs-s(ドット)平面上で軌道を探索して、時間軌道を算出することで時間制御を実行する。軌道算出部142は、軌道パラメータs-s(ドット)平面における始点および終点から夫々出発して、所定の積分幅で積分を繰り返して時間軌道を算出する。軌道算出部142は、始点側から終点側へ前進で積分(以下、前進積分)を行い、終点側から始点側へ後退で積分(以下、後退積分)を繰り返して時間軌道を算出する。
続いて、本実施形態に係る軌道算出部142による時間軌道の算出方法について詳細に説明する。図5は、時間軌道の一例を示す図である。
なお、本実施形態に係る時間軌道の算出方法は、周知の非特許文献1(Tobias Kunz and Mike Stilman, Time-Optimal Trajectory Generation for Path Following with Bounded Acceleration and Velocity. Robotics: Science and Systems. 2012.)の手法を以下の1)乃至3)の点で拡張することで、任意の現在速度を利用可能とし、処理が高速な多点軌道の最適化を行うことができる。
1)関節位置軌道の始点P0と次の点P1に間に、P0からv方向(関節の進行方向)に仮想関節位置Pvを置く。
2)関節の現在速度をvnormとし、軌道パラメータs-s(ドット)平面上における始点(0、vnorm)から前進積分を行う。
3)P0とPvとの間の距離が小さい位置から順に、前進積分及び後退積分が成功するまで探索し、Pvの位置を決定する。
以下、本実施形態に係る軌道算出部142による時間軌道の算出方法についてより詳細に説明する。なお、以降の処理に関して、部分的に非特許文献1に開示されており、これを適宜援用できるものとする。
最初に、軌道算出部142には、下記パラメータ値が入力される。
・ 各関節位置軌道 [P0、 P1、 P2、 ・・・ Pn]
(各点はk次元)
・各関節の速度制限ベクトルVMax (k次元)
・各関節の加速度制限ベクトルAMax (k次元)
・各関節の現在速度v
軌道算出部142は、各関節の現在速度vを、全方位移動体1のセンサ(駆動輪22の回転センサ5、旋回軸4の回転センサ6など)から取得する。各関節の速度制限ベクトルVMax、各関節の加速度制限ベクトルAMax、各関節位置軌道は、軌道算出部142に予め設定される。
各関節位置軌道は、実現したい全方位移動体1の動作に基づいて生成される。各関節位置軌道は、例えば、ユーザの手作業で作成されてもよく、RRT(Rapidly-exploring Random Tree)などの軌道計画アルゴリズムを利用して生成されてもよい。各関節位置軌道は、例えば、候補生成部11により上記のように作成され、最終的に、衝突判定部13から出力される軌道候補である。
軌道算出部142は、軌道パラメータs-s(ドット)平面上において、P0とP1との間に、P0からv方向に仮想関節位置Pvを置く。このとき、軌道算出部142は、P0とPvとの間の距離が小さい位置から探索を行う。このように、距離が小さい位置から探索を行うことで、より短い時間軌道を生成できる。
なお、現在速度vに対してP0とPv間の距離が小さ過ぎると、上記前進積分がP0、Pv、P1間で失敗する可能性がある。しかし、その前進積分が失敗した場合でも、前進積分の最初の方で失敗するので、計算時間への影響は小さくて済む。
軌道算出部142は、上述の如く、前進積分に失敗した場合、仮想関節位置PvをP0から所定量だけ遠ざけて配置し、再度、前進積分を行う。軌道算出部142は、仮想関節位置Pvの探索を前進積分が成功するまで繰り返す。
軌道算出部142は、関節位置軌道を、軌道長sで表現可能な直線セグメントと円弧セグメントへ変換する。
軌道算出部142は、例えば、図5に示す如く、P0からPvを直線セグメントaに変換し、PvからP1を直線セグメントbに変換し、P1からP2を直線セグメントcに変換し、2つの直線セグメントa、bとの間を連続な円弧セグメントdに変換し、2つの直線セグメントb、cとの間を連続な円弧セグメントeに変換する。
関節の現在速度をvnormとする。
軌道算出部142は、軌道パラメータs-s(ドット)平面上における始点(0、vnorm)から前進積分を行う。また、軌道算出部142は、軌道パラメータs-s(ドット)平面上における終点(L、0)から前進積分と衝突するまで後退積分を行う。
ここで、上記前進積分及び後退積分による時間最適化は、各関節の加速度制限ベクトルAMaxの制限下で行われる。すなわち、軌道算出部142は、加速度制限ベクトルAMaxに基づいて、軌道パラメータs-s(ドット)平面上において、上述の前進積分及び後退積分を行う。なお、本処理は、例えば、上記非特許文献1の(21)式、(22)式、(36)式などを利用しており、これを援用できる。
AMaxは、上述の如く、各関節の加速度制限ベクトルであり、関節数kが要素数となるk次元のベクトルである。本実施形態においは、全方位移動体1の位置及び姿勢を示す関節パラメータ(x、y、φ)を夫々関節と見なすことができる。AMaxには、アーム関節及び台車部関節の最大加速度の情報が含まれる。台車部関節の最大加速度は、制約算出部141により算出された関節パラメータ(x、y、φ)の最大加速度である。アーム関節の最大加速度は、アクチュエータやギア比等で定まる固定値として設定される。本実施形態において、例えば、アーム関節は5関節存在し、台車部関節は3関節存在することから、AMaxは8次元のベクトルとなる。
軌道算出部142は、上述の如く、加速度制限ベクトルAMaxに基づいて、軌道パラメータs-s(ドット)平面上において、前進積分及び後退積分を行うことで最適化処理を行い、軌道パラメータs-s(ドット)平面上における時間軌道を算出する。軌道算出部142は、上述の如く、前進積分及び後退積分が成功し、最適化処理が成功した場合、算出した時間軌道を制御装置9に出力する。
制御装置9は、軌道算出部142により算出された時間軌道に基づいて、車輪アクチュエータ7および旋回アクチュエータ8を制御する。制御装置9は、時間軌道に基づいて、全方位移動体1の本体部3の位置姿勢の目標値q(t)を算出する。制御装置9は、算出した全方位移動体1の本体部3の位置姿勢の目標値q(t)に基づいて、車輪アクチュエータ7および旋回アクチュエータ8を制御する。
全方位移動体1の本体部3の位置姿勢の目標値q(t)は、例えば、以下のように算出される。上記最適化処理(前進積分及び後退積分)の結果、s=0からs=Lまでの、幅Δsごとの、sとs(ドット)の組が得られる。得られたsとs(ドット)の組と1つ前のsとs(ドット)の組とを比較することで、sとs(ドット)の組の時刻tが算出される。q =f(s)の関数fは、上述の如く、関節位置軌道を軌道長sで表現可能な直線セグメントと円弧セグメントへ変換した際に導出される。sとs(ドット)、tの組が分かっているので、関節位置qとtの関係が分かる。
続いて、本実施形態に係る軌道生成方法について、説明する。図6は、本実施形態に係る軌道生成方法のフローを示すフローチャートである。
制約算出部141は、全方位移動体1の現在の関節状態に基づいて導出されたヤコビアンの(3)式に基づいて、全方位移動体座標系における位置及び姿勢を示す関節パラメータ(x、y、φ)の最大加速度を夫々算出する(ステップS101)。
軌道算出部142は、軌道パラメータs-s(ドット)平面上において、関節位置軌道の始点P0と次の点P1との間に、関節の進行方向v上に仮想関節位置Pvを置く(ステップS102)。
軌道算出部142は、関節位置軌道を軌道長sで表現可能な直線セグメントと円弧セグメントとに変換する(ステップS103)。
軌道算出部142は、関節の現在速度をvnormとして、軌道パラメータs-s(ドット)の平面上における始点を(0、vnorm)とする(ステップS104)。
軌道算出部142は、制約算出部141により算出された関節パラメータ(x、y、φ)の最大加速度を含むと共に全方位移動体1の関節数kを次元数とする加速度制限ベクトルAMaxに基づいて、軌道パラメータs-s(ドット)平面上において始点(0、vnorm)から前進積分を行いつつ終点から後退積分を行うことで、最適化処理を行い、時間軌道を算出する(ステップS105)。
以上、本実施形態に係る軌道生成装置10によれば、全方位移動体座標系基準での加速度制約計算、仮想関節位置Pvの挿入、高速な時間最適化処理を繰り返すことで、全方位移動体1の動作時間を短くすることができる。なお、計算した全方位移動体座標系基準での加速度制約は、全方位移動体1の動作によって役に立たない値となってしまうが、繰り返し計算を行うことで、そのデメリットを打ち消すことができる。
また、本実施形態に係る軌道生成装置10において、台車軌道を車輪軌道、車輪軌道を台車軌道へ変換する必要がなく、時間最適化処理も速いため、全体の処理を高速化、さらに、仮想関節位置Pvを挿入することで、その時点での全方位移動体1の全身速度を考慮した最適化が可能となる。
さらに、本実施形態に係る軌道生成装置10は、上述の如く、ループ処理を実行することに加えて、全方位移動体1の全身速度を考慮していることから、動かすための全身軌道を動的に変更することができる。例えば、動作中に認識した障害物を避けるために、全身軌道が変更されるというケースにも十分に対応できる。
実施形態2
本実施形態において、制約算出部141は、全方位移動体1の加速度制約として関節パラメータ(x、y、φ)の最大加速度を算出すると共に、速度制約として関節パラメータ(x、y、φ)の最大速度を算出してもよい。軌道算出部142は、制約算出部141により算出された関節パラメータ(x、y、φ)の最大加速度を含む加速度制限ベクトルAMax、及び、関節パラメータ(x、y、φ)の最大速度を含む速度制限ベクトルVMaxに基づいて、軌道パラメータs-s(ドット)平面上において、前進積分及び後退積分を行うことで最適化処理を行う。
制約算出部141は、上記加速度制約と同様に速度制約である関節パラメータ(x、y、φ)の最大速度を算出する。具体的には、制約算出部141は、上記式(1)を用いて、(x、y)の速度方向が入力方向で、(x、y)の速度の絶対値が大きくなる左右駆動輪22の速度ω、及びωを探索する。
制約算出部141は、具体的に以下の(i)乃至(iii)の処理を行う。左右駆動輪22の速度ω、 ωの最大値をωmaxとする。
(i)制約算出部141は、(ω、 ω)の組み合わせでのx、yの速度を計算する。
(ii)制約算出部141は、夫々のx、yの速度に基づいて、下記の式を用いてx、yの速度方向を算出する。
arctan(yの速度/xの速度)
(iii)制約算出部141は、速度方向が入力方向と最も近い左右駆動輪22の速度ω、 ωを選択する。
なお、x、yの速度は、ω、ωに対して線形である。このため、速度の大きさ((xの速度) +(yの速度)1/2が最大となるω、ωは、今回探索したω、ωの範囲の縁上に存在することとなる。
制約算出部141は、全方位移動体座標系での進行方向に基づいて、ωの範囲としてωの下限を使うかωの上限を使うかを決定する。具体的には、制約算出部141は、現在の台車部2の向いている方向から見た、入力軌道のゼロ点目の台車部2の向くべき方向が正である場合、ωの範囲をωの上限で設定し、その方向が正である場合ωの範囲をωの下限で設定する。
なお、ωは、旋回軸4の速度であり、例えば、旋回軸4のアクチュエータの出力、ギア比、本体部3の質量等の設計値に基づいて、設定されている。
制約算出部141は、設定したωの範囲(下限又は上限)と、上記探索したω、ωとを上記式(1)に代入して、φの最大速度を算出する。また、制約算出部141は、上記探索したα、及びαに基づいて、x、yの最大速度を算出する。
制約算出部141は、上記探索したω及びωとωの上限とに基づいて算出したφの最大速度と、上記探索したω及びωとωの下限とに基づいて算出したφの最大速度と、を比較し、小さい方を、最終的なφの最大速度としてもよい。これは、後述の最大速度をより小さくすることで、安全性を向上させるためである。
制約算出部141は、算出した関節パラメータ(x、y、φ)の最大速度を軌道算出部142に出力する。
軌道算出部142は、制約算出部141により算出された関節パラメータ(x、y、φ)の最大加速度を含む加速度制限ベクトルAMax、及び、関節パラメータ(x、y、φ)の最大速度を含む速度制限ベクトルVMaxに基づいて、軌道パラメータs-s(ドット)平面上において、前進積分及び後退積分を行うことで最適化処理を行い、時間軌道を算出する。
続いて、本実施形態に係る軌道生成装置10により実験結果について説明する。本実施形態において、HSRの周期的な全身軌道計画の動作実験を行った。全身軌道計画による全身軌道の発行周期は5[Hz]とした。
まず、全身動作の最適化の実験として、手先位置及び姿勢を拘束条件として与え、それを連続的に変化させていく実験を行った。図7は、その全身動作の様子を示す図である。図7に示す如く、HSRは、与えられた手先位置・姿勢を満たそうと、その動作が止まることなく、手先が目標へ追従していることが分かる。
次に、本実施形態に係る最適化処理を評価するために、台車部2の移動に限った実験を行った。台車部2の移動には、HSRの周期的な全身軌道計画を用い、台車部2の位置及び姿勢の拘束条件の次のように更新している。
1.(x、y、φ)=(0.0、0.0、0.0)にHSRを配置する。
2.(x、y、φ)=(1.0、0.0、0.0)を目標として与える。
3. 目標までの距離が0.25[m]以下になるのを待つ。
4.(x、 y、φ)=(1.0、1.0、1.57)を目標として与える。
5. 目標までの距離が0.25[m]以下になるのを待つ。
6.(x、y、φ)=(1.0、0.0、0.0)を目標として与える。
7. 動作の完了を待つ。
関節速度及び加速度の上限は次の通りに設定している。
ω=8.5[rad/sec]、ω=8.5[rad/sec]、ω=1.8[rad/sec]、α=5.0[rad/sec]、α=5.0[rad/sec]、α =1.8[rad/sec].
これらの目標、パラメータ設定で台車部2の動作を実行すると、動作時間は16.3[sec] だった。一方で、従来の最適化モジュールでは、上記同様の指令値を入力すると、その動作時間は、15.8[sec]だった。本実施形態に係る軌道生成装置10の最適化処理による動作時間と、従来の最適化モジュールによる動作時間とには、大きな差は無いと言える。
一方で、従来の最適化モジュールによる計算時間は、平均75[msec]に対し、本実施形態に係る軌道生成装置10の最適化処理による計算時間は、最適化処理1回あたり平均 5[msec]である。すなわち、本実施形態に係る軌道生成装置10の最適化処理による計算時間は、従来の最適化モジュールよりも、圧倒的に計算時間が短いことが分かる。
次に、台車部2の動作のプロットについて説明する。図8は、各関節への指令速度(関節速度指令値)の変化を示す図である。図9は、各関節への指令加速度(関節加速度指令値)の変化を示す図である。
図8及び図9において、設定した関節速度及び加速度の最大値は、Maxで表記されている。図10は、台車部の動作時における実際の全方位移動体座標系での台車速度を示す図である。図10における2つの矢印は、目標台車位置及び姿勢が切り替わった点を示している。
指令速度は設定した上限を守っている。一方、指令加速度は、一時的に与えられた上限を超えていることがあった。ただし、実際の動作速度を見ると連続的に動作しており、指令値の一時的な超過による動作への影響はないと言える。すなわち、本実施形態に係る軌道生成装置10の最適化処理によって、台車部2の動作に関しても問題無いことが分かる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他のさまざまな形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
本発明は、例えば、図6に示す処理を、プロセッサにコンピュータプログラムを実行させることにより実現することも可能である。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上述した各実施形態に係る軌道生成装置10を構成する各部は、プログラムにより実現するだけでなく、その一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアにより実現することもできる。
1 全方位移動体、2 台車部、3 本体部、4 旋回軸、5 回転センサ、6 回転センサ、7 車輪アクチュエータ、8 旋回アクチュエータ、9 制御装置、10 軌道生成装置、11 候補生成部、12 候補評価部、13 衝突判定部、14 最適化処理部、21 補助輪、22 駆動輪、141 制約算出部、142 軌道算出部

Claims (6)

  1. 複数の駆動輪が設けられた台車部と、該台車部に旋回軸を介して回転可能に設けられた本体部と、を備え、全方位に移動可能な全方位移動体の軌道生成装置であって、
    前記全方位移動体の駆動輪及び旋回軸による本体部の自由度を関節として、前記全方位移動体の現在の関節状態に基づいて導出されたヤコビアンの式に基づいて、前記全方位移動体の座標系における位置及び姿勢を示す関節パラメータの最大加速度を夫々算出する制約算出手段と、
    前記制約算出手段により算出された関節パラメータの最大加速度を含むと共に前記全方位移動体の関節数を次元数とする加速度制限ベクトルに基づいて、軌道パラメータs及びその微分値s(ドット)の平面上において前進積分及び後退積分を行うことで、最適化処理を行い、時間軌道を算出する軌道算出手段と、
    を備え、
    前記軌道算出手段は、前記軌道パラメータsの平面上において、関節位置軌道の始点と該始点の次の点との間に、前記関節の進行方向上に仮想関節位置を置き、前記関節位置軌道を軌道長で表現可能な直線セグメントと円弧セグメントとに変換し、前記関節の現在速度をvnormとして、前記軌道パラメータsの平面上における始点(0、vnorm)から前進積分を行いつつ、前記関節位置軌道の終点から前進積分と衝突するまで後退積分を行う、
    全方位移動体の軌道生成装置。
  2. 請求項1記載の全方位移動体の軌道生成装置であって、
    前記制約算出手段は、前記全方位移動体の現在の関節状態に基づいて導出されたヤコビアンの式に基づいて、前記全方位移動体の座標系における位置及び姿勢を示す関節パラメータの最大加速度及び最大速度を夫々算出し、
    前記軌道算出手段は、前記制約算出手段により算出された、前記関節パラメータの最大加速度を含む加速度制限ベクトル、及び、前記関節パラメータの最大速度を含む速度制限ベクトルに基づいて、前記軌道パラメータsの平面上における前進積分及び後退積分を行うことで最適化処理を行い時間軌道を算出する、
    全方位移動体の軌道生成装置。
  3. 請求項1又は2記載の全方位移動体の軌道生成装置であって、
    前記制約算出手段は、
    前記ヤコビアンの式を用いて、前記台車部の位置(x、y)の加速度方向が前記台車部の進行方向で、(x、y)の加速度の絶対値が大きくなるように右駆動輪の加速度α、及び左駆動輪の加速度αを夫々探索し、
    予め設定された前記旋回軸の加速度αの範囲と、前記探索したα及びαとに基づいて、前記本体部の方向φの最大加速度を算出し、前記探索したα及びαに基づいて、(x、y)の最大加速度を算出し、関節パラメータ(x、y、φ)の最大加速度として、前記軌道算出手段に出力する、
    全方位移動体の軌道生成装置。
  4. 請求項1乃至3のうちいずれか1項記載の全方位移動体の軌道生成装置であって、
    前記軌道算出手段は、前記軌道パラメータsの平面上において、前記関節位置軌道の始点と前記次の点との間の距離が小さい位置から順に、前記前進積分及び後退積分が成功するまで探索し、前記仮想関節位置の位置を決定する、
    全方位移動体の軌道生成装置。
  5. 複数の駆動輪が設けられた台車部と、該台車部に旋回軸を介して回転可能に設けられた本体部と、を備え、全方位に移動可能な全方位移動体の軌道生成方法であって、
    前記全方位移動体の駆動輪及び旋回軸による本体部の自由度を関節として、前記全方位移動体の現在の関節状態に基づいて導出されたヤコビアンの式に基づいて、前記全方位移動体の座標系における位置及び姿勢を示す関節パラメータの最大加速度を夫々算出するステップと、
    前記算出された関節パラメータの最大加速度を含むと共に前記全方位移動体の関節数を次元数とする加速度制限ベクトルに基づいて、軌道パラメータs及びその微分値s(ドット)の平面上において前進積分及び後退積分を行うことで、最適化処理を行い、時間軌道を算出するステップと、
    を含み、
    前記軌道パラメータsの平面上において、関節位置軌道の始点と該始点の次の点との間に、前記関節の進行方向上に仮想関節位置を置き、前記関節位置軌道を軌道長で表現可能な直線セグメントと円弧セグメントとに変換し、前記関節の現在速度をvnormとして、前記軌道パラメータsの平面上における始点(0、vnorm)から前進積分を行いつつ、前記関節位置軌道の終点から前進積分と衝突するまで後退積分を行う、
    全方位移動体の軌道生成方法。
  6. 複数の駆動輪が設けられた台車部と、該台車部に旋回軸を介して回転可能に設けられた本体部と、を備え、全方位に移動可能な全方位移動体のプログラムであって、
    前記全方位移動体の駆動輪及び旋回軸による本体部の自由度を関節として、前記全方位移動体の現在の関節状態に基づいて導出されたヤコビアンの式に基づいて、前記全方位移動体の座標系における位置及び姿勢を示す関節パラメータの最大加速度を夫々算出する処理と、
    前記算出された関節パラメータの最大加速度を含むと共に前記全方位移動体の関節数を次元数とする加速度制限ベクトルに基づいて、軌道パラメータs及びその微分値s(ドット)の平面上において前進積分及び後退積分を行うことで、最適化処理を行い、時間軌道を算出する処理と、
    をコンピュータに実行させ、
    前記軌道パラメータsの平面上において、関節位置軌道の始点と該始点の次の点との間に、前記関節の進行方向上に仮想関節位置を置き、前記関節位置軌道を軌道長で表現可能な直線セグメントと円弧セグメントとに変換し、前記関節の現在速度をvnormとして、前記軌道パラメータsの平面上における始点(0、vnorm)から前進積分を行いつつ、前記関節位置軌道の終点から前進積分と衝突するまで後退積分を行う、
    全方位移動体のプログラム。
JP2022011451A 2022-01-28 2022-01-28 全方位移動体の軌道生成装置、軌道生成方法及びプログラム Pending JP2023110178A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022011451A JP2023110178A (ja) 2022-01-28 2022-01-28 全方位移動体の軌道生成装置、軌道生成方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022011451A JP2023110178A (ja) 2022-01-28 2022-01-28 全方位移動体の軌道生成装置、軌道生成方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2023110178A true JP2023110178A (ja) 2023-08-09

Family

ID=87546304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022011451A Pending JP2023110178A (ja) 2022-01-28 2022-01-28 全方位移動体の軌道生成装置、軌道生成方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2023110178A (ja)

Similar Documents

Publication Publication Date Title
US9827675B2 (en) Collision avoidance method, control device, and program
JP3286334B2 (ja) 移動体の制御装置
JP6336174B1 (ja) 船舶の運動制御装置および運動制御方法
JP5398489B2 (ja) 自律移動体とその制御方法
JP5398488B2 (ja) 自律移動体とその制御方法
EP3486612B1 (en) Method for generating a trajectory
JP2003241836A (ja) 自走移動体の制御方法および装置
JP2006136962A (ja) 移動ロボット
KR101567456B1 (ko) 속도 계획 장치를 구비한 도립 진자형 이동체
JP2009053926A (ja) 経路計画装置及び経路計画方法
CN113190020A (zh) 一种移动机器人队列***及路径规划、跟随方法
Galicki Task space control of mobile manipulators
JP5904445B2 (ja) ロボット用制御装置
JP5107533B2 (ja) 移動ロボット
JP6468127B2 (ja) 全方位移動体、その制御方法及びプログラム
WO2020161910A1 (ja) 制御装置、制御方法、記録媒体
JP6021478B2 (ja) ロボット制御装置、及びロボット制御方法
JP2008194760A (ja) ロボットアーム、及びその制御方法
JP2023110178A (ja) 全方位移動体の軌道生成装置、軌道生成方法及びプログラム
JP2016062441A (ja) 全方位移動車
JP6057284B2 (ja) 多関節ロボット及び半導体ウェハ搬送装置
JP7258046B2 (ja) 経路決定装置、ロボット及び経路決定方法
CN112703090A (zh) 机器人控制装置、机器人控制方法及机器人控制程序
CN110722550A (zh) 机器人***
Oliver et al. Fuzzy control to simulate 4 autonomous navigation behaviors in a differential-drive mobile robot

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20220225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240320