JP2013146840A - Trajectory planning device and trajectory planning method - Google Patents

Trajectory planning device and trajectory planning method Download PDF

Info

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
Application number
JP2012010770A
Other languages
Japanese (ja)
Inventor
Yoshiji Yamada
喜士 山田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2012010770A priority Critical patent/JP2013146840A/en
Publication of JP2013146840A publication Critical patent/JP2013146840A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technique for preferably reducing a time required for a trajectory planning of a robot arm more than before, irrespective of a target condition of the robot arm.SOLUTION: A trajectory planning device for planning a trajectory of an arm includes: a reference memory unit for storing a plurality of reference conditions of the arm; a reference selection unit for selecting one reference condition from the plurality of reference conditions according to the target condition of an operation point of the arm; a calculation unit for calculating a temporary joint angle to lead the operation point to the target condition based on the selected reference condition; and a conversion unit for converting the temporary joint angle into a joint angle on a real space.

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.

特開2003−19682号JP 2003-19682

ところで、上記(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.

ロボット1の外観例を示す図である。2 is a diagram illustrating an example of an appearance of a robot 1. FIG. ロボット1の概略構成の一例を示すブロック図である。2 is a block diagram illustrating an example of a schematic configuration of a robot. FIG. アーム制御タスクの一例について説明するためのフロー図である。It is a flowchart for demonstrating an example of an arm control task. (A)可動部30の現状態の一例を示す図である。(B)作業点の目標状態の一例を示す図である。(A) It is a figure which shows an example of the present state of the movable part 30. FIG. (B) It is a figure which shows an example of the target state of a work point. 可動部30の基準となる状態(初期基準)の一例を示す図である。FIG. 3 is a diagram illustrating an example of a state (initial reference) serving as a reference for a movable unit 30. (A)可動部30の第1の仮基準となる状態(第1の仮基準)の一例を示す図である。(B)可動部30の第2の仮基準となる状態(第2の仮基準)の一例を示す図である。(C)可動部30の第3の仮基準となる状態(第3の仮基準)の一例を示す図である。(D)可動部30の第4の仮基準となる状態(第4の仮基準)の一例を示す図である。(E)可動部30の第5の仮基準となる状態(第5の仮基準)の一例を示す図である。(A) It is a figure which shows an example of the state (1st temporary reference | standard) used as the 1st temporary reference | standard of the movable part 30. FIG. (B) It is a figure which shows an example of the state (2nd temporary reference | standard) used as the 2nd temporary reference | standard of the movable part 30. FIG. (C) It is a figure which shows an example of the state (3rd temporary reference | standard) used as the 3rd temporary reference | standard of the movable part 30. FIG. (D) It is a figure which shows an example of the state (4th temporary reference | standard) used as the 4th temporary reference | standard of the movable part 30. FIG. (E) It is a figure which shows an example of the state (5th temporary reference | standard) used as the 5th temporary reference | standard of the movable part 30. FIG. (A)可動部30の現状態を再現する例を示す図である。(B)反復計算により求まる可動部30の目標状態の一例を示す図である。(A) It is a figure which shows the example which reproduces the present state of the movable part 30. FIG. (B) It is a figure which shows an example of the target state of the movable part 30 calculated | required by iterative calculation.

以下、本発明の実施形態について図面を用いて説明する。   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 robot 1 according to the present embodiment.

図示するように、ロボット1は、例えば、可動部30と、撮像部20と、制御部10と、を備えるアーム型のロボットである。   As illustrated, the robot 1 is, for example, an arm type robot including a movable unit 30, an imaging unit 20, and a control unit 10.

可動部30は、ロボット1の可動部分である。図示する例では、可動部30として、1本のロボットアームを示しており、点線で囲まれたアーム部4と、アーム部4の先端に取り付けられたハンド部5と、を含む。なお、いわゆる双腕ロボットのように2本のロボットアームを有していてもよい。   The movable part 30 is a movable part of the robot 1. In the illustrated example, a single robot arm is shown as the movable unit 30, and includes an arm unit 4 surrounded by a dotted line and a hand unit 5 attached to the tip of the arm unit 4. In addition, you may have two robot arms like what is called a double-arm robot.

アーム部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 actuator 31 includes, for example, a servo motor and an encoder. The encoder value output from the encoder is used for feedback control of the robot 1 by the control unit 10.

また、可動部30には、ハンド部5などにセンサー32(図2に示す)を備えている。センサー32は、例えば、可動部30に加えられた外力などを検出する。   The movable unit 30 includes a sensor 32 (shown in FIG. 2) in the hand unit 5 and the like. For example, the sensor 32 detects an external force applied to the movable unit 30.

撮像部20は、ロボット1の外部環境(例えば、図示する作業台付近)を撮影して、画像データを生成するユニットである。撮像部20は、例えば、カメラを含み、作業台、天井、壁などに設けられる。撮像部20は、制御部10の制御により、可動部30の作業点についての目標位置方向の撮影を行う。これに伴い、撮像部20は、画像データを生成し、制御部10に出力する。   The imaging unit 20 is a unit that captures an external environment of the robot 1 (for example, the vicinity of the illustrated work table) and generates image data. The imaging unit 20 includes, for example, a camera and is provided on a work table, ceiling, wall, or the like. The imaging unit 20 performs imaging in the target position direction of the work point of the movable unit 30 under the control of the control unit 10. Accordingly, the imaging unit 20 generates image data and outputs it to the control unit 10.

制御部10は、ロボット1の全体を制御する処理を行う。制御部10は、例えば、ロボット1の本体(可動部30)に内蔵しておいてもよいし、図示するように、ロボット1の本体とは離れた場所に(遠隔操作可能に)配置しておいてもよい。なお、ロボットの態様は、上記に限られない。例えば、図1の可動部30を「ロボット」と呼び、図1のロボット1を「ロボットシステム」と呼ぶこともできる。この場合も、制御部10は、ロボットに内蔵されていてもいなくてもよい。また、撮像部20は、ロボットに内蔵されていてもいなくてもよい。   The control unit 10 performs processing for controlling the entire robot 1. For example, the control unit 10 may be built in the main body (movable unit 30) of the robot 1 or may be disposed at a location away from the main body of the robot 1 (remotely operable) as illustrated. It may be left. The robot mode is not limited to the above. For example, the movable unit 30 in FIG. 1 may be referred to as a “robot”, and the robot 1 in FIG. 1 may be referred to as a “robot system”. Also in this case, the control unit 10 may or may not be built in the robot. The imaging unit 20 may or may not be built in the robot.

図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 robot 1. As illustrated, the control unit 10 includes a CPU 11 that is an arithmetic device, a RAM 12 that is a volatile storage device, a ROM 13 that is a nonvolatile storage device, and an interface (I) that connects the control unit 10 and other units. / F) A circuit 14 and a communication device 15 that communicates with a device external to the robot 1 are provided.

