JP2013146840A - Trajectory planning device and trajectory planning method - Google Patents
Trajectory planning device and trajectory planning method Download PDFInfo
- Publication number
- JP2013146840A JP2013146840A JP2012010770A JP2012010770A JP2013146840A JP 2013146840 A JP2013146840 A JP 2013146840A JP 2012010770 A JP2012010770 A JP 2012010770A JP 2012010770 A JP2012010770 A JP 2012010770A JP 2013146840 A JP2013146840 A JP 2013146840A
- Authority
- JP
- Japan
- Prior art keywords
- arm
- trajectory planning
- state
- unit
- joint angle
- 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
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
Description
本発明は、軌道計画装置、および、軌道計画方法に関する。 The present invention relates to a trajectory planning apparatus and a trajectory planning method.
産業用ロボットの中には、ロボットアームを制御して各種作業を行うものがある(例えば、特許文献1)。 Some industrial robots perform various operations by controlling a robot arm (for example, Patent Document 1).
ロボットアームの制御では、例えば、
(1)ロボットアームの目標状態(目標位置、目標姿勢)を定める。
(2)現状態から目標状態となるまでのロボットアームの軌道を計画する。
(3)軌道計画に従って、ロボットアームを目標状態まで移動させる。
という(1)〜(3)の動作が行われる。
In the control of the robot arm, for example,
(1) The target state (target position, target posture) of the robot arm is determined.
(2) Plan the trajectory of the robot arm from the current state to the target state.
(3) The robot arm is moved to the target state according to the trajectory plan.
The operations (1) to (3) are performed.
ところで、上記(1)で定められたロボットアームの目標状態によっては、ロボットアームの軌道計画(すなわち、上記(2)の処理)に時間がかかる。 By the way, depending on the target state of the robot arm determined in (1) above, it takes time to plan the trajectory of the robot arm (that is, the processing in (2) above).
本発明は、ロボットアームの目標状態にかかわらず、ロボットアームの軌道計画に要する時間を、従来よりもなるべく短縮する技術を提供することを目的とする。 An object of the present invention is to provide a technique for shortening the time required for trajectory planning of a robot arm as much as possible, regardless of the target state of the robot arm.
本願は、上記課題を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。 The present application includes a plurality of means for solving the above-described problems, and examples thereof are as follows.
上記の課題を解決するための本発明の第一の態様は、アームの軌道計画を行う軌道計画装置であって、前記アームについて複数の基準状態を記憶しておく基準記憶部と、前記アームの作業点の目標状態に応じて、前記複数の基準状態から1つの基準状態を選択する基準選択部と、選択された前記基準状態を基準として、前記作業点を前記目標状態へ導くための仮ジョイント角を計算する計算部と、前記仮ジョイント角を、実空間上のジョイント角に変換する変換部と、を備える、ことを特徴とする。 A first aspect of the present invention for solving the above-described problem is a trajectory planning apparatus that performs trajectory planning of an arm, a reference storage unit that stores a plurality of reference states for the arm, A reference selection unit that selects one reference state from the plurality of reference states according to the target state of the work point, and a temporary joint for guiding the work point to the target state based on the selected reference state A calculation unit that calculates an angle and a conversion unit that converts the temporary joint angle into a joint angle in real space are provided.
上記の構成によれば、ロボットアームの目標状態にかかわらず、ロボットアームの軌道計画にかかる時間を、従来よりも短縮できる。 According to the above configuration, the time required for the trajectory planning of the robot arm can be shortened compared to the conventional case regardless of the target state of the robot arm.
また、前記基準選択部は、前記作業点の目標状態に最も近い基準状態を選択する、ようにしてもよい。 The reference selection unit may select a reference state closest to the target state of the work point.
また、前記計算部は、選択された基準状態に応じて、前記仮ジョイント角の計算に用いるヤコビ行列を異ならせる、ようにしてもよい。 Further, the calculation unit may vary the Jacobian matrix used for calculating the temporary joint angle according to the selected reference state.
上記の構成によれば、どのような基準状態が選択された場合であっても、ロボットアームの軌道計画を行うことができる。 According to the above configuration, it is possible to perform the trajectory planning of the robot arm regardless of what reference state is selected.
また、前記複数の基準状態は、各基準状態におけるアームの作業点の位置が、それぞれ分散している、ようにしてもよい。 The plurality of reference states may be arranged such that the positions of the arm working points in each reference state are dispersed.
上記の構成によれば、目標状態がどこに指定された場合であっても、軌道計画時に行われる反復計算の回数を減らせる確率が高まる。 According to the above configuration, the probability that the number of iterative calculations performed at the time of trajectory planning can be reduced increases wherever the target state is specified.
また、前記複数の基準状態は、各基準状態におけるアームの作業点の位置が、前記目標状態として指定されやすい領域に集中している、ようにしてもよい。 The plurality of reference states may be configured such that the positions of the arm working points in each reference state are concentrated in an area that is easily designated as the target state.
上記の構成によれば、各基準状態におけるアームの作業点の位置を分散させる場合と比較して、軌道計画時に行われる反復計算の回数を大幅に減らせる確率が高まる。 According to the above configuration, the probability that the number of iterative calculations performed at the time of trajectory planning can be significantly reduced is increased as compared with the case where the positions of the arm working points in each reference state are dispersed.
上記の課題を解決するための本発明の第二の態様は、アームの軌道計画を行う軌道計画装置で行われる軌道計画方法であって、前記軌道計画装置は、前記アームの複数の基準状態を記憶している基準記憶部を備えており、前記アームの作業点についての目標状態に応じて、前記複数の基準状態から1つの基準状態を選択する基準選択ステップと、選択された前記基準状態を基準として、前記作業点を前記目標状態へ導くための仮ジョイント角を計算する計算ステップと、前記仮ジョイント角を、実空間上のジョイント角に変換する変換ステップと、を行う、ことを特徴とする。 A second aspect of the present invention for solving the above problem is a trajectory planning method performed by a trajectory planning apparatus that performs trajectory planning of an arm, wherein the trajectory planning apparatus is configured to determine a plurality of reference states of the arm. A reference storage unit that stores the reference state, a reference selection step of selecting one reference state from the plurality of reference states according to a target state of the working point of the arm, and the selected reference state As a reference, a calculation step for calculating a temporary joint angle for guiding the work point to the target state, and a conversion step for converting the temporary joint angle into a joint angle in real space are performed. To do.
上記の本発明の第二の態様によっても、ロボットアームの目標状態にかかわらず、ロボットアームの軌道計画にかかる時間を、従来よりも短縮できる。 According to the second aspect of the present invention described above, the time required for the trajectory planning of the robot arm can be shortened as compared with the conventional case regardless of the target state of the robot arm.
上記の課題を解決するための本発明の第三の態様は、アームを備え、前記アームの軌道計画を行うロボットであって、前記アームについて複数の基準状態を記憶しておく基準記憶部と、前記アームの作業点の目標状態に応じて、前記複数の基準状態から1つの基準状態を選択する基準選択部と、選択された前記基準状態を基準として、前記作業点を前記目標状態へ導くための仮ジョイント角を計算する計算部と、前記仮ジョイント角を、実空間上のジョイント角に変換する変換部と、前記実空間上のジョイント角に基づいて、前記アームを制御するアーム制御部と、を備える、ことを特徴とする。 A third aspect of the present invention for solving the above problem is a robot that includes an arm and performs a trajectory plan of the arm, and a reference storage unit that stores a plurality of reference states for the arm; A reference selection unit that selects one reference state from the plurality of reference states according to the target state of the work point of the arm, and for guiding the work point to the target state based on the selected reference state A calculation unit that calculates the temporary joint angle, a conversion unit that converts the temporary joint angle into a joint angle in real space, and an arm control unit that controls the arm based on the joint angle in real space; , Comprising.
上記の課題を解決するための本発明の第四の態様は、アームを備えるロボットと、前記アームの軌道計画を行う軌道計画装置と、を備えるロボットシステムであって、前記軌道計画装置は、前記アームについて複数の基準状態を記憶しておく基準記憶部と、前記アームの作業点の目標状態に応じて、前記複数の基準状態から1つの基準状態を選択する基準選択部と、選択された前記基準状態を基準として、前記作業点を前記目標状態へ導くための仮ジョイント角を計算する計算部と、前記仮ジョイント角を、実空間上のジョイント角に変換する変換部と、前記実空間上のジョイント角に基づいて、前記アームを制御するアーム制御部と、を備える、ことを特徴とする。 A fourth aspect of the present invention for solving the above-described problem is a robot system including a robot including an arm and a trajectory planning apparatus that performs trajectory planning of the arm, and the trajectory planning apparatus includes: A reference storage unit that stores a plurality of reference states for the arm; a reference selection unit that selects one reference state from the plurality of reference states according to a target state of the working point of the arm; A calculation unit that calculates a temporary joint angle for guiding the work point to the target state with a reference state as a reference, a conversion unit that converts the temporary joint angle into a joint angle in real space, and the real space And an arm control unit that controls the arm based on the joint angle.
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。 Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.
以下、本発明の実施形態について図面を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本実施形態にかかるロボット1についての外観例を示す図である。
FIG. 1 is a diagram illustrating an appearance example of the
図示するように、ロボット1は、例えば、可動部30と、撮像部20と、制御部10と、を備えるアーム型のロボットである。
As illustrated, the
可動部30は、ロボット1の可動部分である。図示する例では、可動部30として、1本のロボットアームを示しており、点線で囲まれたアーム部4と、アーム部4の先端に取り付けられたハンド部5と、を含む。なお、いわゆる双腕ロボットのように2本のロボットアームを有していてもよい。
The
アーム部4は、複数のジョイント(関節)6と、複数のリンク7と、を含む。 The arm unit 4 includes a plurality of joints (joints) 6 and a plurality of links 7.
各ジョイント6は、リンク7同士や、ロボットの台座(胴体)とリンク7、などを、回動自在に(ただし、所定の可動範囲内で回動可能に)連結している。本図の例では、アーム部4は、3つのジョイント(第1ジョイントJ1、第2ジョイントJ2、第3ジョイントJ3)を備えた3軸アームとなっている。また、図示するように、各リンク7を、第1リンクL1、第2リンクL2、第3リンクL3等と名付ける。 Each joint 6 connects the links 7 to each other and the base (body) of the robot to the link 7 so as to be rotatable (but rotatable within a predetermined movable range). In the example of this figure, the arm part 4 is a three-axis arm provided with three joints (a first joint J1, a second joint J2, and a third joint J3). Further, as illustrated, each link 7 is named as a first link L1, a second link L2, a third link L3, and the like.
ハンド部5は、例えば、複数の指を備え、隣り合う指を近付ける方向に移動させ、少なくとも2本の指で把持対象物を挟むことができる。なお、本実施形態では、ハンド部5の位置を、可動部30の「作業点」とよぶ(いわゆる、エンドエフェクター)。 The hand unit 5 includes, for example, a plurality of fingers, and can move adjacent fingers so as to approach each other, and can sandwich the object to be grasped by at least two fingers. In the present embodiment, the position of the hand unit 5 is referred to as a “work point” of the movable unit 30 (so-called end effector).
また、可動部30(具体的には、各ジョイント6やハンド部5)には、それらを動作させるための、例えば、アクチュエーター31(図2に示す)が備えられる。アクチュエーター31は、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、制御部10によるロボット1のフィードバック制御に使用される。
Moreover, the movable part 30 (specifically, each joint 6 and the hand part 5) is provided with, for example, an actuator 31 (shown in FIG. 2) for operating them. The
また、可動部30には、ハンド部5などにセンサー32(図2に示す)を備えている。センサー32は、例えば、可動部30に加えられた外力などを検出する。
The
撮像部20は、ロボット1の外部環境(例えば、図示する作業台付近)を撮影して、画像データを生成するユニットである。撮像部20は、例えば、カメラを含み、作業台、天井、壁などに設けられる。撮像部20は、制御部10の制御により、可動部30の作業点についての目標位置方向の撮影を行う。これに伴い、撮像部20は、画像データを生成し、制御部10に出力する。
The
制御部10は、ロボット1の全体を制御する処理を行う。制御部10は、例えば、ロボット1の本体(可動部30)に内蔵しておいてもよいし、図示するように、ロボット1の本体とは離れた場所に(遠隔操作可能に)配置しておいてもよい。なお、ロボットの態様は、上記に限られない。例えば、図1の可動部30を「ロボット」と呼び、図1のロボット1を「ロボットシステム」と呼ぶこともできる。この場合も、制御部10は、ロボットに内蔵されていてもいなくてもよい。また、撮像部20は、ロボットに内蔵されていてもいなくてもよい。
The
図2は、ロボット1の概略構成の一例を示すブロック図である。図示するように、制御部10は、演算装置であるCPU11と、揮発性の記憶装置であるRAM12と、不揮発性の記憶装置であるROM13と、制御部10と他のユニットを接続するインターフェイス(I/F)回路14と、ロボット1の外部の装置と通信を行う通信装置15と、を備える。
FIG. 2 is a block diagram illustrating an example of a schematic configuration of the
次に、制御部10の機能構成例について説明する。図2の下部には、制御部10についての機能構成例が示されている。
Next, a functional configuration example of the
図示するように、制御部10は、中央制御部101と、記憶部102と、撮像制御部103と、軌道計画部104と、エンコーダー読取部105と、アーム制御部106と、を備える。
As illustrated, the
中央制御部101は、他の各部(102〜106)を統括的に制御する。
The
記憶部102は、各種データやプログラムを記憶する。例えば、記憶部102は、可動部30についての軌道計画を行うプログラム、その軌道計画に従って可動部30を制御するプログラム等を記憶する。
The
また、記憶部102は、可動部30の基準となる状態(以下では「初期基準」という)を特定する情報を記憶している。また、記憶部102は、可動部30の仮の基準となる状態(以下では「仮基準」という)を特定する情報を、複数個(後述する第1の仮基準〜第5の仮基準)、記憶している。なお、仮の基準となる状態を特定する情報は、可動部30についての軌道計画を従来よりも高速に行うために必要となる。初期基準、仮基準の詳細については、後述する。
In addition, the
撮像制御部103は、撮像部20を制御する。例えば、撮像制御部103は、撮像部20に対して、作業点の目標位置方向を撮影させる。そして、撮像制御部103は、撮像部20で撮影された画像データを取得する。
The
軌道計画部104は、可動部30の作業点を現状態(位置と姿勢)から目標状態(位置と姿勢)へ導くときの、可動部30についての軌道を計画する。
The
具体的には、軌道計画部104は、作業点を上記の目標状態へ導くのに必要な各ジョイント6の総回転角、および、各ジョイント6の単位時間(例えば、1ms)ごとの回転角を求める。
Specifically, the
このとき、軌道計画部104は、上記の複数の仮基準の中から選択された1つの仮基準を基準座標として、各ジョイント6の回転角(総回転角と、所定単位時間ごとの回転角を含み、以下では「仮のジョイント角」ともいう)を求める。
At this time, the
なお、ここで選択される仮基準は、可動部30の作業点の状態(位置、姿勢)が、目標状態(位置、姿勢)に最も近いものとする。
Note that the temporary reference selected here is that the state (position, posture) of the work point of the
また、軌道計画部104は、求めた仮のジョイント角を、実空間上のジョイント角(すなわち、上記の初期基準を基準座標とした角度)に変換することによって、実際に可動部30の作業点を現状態から目標状態へ導くのに必要な各ジョイント6の回転角を求める。
In addition, the
以上のように各ジョイント6の回転角を求めることにより、計算量を従来よりも(例えば、上記の初期基準を基準座標として求める場合と比較して)減らすことができる。その結果、従来よりも高速に軌道計画ができる。 By calculating the rotation angle of each joint 6 as described above, the amount of calculation can be reduced as compared with the conventional case (for example, as compared with the case where the initial reference is determined as the reference coordinate). As a result, trajectory planning can be performed at a higher speed than before.
なお、本実施形態において、作業点の「現状態」には、少なくとも作業点の「現在の位置」と「現在の姿勢」が含まれる。同様に、作業点の「目標状態」には、少なくとも作業点の「目標とする位置」と「目標とする姿勢」が含まれる。 In the present embodiment, the “current state” of the work point includes at least the “current position” and the “current posture” of the work point. Similarly, the “target state” of the work point includes at least “target position” and “target posture” of the work point.
エンコーダー読取部105は、アーム部4の各ジョイント6に設けられたアクチュエーター31のエンコーダー値を読み取る。
The
アーム制御部106は、軌道計画部104による軌道計画に従って、作業点を目標状態へ導く制御を行う。すなわち、アーム制御部106は、軌道計画部104により求められた単位時間ごとの回転角(ただし、初期基準を基準座標とする)に従って、各ジョイント6を回転させる。
The
なお、アーム制御部106は、アクチュエーター31のエンコーダー値や、センサー32のセンサー値などを参照して、可動部30を制御する。これにより、軌道の誤差を修正することができる。
The
上記の記憶部102以外の各機能部は、例えば、CPU11がROM13に格納された所定のプログラムをRAM12に読み出して実行することにより実現される。記憶部102は、例えば、RAM12やROM13により実現される。なお、前記所定のプログラムは、例えば、予めROM13にインストールされてもよいし、通信装置15を介してネットワークからダウンロードされてインストール又は更新されてもよい。
Each functional unit other than the above-described
以上のロボット1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。可動部30及び制御部10を有していれば、どのような構造であってもよい。また、一般的なロボットが備える構成を排除するものではない。
The configuration of the
例えば、図1にはアーム部4として3軸アームが示されているが、軸数(ジョイント数)をさらに増加させてもよいし減らしてもよい。リンクの数を増減させてもよい。また、アーム部4、ハンド部5、ジョイント6、リンク7等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。 For example, although a three-axis arm is shown as the arm portion 4 in FIG. 1, the number of axes (number of joints) may be further increased or decreased. The number of links may be increased or decreased. Further, the shape, size, arrangement, structure, and the like of various members such as the arm unit 4, the hand unit 5, the joint 6, and the link 7 may be appropriately changed.
また、上記した制御部10の各機能構成は、制御部10の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。制御部10の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
In addition, each functional configuration of the
次に、本実施形態における、上記構成からなるロボット1の特徴的な動作について説明する。
Next, a characteristic operation of the
<アーム制御タスク>
アーム部4を制御することによって、可動部30の作業点を目標状態まで導くタスクを、以下では「アーム制御タスク」とよぶ。
<Arm control task>
The task of guiding the working point of the
図3は、アーム制御タスクの一例について説明するためのフロー図である。 FIG. 3 is a flowchart for explaining an example of the arm control task.
中央制御部101は、ユーザーからの指示に基づいて、アーム制御タスクを開始する。
The
アーム制御タスクが開始されると、まず、軌道計画部104は、可動部30の現状態(位置、姿勢)を特定する(ステップS101)。
When the arm control task is started, first, the
具体的には、ステップS101において、軌道計画部104は、まず、各ジョイント6に設けられたアクチュエーター31のエンコーダー値を読み取る。それから、軌道計画部104は、読み取ったエンコーダー値に相当する各ジョイント6のジョイント角から、作業点の現状態(位置、姿勢)を求める(順運動学等の手法によって求める)。
Specifically, in step S <b> 101, the
図4(A)は、可動部30の現状態の一例を示す図である。図示するように、ステップS101において、軌道計画部104は、第1ジョイントJ1のジョイント角θc1、第2ジョイントJ2のジョイント角θc2、第3ジョイントJ3のジョイント角θc3に基づき、作業点の現状態M0を求める。ただし、作業点の現状態M0には、現在の位置(Xc,Yc)と、現在の姿勢(φc)と、が含まれている。
FIG. 4A is a diagram illustrating an example of the current state of the
ただし、各ジョイント角(θc1、θc2、θc3)、作業点の現在の位置(Xc,Yc)、作業点の現在の姿勢(φc)は、それぞれ、実空間上での座標や角度を表すものであり、具体的には上記の初期基準を基準座標としている。 However, each joint angle (θc 1 , θc 2 , θc 3 ), the current position of the work point (Xc, Yc), and the current posture of the work point (φc) are the coordinates and angle in real space, respectively. Specifically, the initial reference is the reference coordinate.
ここで、X軸とY軸は、図示するように互いに直交する軸である。そして、X軸とY軸で張られる平面を、例えば、地面に平行な平面とする。 Here, the X axis and the Y axis are axes orthogonal to each other as shown in the figure. A plane stretched between the X axis and the Y axis is, for example, a plane parallel to the ground.
また、本実施形態では、説明を簡単にするため2次元空間を用いているが、X軸、Y軸、Z軸で張られる3次元空間であってもよい。 In this embodiment, a two-dimensional space is used to simplify the description, but a three-dimensional space spanned by the X axis, the Y axis, and the Z axis may be used.
ところで、図5は、可動部30の基準となる状態(すなわち、初期基準)の一例を示す図である。図示するように、本実施形態では、可動部30の初期基準を、各リンク7(L1、L2、L3)がX軸の正方向に直線となる状態とする。このような初期基準の状態において、各ジョイント6のジョイント角を「0」とし、作業点の位置、姿勢は、それぞれ「(X,Y)=(L1+L2+L3,0)」、「φ=0」となる。
FIG. 5 is a diagram illustrating an example of a state (that is, an initial reference) that serves as a reference for the
なお、可動部30の初期基準となる状態は、図5に示すものに限定されない。例えば、可動部30の初期基準を、各リンク7(L1、L2、L3)がY軸の正方向に直線となる状態としてもよい。
In addition, the state used as the initial reference | standard of the
ステップS101で作業点の現状態(位置、姿勢)が求められると、軌道計画部104は、次に、作業点の目標状態を決定する(ステップS102)。
When the current state (position, posture) of the work point is obtained in step S101, the
具体的には、ステップS102において、起動計画部104は、撮像部20によって撮像された目標位置方向の画像を取得する。そして、起動計画部104は、当該画像について画像認識を行い、目標位置として指定可能な対象物(或いは、合焦点)を特定する。それから、起動計画部104は、特定した対象物の位置や角度に基づき、作業点の目標状態(位置、姿勢)を求める。
Specifically, in step S <b> 102, the
ただし、ステップS102の処理は、上記のような方法によらず、ユーザーの入力によって、作業点の目標状態(位置、姿勢)を決定してもよい。 However, the process of step S102 may determine the target state (position, posture) of the work point by a user input, without depending on the method as described above.
また、ステップS102で決定される作業点の目標状態、すなわち、作業点の目標位置(Xa,Ya)、作業点の目標姿勢(φa)についても、それぞれ、実空間上での座標や角度を表すものであり、具体的には上記の初期基準を基準座標としている。 Further, the target state of the work point determined in step S102, that is, the target position (Xa, Ya) of the work point and the target posture (φa) of the work point, respectively, represent coordinates and angles in the real space. Specifically, the initial reference is the reference coordinate.
図4(B)は、作業点の目標状態の一例を示す図である。図示するように、ステップS102において、作業点の目標状態が決定される。 FIG. 4B is a diagram illustrating an example of a target state of work points. As shown in the drawing, in step S102, the target state of the work point is determined.
上記のように現状態と目標状態が決定すると、起動計画部104は、可動部30を現状態から目標状態へ導くための軌道計画をたてる。
When the current state and the target state are determined as described above, the
そこで、軌道計画部104は、
(1) Θ(k+1)=Θ(k)+J(Θ(k))−1×(Ma−M(k))
という漸化式を用いてジョイント6ごとに動作計画をたてる。
Therefore, the
(1) Θ (k + 1) = Θ (k) + J (Θ (k) ) −1 × (Ma−M (k) )
An operation plan is made for each joint 6 using the recurrence formula.
ここで、Θ(k)は、中継点kでのジョイント角(上述した仮のジョイント角)を表している。軌道計画部104は、kをインクリメントしながら当該(1)の漸化式を反復計算していくことにより、各ジョイント6の仮のジョイント角Θ(k+1)を求めることができる。
Here, Θ (k) represents the joint angle at the relay point k (the temporary joint angle described above). The
なお、J(Θ(k))−1は、ヤコビ行列の疑似逆行列である。また、Maは、ステップS102で決定された作業点の目標状態(目標位置でもよい)であり、M(k)は、中継点kでの作業点の状態(位置でもよい)である。ただし、kは0以上の整数とする。 J (Θ (k) ) −1 is a pseudo inverse matrix of the Jacobian matrix. Ma is the target state (may be a target position) of the work point determined in step S102, and M (k) is the state (or position) of the work point at the relay point k. However, k is an integer of 0 or more.
ところで、従来の技術では、上記(1)の漸化式は、上述した初期基準の状態(図5)などを基準として反復計算されるのが一般的である。 By the way, in the conventional technique, the recurrence formula of (1) is generally repeatedly calculated based on the above-described initial reference state (FIG. 5) and the like.
しかし、作業点の目標状態によっては、その反復計算に時間がかかってしまう場合がある。 However, depending on the target state of the work point, iterative calculation may take time.
そこで、本実施形態では、反復計算にかかる時間を、従来よりも短縮すべく、軌道計画部104は、ステップS102で決定された作業点の目標状態に応じて、仮基準となる状態を選択し(ステップS103)、選択した仮基準の状態を基準として(ステップS104)、反復計算を行う(ステップS105)。
Therefore, in the present embodiment, the
なお、ステップS103で選択可能な仮基準の状態は、上述した通り、複数個、用意されている。 A plurality of provisional reference states that can be selected in step S103 are prepared as described above.
図6(A)〜(E)は、可動部30の第1〜第5の仮基準となる状態の一例を示す図である。
FIGS. 6A to 6E are diagrams illustrating examples of states that serve as the first to fifth temporary references of the
図6(A)に示すように、本実施形態では、可動部30の第1の仮基準を、各リンク7(L1、L2、L3)がX軸の正方向に直線となる状態とする。このような第1の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(L1+L2+L3,0)」、「φs=0」となる。また、各ジョイント6のジョイント角は、「(θs1、θs2、θs3)=(0,0,0)」となる。
As shown in FIG. 6A, in the present embodiment, the first temporary reference of the
また、図6(B)に示すように、本実施形態では、可動部30の第2の仮基準を、各リンク7(L1、L2、L3)がY軸の正方向に直線となる状態とする。このような第2の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(0,L1+L2+L3)」、「φs=π/2」となる。また、各ジョイント6のジョイント角は、「(θs1、θs2、θs3)=(π/2,0,0)」となる。
In addition, as shown in FIG. 6B, in the present embodiment, the second temporary reference of the
また、図6(C)に示すように、本実施形態では、可動部30の第3の仮基準を、各リンク7(L1、L2、L3)がX軸の負方向に直線となる状態とする。このような第3の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(−L1−L2−L3,0)」、「φs=π」となる。また、各ジョイント6のジョイント角は、「(θs1、θs2、θs3)=(π,0,0)」となる。
Further, as shown in FIG. 6C, in the present embodiment, the third temporary reference of the
また、図6(D)に示すように、本実施形態では、可動部30の第4の仮基準を、各リンク7(L1、L2、L3)がY軸の負方向に直線となる状態とする。このような第4の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(0,−L1−L2−L3)」、「φs=−π/2」となる。また、各ジョイント6のジョイント角は、「(θs1、θs2、θs3)=(−π/2,0,0)」となる。
In addition, as shown in FIG. 6D, in the present embodiment, the fourth temporary reference of the
また、図6(E)に示すように、本実施形態では、可動部30の第5の仮基準を、各リンク7(L1、L2、L3)が折れ線となる状態とする。このような第5の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(L2,L1+L3)」、「φs=π/2」となる。また、各ジョイント6のジョイント角は、「(θs1、θs2、θs3)=(π/2,−π/2,π/2)」となる。
As shown in FIG. 6E, in the present embodiment, the fifth temporary reference of the
ところで、ステップS103の具体的な処理として、例えば、軌道計画部104は、ステップS102で決定された目標状態(Xa、Ya、φa)に最も近い仮基準の状態を選択すればよい。
By the way, as a specific process of step S103, for example, the
より詳細に言えば、軌道計画部104は、ステップS103において、
(2) Δ=(Xa−Xs)2+(Ya−Ys)2+(φa−φs)2
を最小にする仮基準の状態を、上記複数の仮基準の中から選択すればよい。
More specifically, the
(2) Δ = (Xa−Xs) 2 + (Ya−Ys) 2 + (φa−φs) 2
The state of the temporary reference that minimizes the value may be selected from the plurality of temporary references.
そして、ステップS104では、軌道計画部104は、ステップS103で選択された仮基準を基準とする座標系で適切なジョイント角分だけオフセットすることで、ステップS101で特定された可動部30の現状態を再現する。
In step S104, the
具体的には、軌道計画部104は、ステップS101で特定された現在の各ジョイント角(θc1、θc2、θc3)から、ステップS103で選択された仮基準の状態を実現する各ジョイント角(θs1、θs2、θs3)を減算した値をオフセット値とする。すなわち、仮基準を基準とした場合の現状態を再現するジョイント角(Θ1 0、Θ2 0、Θ3 0)は、(θc1−θs1、θc2−θs2、θc3−θs3)となる。
Specifically, the
図7(A)は、可動部30の現状態をオフセットする場合について示す図である。図示する例では、第5の仮基準(点線内)を基準座標として適切なジョイント角分だけオフセットすることで、図4(A)に示す現状態の可動部30を実現している。第5の仮基準を実現する状態に対して、ステップS101で特定された現在の各ジョイント角(θc1、θc2、θc3)から、ステップS103で選択された仮基準の状態を実現する各ジョイント角(θs1、θs2、θs3)を減算することで求まる各ジョイント角(Θ1 0、Θ2 0、Θ3 0)(=(θc1−θs1、θc2−θs2、θc3−θs3))を加えることにより、第5の仮基準を基準座標とした場合において、現状態を再現する。
FIG. 7A is a diagram illustrating a case where the current state of the
それから、ステップS105では、軌道計画部104は、ここで求めた各ジョイント角(Θ1 0、Θ2 0、Θ3 0)と、ステップS101で求めた現状態M0とを、上記(1)の漸化式の初期値(k=0の場合)として代入し、中継点kごとに反復計算を行う。
Then, in step S105, the
なお、軌道計画部104は、ステップS103で選択された仮基準の状態に応じて、上記(1)の反復計算に用いるヤコビ行列を異ならせる。
The
例えば、第1の仮基準が選択された場合には、軌道計画部104は、以下の行列式1をヤコビ行列Jとして反復計算を行う。
For example, when the first temporary reference is selected, the
また、第2の仮基準が選択された場合には、軌道計画部104は、以下の行列式2をヤコビ行列Jとして反復計算を行う。
When the second temporary criterion is selected, the
また、第3の仮基準が選択された場合には、軌道計画部104は、以下の行列式3をヤコビ行列Jとして反復計算を行う。
When the third temporary criterion is selected, the
また、第4の仮基準が選択された場合には、軌道計画部104は、以下の行列式4をヤコビ行列Jとして反復計算を行う。
When the fourth temporary criterion is selected, the
また、第5の仮基準が選択された場合には、軌道計画部104は、以下の行列式5をヤコビ行列Jとして反復計算を行う。
When the fifth temporary criterion is selected, the
以上のようなヤコビ行列Jを用意しておくことにより、ステップS103でどの仮基準が選択された場合であっても、上記(1)の漸化式を計算することができる。 By preparing the Jacobian matrix J as described above, the recurrence formula (1) can be calculated regardless of which temporary criterion is selected in step S103.
また、上記(1)の(Ma−M(k))の項は、作業点の目標状態Maと、中継点kでの状態M(k)と、の距離(「近さ」ともいう)を表している。 The term (Ma−M (k) ) in (1) above indicates the distance (also referred to as “closeness” ) between the target state Ma of the work point and the state M (k) at the relay point k. Represents.
そして、軌道計画部104は、この距離が所定の閾値以下となったときに、作業点が目標状態に収束したものと判断する(ステップS106)。
Then, the
具体的には、軌道計画部104は、
(3) (Ma−M(k))2≦Err
という数式を満たす場合に、作業点が目標状態に収束したものと判定する。ただし、Errは所定の定数とする。
Specifically, the
(3) (Ma-M (k) ) 2 ≦ Err
Is satisfied, it is determined that the work point has converged to the target state. However, Err is a predetermined constant.
ここで、作業点が目標状態に収束していない場合には(ステップS106;No)、軌道計画部104は、中継点kをインクリメントして、処理をステップS105に戻す。
Here, when the work point has not converged to the target state (step S106; No), the
以上のように、軌道計画部104は、ステップS105を繰り返すことで、上記(3)の数式(条件)を満たすようになるまで、数式(1)の漸化式を反復計算する。これにより、軌道計画部104は、所定単位時間ごと(すなわち、中継点kごと)に、各ジョイント6の仮のジョイント角(Θ1 (k+1)、Θ2 (k+1)、Θ3 (k+1))を求めることができる。
As described above, the
図7(B)は、反復計算により求まる可動部30の目標状態の一例を示す図である。図示するように、各ジョイント6の仮のジョイント角(Θ1 (k+1)、Θ2 (k+1)、Θ3 (k+1))は、比較的小さい角度となる。
FIG. 7B is a diagram illustrating an example of a target state of the
以上のように、作業点が目標状態に収束し(ステップS106;Yes)、仮のジョイント角(Θ1 (k+1)、Θ2 (k+1)、Θ3 (k+1))が求まると、軌道計画部104は、処理をステップS107へ移行する。
As described above, when the working point converges to the target state (step S106; Yes) and the temporary joint angles (Θ 1 (k + 1) , Θ 2 (k + 1) , Θ 3 (k + 1) ) are obtained, the trajectory planning unit In
ところで、ここで求まる仮のジョイント角(Θ1 (k+1)、Θ2 (k+1)、Θ3 (k+1))は、ステップS103で選択された仮基準の状態を基準とした角度である。 By the way, the temporary joint angles (Θ 1 (k + 1) , Θ 2 (k + 1) , Θ 3 (k + 1) ) obtained here are angles based on the temporary reference state selected in step S103.
そのため、軌道計画部104は、求めた仮のジョイント角を、実空間上のジョイント角(すなわち、上記の初期基準を基準座標とした角度)に変換する。これにより、軌道計画部104は、実際に可動部30の作業点を現状態から中継点(k+1)まで導くのに必要な各ジョイント6の回転角θを求める(ステップS107)。
Therefore, the
具体的には、軌道計画部104は、ステップS105の反復計算により求まる、所定単位時間ごと(中継点kごと)の仮のジョイント角(Θ1 (k+1)、Θ2 (k+1)、Θ3 (k+1))に、ステップS103で選択された仮基準の状態を実現する各ジョイント角(θs1、θs2、θs3)を加算すればよい。すなわち、作業点を現状態から中継点kまで導くのに必要な各ジョイント6の回転角θを、「(θ1 (k+1),θ2 (k+1),θ3 (k+1))=(Θ1 (k+1)、Θ2 (k+1)、Θ3 (k+1))+(θs1、θs2、θs3)」の計算式により求めることができる。
Specifically, the
また、中継点k+1を、作業点が目標状態に収束(到達)したときの値とすれば、実際に可動部30の作業点を現状態から目標状態まで導くのに必要な各ジョイント6の回転角θaを求めることができる。すなわち、軌道計画部104は、「(θa1,θa2,θa3)=(Θ1 (k+1)、Θ2 (k+1)、Θ3 (k+1))+(θs1、θs2、θs3)」の計算式により回転角θaを求めることができる(ただし、k+1は作業点が目標状態に収束したときの値)。
Further, if the relay point k + 1 is a value when the work point has converged (reached) to the target state, the rotation of each joint 6 required to actually guide the work point of the
以上のように、各ジョイント6の動作計画がたてられると、次に、アーム制御部106は、その動作計画に従って、作業点を目標状態へ導く制御を行う(ステップS108)。すなわち、アーム制御部106は、軌道計画部104により求められた単位時間ごとの回転角θ(初期基準)に従って、各ジョイント6を回転させる。
As described above, when the operation plan for each joint 6 is established, the
そして、作業点が目標状態まで導かれると、アーム制御部106は、本フロー(アーム制御タスク)を終了する。
Then, when the work point is led to the target state, the
以上の処理が、本実施形態にかかるアーム制御タスクである。このように、本実施形態にかかるアーム制御タスクによれば、可動部30(ロボットアーム)の目標状態にかかわらず、軌道計画に要する時間を、従来よりも短縮できる。 The above processing is the arm control task according to the present embodiment. As described above, according to the arm control task according to the present embodiment, the time required for the trajectory planning can be shortened compared to the conventional case regardless of the target state of the movable unit 30 (robot arm).
なお、上記した各フローの各処理単位は、ロボット1を理解容易にするために、主な処理内容に応じて分割したものである。処理ステップの分類の仕方やその名称によって、本願発明が制限されることはない。ロボット1が行う処理は、さらに多くの処理ステップに分割することもできる。また、1つの処理ステップが、さらに多くの処理を実行してもよい。
Each processing unit of each flow described above is divided according to the main processing contents in order to make the
また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。 Moreover, said embodiment intends to illustrate the summary of this invention, and does not limit this invention. Many alternatives, modifications, and variations will be apparent to those skilled in the art.
例えば、上記実施形態では、5種類の仮基準(第1〜第5の仮基準)を用意している。しかし、本発明は、これに限定されず、さらに増加させてもよいし減らしてもよい。 For example, in the above embodiment, five types of temporary standards (first to fifth temporary standards) are prepared. However, the present invention is not limited to this, and may be further increased or decreased.
また、上記実施形態で示した第1〜第4の仮基準は、作業点の位置がそれぞれ分散している。このように作業点の位置が分散するように複数の仮基準を用意しておくことにより、目標状態がどこに指定(決定)された場合であっても、上記(1)の漸化式の反復回数を減らせる確率が高まる。 In the first to fourth temporary references shown in the above embodiment, the positions of the work points are dispersed. In this way, by preparing a plurality of temporary references so that the positions of the work points are dispersed, it is possible to repeat the recurrence formula (1) regardless of where the target state is specified (determined). Probability of reducing the number of times increases.
また、上記実施形態に限定されず、目標状態として指定されやすい領域に作業点が集中するように、複数の仮基準を用意しておいてもよい。例えば、可動部30の作業点が到達できる範囲の空間を、複数の小領域に分割し、過去に目標状態として指定された回数が(最も)多い小領域に、各仮基準の作業点の位置が集中するようにしておく。これにより、各仮基準の作業点の位置を分散させる場合と比較して、上記(1)の漸化式の反復回数を大幅に減らせる確率が高まる。
Further, the present invention is not limited to the above-described embodiment, and a plurality of temporary standards may be prepared so that work points are concentrated in an area that is easily designated as a target state. For example, the space in a range where the work point of the
1・・・ロボット、4・・・アーム部、5・・・ハンド部、6・・・ジョイント、7・・・リンク、10・・・制御部、11・・・CPU、12・・・RAM、13・・・ROM、14・・・I/F、15・・・通信装置、20・・・撮像部、30・・・可動部、101・・・中央制御部、102・・・記憶部、103・・・撮像制御部、104・・・軌道計画部、105・・・エンコーダー読取部、106・・・アーム制御部。
DESCRIPTION OF
Claims (8)
前記アームについて複数の基準状態を記憶しておく基準記憶部と、
前記アームの作業点の目標状態に応じて、前記複数の基準状態から1つの基準状態を選択する基準選択部と、
選択された前記基準状態を基準として、前記作業点を前記目標状態へ導くための仮ジョイント角を計算する計算部と、
前記仮ジョイント角を、実空間上のジョイント角に変換する変換部と、を備える、
ことを特徴とする軌道計画装置。 A trajectory planning device for trajectory planning of an arm,
A reference storage unit for storing a plurality of reference states for the arm;
A reference selection unit that selects one reference state from the plurality of reference states according to a target state of the working point of the arm;
A calculation unit that calculates a temporary joint angle for guiding the work point to the target state with the selected reference state as a reference;
A conversion unit that converts the temporary joint angle into a joint angle in real space, and
Trajectory planning device characterized by that.
前記基準選択部は、
前記作業点の目標状態に最も近い基準状態を選択する、
ことを特徴とする軌道計画装置。 The trajectory planning apparatus according to claim 1,
The reference selection unit includes:
Selecting a reference state closest to the target state of the working point;
Trajectory planning device characterized by that.
前記計算部は、
選択された基準状態に応じて、前記仮ジョイント角の計算に用いるヤコビ行列を異ならせる、
ことを特徴とする軌道計画装置。 The trajectory planning apparatus according to claim 1 or 2,
The calculator is
Depending on the selected reference state, the Jacobian matrix used for the calculation of the temporary joint angle is varied.
Trajectory planning device characterized by that.
前記複数の基準状態は、
各基準状態におけるアームの作業点の位置が、それぞれ分散している、
ことを特徴とする軌道計画装置。 The trajectory planning apparatus according to any one of claims 1 to 3,
The plurality of reference states are:
The positions of the arm working points in each reference state are dispersed,
Trajectory planning device characterized by that.
前記複数の基準状態は、
各基準状態におけるアームの作業点の位置が、前記目標状態として指定されやすい領域に集中している、
ことを特徴とする軌道計画装置。 The trajectory planning apparatus according to any one of claims 1 to 3,
The plurality of reference states are:
The position of the work point of the arm in each reference state is concentrated in an area that is easily designated as the target state,
Trajectory planning device characterized by that.
前記軌道計画装置は、
前記アームの複数の基準状態を記憶している基準記憶部を備えており、
前記アームの作業点についての目標状態に応じて、前記複数の基準状態から1つの基準状態を選択する基準選択ステップと、
選択された前記基準状態を基準として、前記作業点を前記目標状態へ導くための仮ジョイント角を計算する計算ステップと、
前記仮ジョイント角を、実空間上のジョイント角に変換する変換ステップと、を行う、
ことを特徴とする軌道計画方法。 A trajectory planning method performed by a trajectory planning apparatus that performs trajectory planning of an arm,
The trajectory planning device
A reference storage unit storing a plurality of reference states of the arm;
A reference selection step of selecting one reference state from the plurality of reference states according to a target state for the working point of the arm;
A calculation step of calculating a temporary joint angle for guiding the work point to the target state with respect to the selected reference state;
Converting the temporary joint angle into a joint angle in real space; and
A trajectory planning method characterized by that.
前記アームについて複数の基準状態を記憶しておく基準記憶部と、
前記アームの作業点の目標状態に応じて、前記複数の基準状態から1つの基準状態を選択する基準選択部と、
選択された前記基準状態を基準として、前記作業点を前記目標状態へ導くための仮ジョイント角を計算する計算部と、
前記仮ジョイント角を、実空間上のジョイント角に変換する変換部と、
前記実空間上のジョイント角に基づいて、前記アームを制御するアーム制御部と、を備える、
ことを特徴とするロボット。 A robot comprising an arm and performing trajectory planning of the arm,
A reference storage unit for storing a plurality of reference states for the arm;
A reference selection unit that selects one reference state from the plurality of reference states according to a target state of the working point of the arm;
A calculation unit that calculates a temporary joint angle for guiding the work point to the target state with the selected reference state as a reference;
A conversion unit that converts the temporary joint angle into a joint angle in real space;
An arm control unit for controlling the arm based on a joint angle in the real space,
A robot characterized by that.
前記軌道計画装置は、
前記アームについて複数の基準状態を記憶しておく基準記憶部と、
前記アームの作業点の目標状態に応じて、前記複数の基準状態から1つの基準状態を選択する基準選択部と、
選択された前記基準状態を基準として、前記作業点を前記目標状態へ導くための仮ジョイント角を計算する計算部と、
前記仮ジョイント角を、実空間上のジョイント角に変換する変換部と、
前記実空間上のジョイント角に基づいて、前記アームを制御するアーム制御部と、を備える、
ことを特徴とするロボットシステム。 A robot system comprising: a robot including an arm; and a trajectory planning apparatus that performs trajectory planning of the arm,
The trajectory planning device
A reference storage unit for storing a plurality of reference states for the arm;
A reference selection unit that selects one reference state from the plurality of reference states according to a target state of the working point of the arm;
A calculation unit that calculates a temporary joint angle for guiding the work point to the target state with the selected reference state as a reference;
A conversion unit that converts the temporary joint angle into a joint angle in real space;
An arm control unit for controlling the arm based on a joint angle in the real space,
A robot system characterized by this.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012010770A JP2013146840A (en) | 2012-01-23 | 2012-01-23 | Trajectory planning device and trajectory planning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012010770A JP2013146840A (en) | 2012-01-23 | 2012-01-23 | Trajectory planning device and trajectory planning method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013146840A true JP2013146840A (en) | 2013-08-01 |
Family
ID=49044887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012010770A Pending JP2013146840A (en) | 2012-01-23 | 2012-01-23 | Trajectory planning device and trajectory planning method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013146840A (en) |
-
2012
- 2012-01-23 JP JP2012010770A patent/JP2013146840A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6238628B2 (en) | Robot device, robot control method, robot control program, and part manufacturing method using robot device | |
JP5685027B2 (en) | Information processing apparatus, object gripping system, robot system, information processing method, object gripping method, and program | |
US20140031982A1 (en) | Robotic system and robot control device | |
CN110370256B (en) | Robot and path planning method, device and controller thereof | |
JP2019018272A (en) | Motion generation method, motion generation device, system, and computer program | |
JP2018020410A (en) | Layout setting method, and layout setting device | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
JP5659890B2 (en) | Robot trajectory planning system and trajectory planning method | |
JP5580850B2 (en) | Fast grip contact calculation for serial robots | |
CN107671853B (en) | Open robot track planning control method and system | |
JP2008105132A (en) | Method and apparatus for producing path of arm in joint space | |
JP2006350620A (en) | Method for action instruction of assembling mechanism in automatic assembling system | |
JP2013132731A (en) | Robot control system, robot system and robot control method | |
JP2014161950A (en) | Robot system, robot control method, and robot calibration method | |
CN107253191B (en) | Double-mechanical-arm system and coordination control method thereof | |
US20180085920A1 (en) | Robot control device, robot, and robot system | |
JP6322949B2 (en) | Robot control apparatus, robot system, robot, robot control method, and robot control program | |
CN110914020B (en) | Handling device with robot, method and computer program | |
JP2009172685A (en) | Manipulator system and its control method | |
JP5545322B2 (en) | Robot system and fitting manufacturing method | |
JP7452657B2 (en) | Control device, control method and program | |
CN111805540A (en) | Method, device and equipment for determining workpiece grabbing pose and storage medium | |
TWI807990B (en) | Robot teaching system | |
JP2013146840A (en) | Trajectory planning device and trajectory planning method | |
KR20230124658A (en) | User interface for supervised autonomous gripping |