次に、制御部10の機能構成例について説明する。図2の下部には、制御部10についての機能構成例が示されている。   Next, a functional configuration example of the control unit 10 will be described. A functional configuration example of the control unit 10 is shown in the lower part of FIG.

図示するように、制御部10は、中央制御部101と、記憶部102と、撮像制御部103と、軌道計画部104と、エンコーダー読取部105と、アーム制御部106と、を備える。   As illustrated, the control unit 10 includes a central control unit 101, a storage unit 102, an imaging control unit 103, a trajectory planning unit 104, an encoder reading unit 105, and an arm control unit 106.

中央制御部101は、他の各部(102〜106)を統括的に制御する。   The central control unit 101 comprehensively controls the other units (102 to 106).

記憶部102は、各種データやプログラムを記憶する。例えば、記憶部102は、可動部30についての軌道計画を行うプログラム、その軌道計画に従って可動部30を制御するプログラム等を記憶する。   The storage unit 102 stores various data and programs. For example, the storage unit 102 stores a program for performing a trajectory plan for the movable unit 30, a program for controlling the movable unit 30 in accordance with the trajectory plan, and the like.

また、記憶部102は、可動部30の基準となる状態(以下では「初期基準」という)を特定する情報を記憶している。また、記憶部102は、可動部30の仮の基準となる状態(以下では「仮基準」という)を特定する情報を、複数個(後述する第1の仮基準〜第5の仮基準)、記憶している。なお、仮の基準となる状態を特定する情報は、可動部30についての軌道計画を従来よりも高速に行うために必要となる。初期基準、仮基準の詳細については、後述する。   In addition, the storage unit 102 stores information for specifying a state (hereinafter referred to as “initial reference”) that serves as a reference for the movable unit 30. In addition, the storage unit 102 includes a plurality of pieces of information (first provisional reference to fifth provisional reference described later) for specifying a state (hereinafter referred to as “temporary reference”) that is a provisional reference of the movable unit 30, I remember it. Note that information for specifying a provisional reference state is necessary for performing a trajectory plan for the movable unit 30 at a higher speed than in the past. Details of the initial standard and the temporary standard will be described later.

撮像制御部103は、撮像部20を制御する。例えば、撮像制御部103は、撮像部20に対して、作業点の目標位置方向を撮影させる。そして、撮像制御部103は、撮像部20で撮影された画像データを取得する。   The imaging control unit 103 controls the imaging unit 20. For example, the imaging control unit 103 causes the imaging unit 20 to capture the target position direction of the work point. Then, the imaging control unit 103 acquires image data captured by the imaging unit 20.

軌道計画部104は、可動部30の作業点を現状態(位置と姿勢)から目標状態(位置と姿勢)へ導くときの、可動部30についての軌道を計画する。   The trajectory planning unit 104 plans a trajectory for the movable unit 30 when the working point of the movable unit 30 is guided from the current state (position and posture) to the target state (position and posture).

具体的には、軌道計画部104は、作業点を上記の目標状態へ導くのに必要な各ジョイント6の総回転角、および、各ジョイント6の単位時間(例えば、1ms)ごとの回転角を求める。   Specifically, the trajectory planning unit 104 calculates the total rotation angle of each joint 6 necessary to guide the work point to the target state and the rotation angle of each joint 6 per unit time (for example, 1 ms). Ask.

このとき、軌道計画部104は、上記の複数の仮基準の中から選択された1つの仮基準を基準座標として、各ジョイント6の回転角(総回転角と、所定単位時間ごとの回転角を含み、以下では「仮のジョイント角」ともいう)を求める。   At this time, the trajectory planning unit 104 sets the rotation angle (total rotation angle and rotation angle per predetermined unit time) of each joint 6 using one temporary reference selected from the plurality of temporary references as reference coordinates. In the following, it is also referred to as “temporary joint angle”).

なお、ここで選択される仮基準は、可動部30の作業点の状態(位置、姿勢)が、目標状態(位置、姿勢)に最も近いものとする。   Note that the temporary reference selected here is that the state (position, posture) of the work point of the movable unit 30 is closest to the target state (position, posture).

また、軌道計画部104は、求めた仮のジョイント角を、実空間上のジョイント角(すなわち、上記の初期基準を基準座標とした角度)に変換することによって、実際に可動部30の作業点を現状態から目標状態へ導くのに必要な各ジョイント6の回転角を求める。   In addition, the trajectory planning unit 104 actually converts the calculated temporary joint angle into a joint angle in real space (that is, an angle with the initial reference as a reference coordinate), so that the working point of the movable unit 30 is actually set. The rotation angle of each joint 6 required to guide the current state from the current state to the target state is obtained.

以上のように各ジョイント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 encoder reading unit 105 reads the encoder value of the actuator 31 provided in each joint 6 of the arm unit 4.

アーム制御部106は、軌道計画部104による軌道計画に従って、作業点を目標状態へ導く制御を行う。すなわち、アーム制御部106は、軌道計画部104により求められた単位時間ごとの回転角(ただし、初期基準を基準座標とする)に従って、各ジョイント6を回転させる。   The arm control unit 106 performs control for guiding the work point to the target state in accordance with the trajectory plan by the trajectory plan unit 104. That is, the arm control unit 106 rotates each joint 6 according to the rotation angle per unit time obtained by the trajectory planning unit 104 (however, the initial reference is the reference coordinate).

なお、アーム制御部106は、アクチュエーター31のエンコーダー値や、センサー32のセンサー値などを参照して、可動部30を制御する。これにより、軌道の誤差を修正することができる。   The arm control unit 106 controls the movable unit 30 with reference to the encoder value of the actuator 31, the sensor value of the sensor 32, and the like. Thereby, the error of the trajectory can be corrected.

上記の記憶部102以外の各機能部は、例えば、CPU11がROM13に格納された所定のプログラムをRAM12に読み出して実行することにより実現される。記憶部102は、例えば、RAM12やROM13により実現される。なお、前記所定のプログラムは、例えば、予めROM13にインストールされてもよいし、通信装置15を介してネットワークからダウンロードされてインストール又は更新されてもよい。   Each functional unit other than the above-described storage unit 102 is realized, for example, when the CPU 11 reads a predetermined program stored in the ROM 13 into the RAM 12 and executes it. The storage unit 102 is realized by, for example, the RAM 12 or the ROM 13. For example, the predetermined program may be installed in the ROM 13 in advance, or may be downloaded from the network via the communication device 15 and installed or updated.

以上のロボット1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。可動部30及び制御部10を有していれば、どのような構造であってもよい。また、一般的なロボットが備える構成を排除するものではない。   The configuration of the robot 1 described above is not limited to the above-described configuration because the main configuration has been described in describing the features of the present embodiment. As long as it has the movable part 30 and the control part 10, what kind of structure may be sufficient. Further, the configuration of a general robot is not excluded.

例えば、図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 control unit 10 described above is classified according to main processing contents in order to facilitate understanding of the configuration of the control unit 10. The present invention is not limited by the way of classification and names of the constituent elements. The configuration of the control unit 10 can be classified into more components depending on the processing content. Moreover, it can also classify | categorize so that one component may perform more processes. Further, the processing of each component may be executed by one hardware or may be executed by a plurality of hardware.

次に、本実施形態における、上記構成からなるロボット1の特徴的な動作について説明する。   Next, a characteristic operation of the robot 1 having the above configuration in the present embodiment will be described.

<アーム制御タスク>
アーム部4を制御することによって、可動部30の作業点を目標状態まで導くタスクを、以下では「アーム制御タスク」とよぶ。
<Arm control task>
The task of guiding the working point of the movable unit 30 to the target state by controlling the arm unit 4 is hereinafter referred to as “arm control task”.

図3は、アーム制御タスクの一例について説明するためのフロー図である。   FIG. 3 is a flowchart for explaining an example of the arm control task.

中央制御部101は、ユーザーからの指示に基づいて、アーム制御タスクを開始する。   The central control unit 101 starts an arm control task based on an instruction from the user.

アーム制御タスクが開始されると、まず、軌道計画部104は、可動部30の現状態(位置、姿勢)を特定する(ステップS101)。   When the arm control task is started, first, the trajectory planning unit 104 specifies the current state (position, posture) of the movable unit 30 (step S101).

具体的には、ステップS101において、軌道計画部104は、まず、各ジョイント6に設けられたアクチュエーター31のエンコーダー値を読み取る。それから、軌道計画部104は、読み取ったエンコーダー値に相当する各ジョイント6のジョイント角から、作業点の現状態(位置、姿勢)を求める(順運動学等の手法によって求める)。   Specifically, in step S <b> 101, the trajectory planning unit 104 first reads the encoder value of the actuator 31 provided in each joint 6. Then, the trajectory planning unit 104 obtains the current state (position, posture) of the work point from the joint angle of each joint 6 corresponding to the read encoder value (obtained by a method such as forward kinematics).

図4(A)は、可動部30の現状態の一例を示す図である。図示するように、ステップS101において、軌道計画部104は、第1ジョイントJ1のジョイント角θc、第2ジョイントJ2のジョイント角θc、第3ジョイントJ3のジョイント角θcに基づき、作業点の現状態Mを求める。ただし、作業点の現状態Mには、現在の位置(Xc,Yc)と、現在の姿勢(φc)と、が含まれている。 FIG. 4A is a diagram illustrating an example of the current state of the movable unit 30. As shown, in step S101, the trajectory planning unit 104, a joint angle .theta.c 1 of the first joint J1, joint angle .theta.c 2 of the second joint J2, based on the joint angle .theta.c 3 of the third joint J3, the working point determine the current state M 0. However, the current state M 0 of the work point includes the current position (Xc, Yc) and the current posture (φc).

ただし、各ジョイント角(θc、θc、θc)、作業点の現在の位置(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 movable unit 30. As shown in the drawing, in this embodiment, the initial reference of the movable portion 30 is set so that each link 7 (L1, L2, L3) is a straight line in the positive direction of the X axis. In such an initial reference state, the joint angle of each joint 6 is set to “0”, and the position and orientation of the work point are “(X, Y) = (L1 + L2 + L3, 0)” and “φ = 0”, respectively. Become.

なお、可動部30の初期基準となる状態は、図5に示すものに限定されない。例えば、可動部30の初期基準を、各リンク7(L1、L2、L3)がY軸の正方向に直線となる状態としてもよい。   In addition, the state used as the initial reference | standard of the movable part 30 is not limited to what is shown in FIG. For example, the initial reference of the movable unit 30 may be a state in which each link 7 (L1, L2, L3) is a straight line in the positive direction of the Y axis.

ステップS101で作業点の現状態(位置、姿勢)が求められると、軌道計画部104は、次に、作業点の目標状態を決定する(ステップS102)。   When the current state (position, posture) of the work point is obtained in step S101, the trajectory planning unit 104 next determines the target state of the work point (step S102).

具体的には、ステップS102において、起動計画部104は、撮像部20によって撮像された目標位置方向の画像を取得する。そして、起動計画部104は、当該画像について画像認識を行い、目標位置として指定可能な対象物(或いは、合焦点)を特定する。それから、起動計画部104は、特定した対象物の位置や角度に基づき、作業点の目標状態(位置、姿勢)を求める。   Specifically, in step S <b> 102, the activation planning unit 104 acquires an image in the target position direction captured by the imaging unit 20. Then, the activation planning unit 104 performs image recognition on the image and identifies an object (or a focal point) that can be designated as the target position. Then, the activation planning unit 104 obtains a target state (position, posture) of the work point based on the identified position and angle of the target object.

ただし、ステップ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 activation planning unit 104 makes a trajectory plan for guiding the movable unit 30 from the current state to the target state.

そこで、軌道計画部104は、
(1) Θ(k+1)=Θ(k)+J(Θ(k)−1×(Ma−M(k)
という漸化式を用いてジョイント6ごとに動作計画をたてる。
Therefore, the trajectory planning unit 104
(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 trajectory planning unit 104 can obtain the temporary joint angle Θ (k + 1) of each joint 6 by repeatedly calculating the recurrence formula (1) while incrementing k.

なお、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 trajectory planning unit 104 selects a temporary reference state according to the target state of the work point determined in step S102 in order to shorten the time required for the iterative calculation as compared with the conventional method. (Step S103) Using the selected temporary reference state as a reference (Step S104), iterative calculation is performed (Step S105).

なお、ステップ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 movable portion 30. FIG.

図6(A)に示すように、本実施形態では、可動部30の第1の仮基準を、各リンク7(L1、L2、L3)がX軸の正方向に直線となる状態とする。このような第1の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(L1+L2+L3,0)」、「φs=0」となる。また、各ジョイント6のジョイント角は、「(θs、θs、θs)=(0,0,0)」となる。 As shown in FIG. 6A, in the present embodiment, the first temporary reference of the movable unit 30 is set so that each link 7 (L1, L2, L3) is a straight line in the positive direction of the X axis. In such a first provisional reference state, the position and orientation of the work point are “(Xs, Ys) = (L1 + L2 + L3, 0)” and “φs = 0”, respectively. Further, the joint angle of each joint 6 is “(θs 1 , θs 2 , θs 3 ) = (0, 0, 0)”.

また、図6(B)に示すように、本実施形態では、可動部30の第2の仮基準を、各リンク7(L1、L2、L3)がY軸の正方向に直線となる状態とする。このような第2の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(0,L1+L2+L3)」、「φs=π/2」となる。また、各ジョイント6のジョイント角は、「(θs、θs、θs)=(π/2,0,0)」となる。 In addition, as shown in FIG. 6B, in the present embodiment, the second temporary reference of the movable unit 30 is set such that each link 7 (L1, L2, L3) is a straight line in the positive direction of the Y axis. To do. In such a second provisional reference state, the position and orientation of the work point are “(Xs, Ys) = (0, L1 + L2 + L3)” and “φs = π / 2”, respectively. The joint angle of each joint 6 is “(θs 1 , θs 2 , θs 3 ) = (π / 2 , 0, 0)”.

また、図6(C)に示すように、本実施形態では、可動部30の第3の仮基準を、各リンク7(L1、L2、L3)がX軸の負方向に直線となる状態とする。このような第3の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(−L1−L2−L3,0)」、「φs=π」となる。また、各ジョイント6のジョイント角は、「(θs、θs、θs)=(π,0,0)」となる。 Further, as shown in FIG. 6C, in the present embodiment, the third temporary reference of the movable portion 30 is set such that each link 7 (L1, L2, L3) is a straight line in the negative direction of the X axis. To do. In such a third provisional reference state, the position and orientation of the work point are “(Xs, Ys) = (− L1−L2−L3, 0)” and “φs = π”, respectively. Further, the joint angle of each joint 6 is “(θs 1 , θs 2 , θs 3 ) = (π, 0, 0)”.

また、図6(D)に示すように、本実施形態では、可動部30の第4の仮基準を、各リンク7(L1、L2、L3)がY軸の負方向に直線となる状態とする。このような第4の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(0,−L1−L2−L3)」、「φs=−π/2」となる。また、各ジョイント6のジョイント角は、「(θs、θs、θs)=(−π/2,0,0)」となる。 In addition, as shown in FIG. 6D, in the present embodiment, the fourth temporary reference of the movable unit 30 is set such that each link 7 (L1, L2, L3) is a straight line in the negative direction of the Y axis. To do. In such a fourth provisional reference state, the position and orientation of the work point are “(Xs, Ys) = (0, −L1−L2−L3)” and “φs = −π / 2”, respectively. . The joint angle of each joint 6 is “(θs 1 , θs 2 , θs 3 ) = (− π / 2 , 0, 0)”.

また、図6(E)に示すように、本実施形態では、可動部30の第5の仮基準を、各リンク7(L1、L2、L3)が折れ線となる状態とする。このような第5の仮基準の状態において、作業点の位置、姿勢は、それぞれ「(Xs,Ys)=(L2,L1+L3)」、「φs=π/2」となる。また、各ジョイント6のジョイント角は、「(θs、θs、θs)=(π/2,−π/2,π/2)」となる。 As shown in FIG. 6E, in the present embodiment, the fifth temporary reference of the movable portion 30 is set so that each link 7 (L1, L2, L3) is a broken line. In such a fifth provisional reference state, the position and orientation of the work point are “(Xs, Ys) = (L2, L1 + L3)” and “φs = π / 2”, respectively. The joint angle of each joint 6 is “(θs 1 , θs 2 , θs 3 ) = (π / 2, −π / 2, π / 2)”.

ところで、ステップS103の具体的な処理として、例えば、軌道計画部104は、ステップS102で決定された目標状態(Xa、Ya、φa)に最も近い仮基準の状態を選択すればよい。   By the way, as a specific process of step S103, for example, the trajectory planning unit 104 may select a temporary reference state closest to the target state (Xa, Ya, φa) determined in step S102.

より詳細に言えば、軌道計画部104は、ステップS103において、
(2) Δ=(Xa−Xs)+(Ya−Ys)+(φa−φs)
を最小にする仮基準の状態を、上記複数の仮基準の中から選択すればよい。
More specifically, the trajectory planning unit 104, in step S103,
(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 trajectory planning unit 104 offsets by an appropriate joint angle in the coordinate system based on the temporary reference selected in step S103, so that the current state of the movable unit 30 specified in step S101 is obtained. To reproduce.

具体的には、軌道計画部104は、ステップS101で特定された現在の各ジョイント角(θc、θc、θc)から、ステップS103で選択された仮基準の状態を実現する各ジョイント角(θs、θs、θs)を減算した値をオフセット値とする。すなわち、仮基準を基準とした場合の現状態を再現するジョイント角(Θ 、Θ 、Θ )は、(θc−θs、θc−θs、θc−θs)となる。 Specifically, the trajectory planning unit 104 uses the joint angles (θc 1 , θc 2 , θc 3 ) identified in step S101 to realize the temporary reference state selected in step S103. A value obtained by subtracting (θs 1 , θs 2 , θs 3 ) is set as an offset value. That is, the joint angles (Θ 1 0 , Θ 2 0 , Θ 3 0 ) that reproduce the current state with the temporary reference as a reference are (θc 1 −θs 1 , θc 2 −θs 2 , θc 3 −θs 3). )

図7(A)は、可動部30の現状態をオフセットする場合について示す図である。図示する例では、第5の仮基準(点線内)を基準座標として適切なジョイント角分だけオフセットすることで、図4(A)に示す現状態の可動部30を実現している。第5の仮基準を実現する状態に対して、ステップS101で特定された現在の各ジョイント角(θc、θc、θc)から、ステップS103で選択された仮基準の状態を実現する各ジョイント角(θs、θs、θs)を減算することで求まる各ジョイント角(Θ 、Θ 、Θ )(=(θc−θs、θc−θs、θc−θs))を加えることにより、第5の仮基準を基準座標とした場合において、現状態を再現する。 FIG. 7A is a diagram illustrating a case where the current state of the movable unit 30 is offset. In the illustrated example, the movable portion 30 in the current state shown in FIG. 4A is realized by offsetting the fifth temporary reference (within the dotted line) by an appropriate joint angle with reference coordinates. With respect to the state that realizes the fifth temporary reference, each state that realizes the state of the temporary reference selected in step S103 from the current joint angles (θc 1 , θc 2 , θc 3 ) specified in step S101. Each joint angle (Θ 1 0 , Θ 2 0 , Θ 3 0 ) (= (θc 1 −θs 1 , θc 2 −θs 2 , θc) obtained by subtracting the joint angles (θs 1 , θs 2 , θs 3 ) 3− θs 3 )) is added to reproduce the current state when the fifth temporary reference is the reference coordinate.

それから、ステップS105では、軌道計画部104は、ここで求めた各ジョイント角(Θ 、Θ 、Θ )と、ステップS101で求めた現状態Mとを、上記(1)の漸化式の初期値(k=0の場合)として代入し、中継点kごとに反復計算を行う。 Then, in step S105, the trajectory planning unit 104 determines each joint angle (Θ 1 0 , Θ 2 0 , Θ 3 0 ) obtained here and the current state M 0 obtained in step S101 (1) above. Is substituted as an initial value of the recurrence formula (when k = 0), and iterative calculation is performed for each relay point k.

なお、軌道計画部104は、ステップS103で選択された仮基準の状態に応じて、上記(1)の反復計算に用いるヤコビ行列を異ならせる。   The trajectory planning unit 104 changes the Jacobian matrix used in the iterative calculation of (1) above according to the provisional reference state selected in step S103.

例えば、第1の仮基準が選択された場合には、軌道計画部104は、以下の行列式1をヤコビ行列Jとして反復計算を行う。   For example, when the first temporary reference is selected, the trajectory planning unit 104 performs iterative calculation using the following determinant 1 as the Jacobian matrix J.

Figure 2013146840
Figure 2013146840
Figure 2013146840
Figure 2013146840

また、第2の仮基準が選択された場合には、軌道計画部104は、以下の行列式2をヤコビ行列Jとして反復計算を行う。   When the second temporary criterion is selected, the trajectory planning unit 104 performs iterative calculation using the following determinant 2 as the Jacobian matrix J.

Figure 2013146840
Figure 2013146840

また、第3の仮基準が選択された場合には、軌道計画部104は、以下の行列式3をヤコビ行列Jとして反復計算を行う。   When the third temporary criterion is selected, the trajectory planning unit 104 performs iterative calculation using the following determinant 3 as the Jacobian matrix J.

Figure 2013146840
Figure 2013146840

また、第4の仮基準が選択された場合には、軌道計画部104は、以下の行列式4をヤコビ行列Jとして反復計算を行う。   When the fourth temporary criterion is selected, the trajectory planning unit 104 performs iterative calculation using the following determinant 4 as the Jacobian matrix J.

Figure 2013146840
Figure 2013146840

また、第5の仮基準が選択された場合には、軌道計画部104は、以下の行列式5をヤコビ行列Jとして反復計算を行う。   When the fifth temporary criterion is selected, the trajectory planning unit 104 performs iterative calculation using the following determinant 5 as the Jacobian matrix J.

Figure 2013146840
Figure 2013146840

以上のようなヤコビ行列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 trajectory planning unit 104 determines that the work point has converged to the target state when the distance becomes equal to or smaller than a predetermined threshold (step S106).

具体的には、軌道計画部104は、
(3) (Ma−M(k)≦Err
という数式を満たす場合に、作業点が目標状態に収束したものと判定する。ただし、Errは所定の定数とする。
Specifically, the trajectory planning unit 104
(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 trajectory planning unit 104 increments the relay point k and returns the process to step S105.

以上のように、軌道計画部104は、ステップS105を繰り返すことで、上記(3)の数式(条件)を満たすようになるまで、数式(1)の漸化式を反復計算する。これにより、軌道計画部104は、所定単位時間ごと(すなわち、中継点kごと)に、各ジョイント6の仮のジョイント角(Θ (k+1)、Θ (k+1)、Θ (k+1))を求めることができる。 As described above, the trajectory planning unit 104 repeatedly calculates the recurrence formula of the formula (1) until the formula (condition) of the above (3) is satisfied by repeating step S105. Thereby, the trajectory planning unit 104 makes provisional joint angles (Θ 1 (k + 1) , Θ 2 (k + 1) , Θ 3 (k + 1) ) of each joint 6 every predetermined unit time (that is, every relay point k). Can be requested.

図7(B)は、反復計算により求まる可動部30の目標状態の一例を示す図である。図示するように、各ジョイント6の仮のジョイント角(Θ (k+1)、Θ (k+1)、Θ (k+1))は、比較的小さい角度となる。 FIG. 7B is a diagram illustrating an example of a target state of the movable unit 30 obtained by iterative calculation. As shown in the figure, the temporary joint angles (Θ 1 (k + 1) , Θ 2 (k + 1) , Θ 3 (k + 1) ) of each joint 6 are relatively small angles.

以上のように、作業点が目標状態に収束し(ステップS106;Yes)、仮のジョイント角(Θ (k+1)、Θ (k+1)、Θ (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 step 104, the process proceeds to step S107.

ところで、ここで求まる仮のジョイント角(Θ (k+1)、Θ (k+1)、Θ (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 trajectory planning unit 104 converts the calculated temporary joint angle into a joint angle in real space (that is, an angle with the initial reference as a reference coordinate). Thereby, the trajectory planning unit 104 obtains the rotation angle θ of each joint 6 necessary for actually guiding the working point of the movable unit 30 from the current state to the relay point (k + 1) (step S107).

具体的には、軌道計画部104は、ステップS105の反復計算により求まる、所定単位時間ごと(中継点kごと)の仮のジョイント角(Θ (k+1)、Θ (k+1)、Θ (k+1))に、ステップS103で選択された仮基準の状態を実現する各ジョイント角(θs、θs、θs)を加算すればよい。すなわち、作業点を現状態から中継点kまで導くのに必要な各ジョイント6の回転角θを、「(θ (k+1),θ (k+1),θ (k+1))=(Θ (k+1)、Θ (k+1)、Θ (k+1))+(θs、θs、θs)」の計算式により求めることができる。 Specifically, the trajectory planning unit 104 obtains temporary joint angles (Θ 1 (k + 1) 1 , Θ 2 (k + 1) 2 , Θ 3 ( for each predetermined unit time (each relay point k)) obtained by iterative calculation in step S105. k + 1) ) may be added to each joint angle (θs 1 , θs 2 , θs 3 ) that realizes the temporary reference state selected in step S103. That is, the rotation angle θ of each joint 6 required to guide the work point from the current state to the relay point k is expressed as “(θ 1 (k + 1) , θ 2 (k + 1) , θ 3 (k + 1) ) = (Θ 1 (K + 1) , Θ 2 (k + 1) , Θ 3 (k + 1) ) + (θs 1 , θs 2 , θs 3 ) ”.

また、中継点k+1を、作業点が目標状態に収束(到達)したときの値とすれば、実際に可動部30の作業点を現状態から目標状態まで導くのに必要な各ジョイント6の回転角θaを求めることができる。すなわち、軌道計画部104は、「(θa,θa,θa)=(Θ (k+1)、Θ (k+1)、Θ (k+1))+(θs、θs、θs)」の計算式により回転角θ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 movable unit 30 from the current state to the target state. The angle θa can be obtained. That is, the trajectory planning unit 104 determines that “(θa 1 , θa 2 , θa 3 ) = (Θ 1 (k + 1) , Θ 2 (k + 1) , Θ 3 (k + 1) ) + (θs 1 , θs 2 , θs 3 ) The rotation angle θa can be obtained by the calculation formula (where k + 1 is a value when the working point converges to the target state).

以上のように、各ジョイント6の動作計画がたてられると、次に、アーム制御部106は、その動作計画に従って、作業点を目標状態へ導く制御を行う(ステップS108)。すなわち、アーム制御部106は、軌道計画部104により求められた単位時間ごとの回転角θ(初期基準)に従って、各ジョイント6を回転させる。   As described above, when the operation plan for each joint 6 is established, the arm control unit 106 performs control for guiding the work point to the target state in accordance with the operation plan (step S108). That is, the arm control unit 106 rotates each joint 6 according to the rotation angle θ (initial reference) for each unit time obtained by the trajectory planning unit 104.

そして、作業点が目標状態まで導かれると、アーム制御部106は、本フロー(アーム制御タスク)を終了する。   Then, when the work point is led to the target state, the arm control unit 106 ends this flow (arm control task).

以上の処理が、本実施形態にかかるアーム制御タスクである。このように、本実施形態にかかるアーム制御タスクによれば、可動部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 robot 1 easy to understand. The invention of the present application is not limited by the method of classification of the processing steps and the names thereof. The process performed by the robot 1 can be divided into more process steps. One processing step may execute more processes.

また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。   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 movable unit 30 can reach is divided into a plurality of small areas, and the position of each temporary reference work point is placed in the small area where the number of times designated in the past as the target state is (most). Keep it focused. This increases the probability that the number of iterations of the recurrence formula (1) can be significantly reduced as compared with the case where the positions of the temporary reference work points are dispersed.

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 SYMBOLS 1 ... Robot, 4 ... Arm part, 5 ... Hand part, 6 ... Joint, 7 ... Link, 10 ... Control part, 11 ... CPU, 12 ... RAM , 13 ... ROM, 14 ... I / F, 15 ... communication device, 20 ... imaging unit, 30 ... movable unit, 101 ... central control unit, 102 ... storage unit , 103 ... imaging control unit, 104 ... trajectory planning unit, 105 ... encoder reading unit, 106 ... arm control unit.

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.
請求項1に記載の軌道計画装置であって、
前記基準選択部は、
前記作業点の目標状態に最も近い基準状態を選択する、
ことを特徴とする軌道計画装置。
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.
請求項1又は2に記載の軌道計画装置であって、
前記計算部は、
選択された基準状態に応じて、前記仮ジョイント角の計算に用いるヤコビ行列を異ならせる、
ことを特徴とする軌道計画装置。
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.
請求項1乃至3のいずれか1項に記載の軌道計画装置であって、
前記複数の基準状態は、
各基準状態におけるアームの作業点の位置が、それぞれ分散している、
ことを特徴とする軌道計画装置。
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.
請求項1乃至3のいずれか1項に記載の軌道計画装置であって、
前記複数の基準状態は、
各基準状態におけるアームの作業点の位置が、前記目標状態として指定されやすい領域に集中している、
ことを特徴とする軌道計画装置。
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.
JP2012010770A 2012-01-23 2012-01-23 Trajectory planning device and trajectory planning method Pending JP2013146840A (en)

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)

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