JP7378640B2 - Robot control device and robot control method - Google Patents

Robot control device and robot control method Download PDF

Info

Publication number
JP7378640B2
JP7378640B2 JP2022563069A JP2022563069A JP7378640B2 JP 7378640 B2 JP7378640 B2 JP 7378640B2 JP 2022563069 A JP2022563069 A JP 2022563069A JP 2022563069 A JP2022563069 A JP 2022563069A JP 7378640 B2 JP7378640 B2 JP 7378640B2
Authority
JP
Japan
Prior art keywords
manipulator
command trajectory
robot control
command
constraint
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.)
Active
Application number
JP2022563069A
Other languages
Japanese (ja)
Other versions
JPWO2022201377A1 (en
JPWO2022201377A5 (en
Inventor
暁生 斎藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2022201377A1 publication Critical patent/JPWO2022201377A1/ja
Publication of JPWO2022201377A5 publication Critical patent/JPWO2022201377A5/ja
Application granted granted Critical
Publication of JP7378640B2 publication Critical patent/JP7378640B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40517Constraint motion planning, variational dynamic programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning

Description

本開示は、マニピュレータの制御を行うロボット制御装置およびロボット制御方法に関する。 The present disclosure relates to a robot control device and a robot control method that control a manipulator.

工場の製造ラインなどにおいて、部品および製品(以下、「ワーク」と称する)をマニピュレータで把持して搬送するピックアンドプレースの工程が存在する。ピックアンドプレースにおいて、ロボットの動作速度および加速度が適切でない場合に、ワークおよびマニピュレータの把持部に対し過剰な慣性力とモーメントとが発生し、ワークが落下するといった課題がある。これを解決するために、ワークに発生する力およびモーメントを考慮して適切な動作条件を決定する技術が提案されている。 2. Description of the Related Art On a factory production line, etc., there is a pick-and-place process in which parts and products (hereinafter referred to as "works") are gripped and transported by a manipulator. In pick-and-place, if the operating speed and acceleration of the robot are not appropriate, excessive inertia force and moment are generated on the workpiece and the gripping portion of the manipulator, causing the workpiece to fall. To solve this problem, a technique has been proposed that determines appropriate operating conditions by considering the force and moment generated in the workpiece.

特許文献1には、弾性を有する保持体を含むロボットのシミュレーションモデルを用いてシミュレーションを実施し、保持体に発生する負荷モーメントが閾値よりも大きい場合に、負荷モーメントが閾値以下となるようシミュレーションの実行条件を変更するシミュレーション装置について開示されている。 Patent Document 1 discloses that a simulation is performed using a simulation model of a robot including an elastic holding body, and when the load moment generated on the holding body is larger than a threshold value, the simulation is performed so that the load moment is below the threshold value. A simulation device that changes execution conditions is disclosed.

特開2019-141939号公報Japanese Patent Application Publication No. 2019-141939

D. Verscheure et al.”Time-Optimal Path Tracking for Robots:A Convex Optimization Approach”IEEE Trans. Automatic Control,2009D. Verscheure et al. “Time-Optimal Path Tracking for Robots: A Convex Optimization Approach” IEEE Trans. Automatic Control, 2009 B. Amos et al.”OptNet:Differentiable Optimization as a Layer in Neural Networks”Proceedings of the 34th International Conference on Machine Learning,2017B. Amos et al. “OptNet: Differential Optimization as a Layer in Neural Networks”Proceedings of the 34th International Conference on M achine Learning, 2017

特許文献1では、負荷モーメントが閾値以下になるまでシミュレーションの実行条件を繰り返し変更する必要があるため、ワークに発生する力およびモーメントを考慮して適切な実行条件を求めるのに時間を要するという問題がある。また、自動的に調整可能なシミュレーションの実行条件は最大加速度のみであり、ロボットの動作軌跡と速度プロファイルといった自由度の高い動作条件を調整するのは困難なため、マニピュレータが動作開始してからワークを把持するまでの動作時間を短くできないという問題がある。 In Patent Document 1, it is necessary to repeatedly change the simulation execution conditions until the load moment becomes equal to or less than a threshold value, so there is a problem that it takes time to determine appropriate execution conditions in consideration of the force and moment generated on the workpiece. There is. In addition, the simulation execution condition that can be automatically adjusted is only the maximum acceleration, and it is difficult to adjust operating conditions with a high degree of freedom such as the robot's operating trajectory and velocity profile. There is a problem in that it is not possible to shorten the operation time until the object is grasped.

本開示は、上述の課題を解決するためになされたもので、ワークに発生する力およびモーメントなどの制約条件を満たし、動作時間が短くなるようなマニピュレータの指令軌跡と速度プロファイルを高速に求めることができるロボット制御装置およびロボット制御方法を提供することを目的とする。 The present disclosure has been made to solve the above-mentioned problems, and is to quickly obtain a command trajectory and speed profile of a manipulator that satisfies constraint conditions such as force and moment generated on a workpiece and shortens operation time. The purpose of the present invention is to provide a robot control device and a robot control method that can perform the following tasks.

本開示に係るロボット制御装置は、予め設定されたマニピュレータへの指令軌跡と、前記マニピュレータに関する制約条件と、前記マニピュレータの動作時間に基づく評価指標とに基づいて、前記マニピュレータの速度プロファイルを計算する速度計算部と、前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする勾配計算部と、前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする指令軌跡補正部と、前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する制御部と、を備える。 The robot control device according to the present disclosure calculates a speed profile of the manipulator based on a preset command trajectory to the manipulator, constraint conditions regarding the manipulator, and an evaluation index based on an operation time of the manipulator. a calculation section; a gradient calculation section that calculates a gradient regarding the command trajectory of the operation time based on the speed profile to obtain gradient information; and a gradient calculation section that corrects the command trajectory based on the gradient information to obtain a corrected command trajectory. and a control section that controls the manipulator to follow the corrected command trajectory.

また、本開示に係るロボット制御方法は、予め設定されたマニピュレータへの指令軌跡と、前記マニピュレータに関する制約条件と、前記マニピュレータの動作時間に基づく評価指標とに基づいて、前記マニピュレータの速度プロファイルを計算する工程と、前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする工程と、前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする工程と、前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する工程と、を備える。 Further, the robot control method according to the present disclosure calculates a velocity profile of the manipulator based on a preset command trajectory to the manipulator, constraint conditions regarding the manipulator, and an evaluation index based on the operation time of the manipulator. a step of calculating a gradient regarding the command trajectory of the operation time based on the speed profile to obtain gradient information; and a step of correcting the command trajectory based on the gradient information to obtain a corrected command trajectory. and a step of controlling the manipulator to follow the correction command trajectory.

本開示によれば、ロボット制御装置およびロボット制御方法は、マニピュレータに関する制約条件とマニピュレータの動作時間とに基づく評価指標に基づいて速度プロファイルを計算し、動作時間の指令軌跡に関する勾配に基づいて指令軌跡を補正するため、制約条件を満たし、動作時間が短くなるようなマニピュレータの補正指令軌跡と速度プロファイルとを高速に求めることができる。 According to the present disclosure, a robot control device and a robot control method calculate a speed profile based on an evaluation index based on constraint conditions related to a manipulator and an operation time of the manipulator, and calculate a command trajectory based on a gradient regarding a command trajectory of the operation time. In order to correct this, it is possible to quickly obtain a correction command trajectory and a speed profile of the manipulator that satisfy the constraint conditions and shorten the operation time.

実施の形態1におけるロボット制御装置の一例を示すブロック図である。1 is a block diagram showing an example of a robot control device in Embodiment 1. FIG. 実施の形態1から4におけるロボット制御装置を含む構成の一例を示す図である。2 is a diagram showing an example of a configuration including a robot control device in Embodiments 1 to 4. FIG. 実施の形態1から4における速度計算部の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of a speed calculation unit in Embodiments 1 to 4. FIG. 実施の形態1から4における勾配計算部の一例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of a gradient calculation unit in Embodiments 1 to 4. FIG. 実施の形態1から4における制御部の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of a control unit in Embodiments 1 to 4. FIG. 実施の形態1におけるロボット制御装置の動作の一例を示すフローチャートである。5 is a flowchart illustrating an example of the operation of the robot control device in the first embodiment. 実施の形態2におけるロボット制御装置の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of a robot control device in a second embodiment. 実施の形態2における指令軌跡補正部の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of a command trajectory correction section in Embodiment 2. FIG. 実施の形態2におけるロボット制御装置の動作の一例を示すフローチャートである。7 is a flowchart illustrating an example of the operation of the robot control device in Embodiment 2. FIG. 実施の形態3におけるロボット制御装置の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of a robot control device in Embodiment 3. FIG. 実施の形態3におけるロボット制御装置の動作の一例を示すフローチャートである。12 is a flowchart illustrating an example of the operation of the robot control device in Embodiment 3. 実施の形態4におけるロボット制御装置の一例を示すブロック図である。FIG. 7 is a block diagram showing an example of a robot control device in Embodiment 4. FIG. 実施の形態4におけるロボット制御装置の動作の一例を示すフローチャートである。12 is a flowchart illustrating an example of the operation of the robot control device in Embodiment 4. 実施の形態1から4におけるロボット制御装置のハードウェア構成を示す図である。3 is a diagram showing the hardware configuration of a robot control device in embodiments 1 to 4. FIG.

実施の形態1.
図1は、実施の形態1におけるロボット制御装置100の一例を示すブロック図である。図1は、ロボット制御装置100と、アクチュエータ110と、マニピュレータ1と、ワーク112とにより構成されるブロック図である。また、図2は、実施の形態1におけるロボット制御装置100を含む構成の一例を示す図である。ロボット制御装置100は、垂直多関節ロボットであるマニピュレータ1の各関節に設置されるアクチュエータ110を制御することで、マニピュレータ1の先端に設置される把持部111で把持対象となるワーク112のピックアンドプレースの動作を実現する。周辺環境113は、例えばカメラなどであり、例えばマニピュレータ1がピックアンドプレースの動作を行う際の映像を図示しない表示装置に出力する。
Embodiment 1.
FIG. 1 is a block diagram showing an example of a robot control device 100 according to the first embodiment. FIG. 1 is a block diagram composed of a robot control device 100, an actuator 110, a manipulator 1, and a workpiece 112. Further, FIG. 2 is a diagram showing an example of a configuration including the robot control device 100 in the first embodiment. The robot control device 100 controls the actuators 110 installed at each joint of the manipulator 1, which is a vertically articulated robot, so that a gripping section 111 installed at the tip of the manipulator 1 picks and picks up a workpiece 112 to be gripped. Realize the behavior of the place. The surrounding environment 113 is, for example, a camera, and outputs, for example, an image when the manipulator 1 performs a pick-and-place operation to a display device (not shown).

ロボット制御装置100は、制約条件記憶部2と、指令軌跡記憶部3と、速度計算部4と、勾配計算部5と、指令軌跡補正部6と、指令点列計算部7と、制御部8とを備える。 The robot control device 100 includes a constraint storage section 2, a command trajectory storage section 3, a speed calculation section 4, a slope calculation section 5, a command trajectory correction section 6, a command point sequence calculation section 7, and a control section 8. Equipped with.

制約条件記憶部2は、マニピュレータ1に関して予め設定された制約条件のパラメータを記憶する。制約条件は、マニピュレータ1の関節角速度、関節角加速度、関節トルク、手先速度、手先加速度、マニピュレータ1が把持する対象(ワーク112)で発生する力、および把持する対象で発生するモーメントのうち少なくとも1つに関する条件である。一例として、制約条件が手先速度vに関する条件の場合、制約条件とは「vmin≦v≦vmax」のことである。ここで、vminは手先速度vの下限値、vmaxは手先速度vの上限値である。そして、この場合の制約条件のパラメータとは、vminおよびvmaxのことである。制約条件および制約条件のパラメータは、これに限定されない。例えば、制約条件は「|v|≦vth」であり、制約条件のパラメータはvthであってもよい。ここで、|v|は手先速度vの絶対値、vthは手先速度vの閾値である。The constraint storage unit 2 stores parameters of constraints set in advance for the manipulator 1. The constraint condition is at least one of the joint angular velocity, joint angular acceleration, joint torque, hand speed, hand acceleration of the manipulator 1, the force generated in the object (workpiece 112) gripped by the manipulator 1, and the moment generated in the gripped object. There are two conditions. As an example, when the constraint condition is related to hand speed v h , the constraint condition is "v min ≦v h ≦ v max ". Here, v min is the lower limit value of the hand speed v h , and v max is the upper limit value of the hand speed v h . The parameters of the constraint conditions in this case are v min and v max . The constraints and the parameters of the constraints are not limited to these. For example, the constraint condition may be “|v h |≦v th ” and the parameter of the constraint condition may be v th . Here, |v h | is the absolute value of the hand speed v h , and v th is a threshold value of the hand speed v h .

なお、制約条件のパラメータが予め設定される場合について説明したが、ロボット制御装置100が図示しない把持制約学習部を備えてもよい。把持制約学習部は、ワーク112で発生する力およびモーメントのうち少なくとも1つについて、機械学習を用いて制約条件のパラメータを学習し、得られた制約条件のパラメータを制約条件記憶部2に記憶してもよい。具体的には、把持制約学習部は、マニピュレータ1がワーク112を把持する際に、ワーク112で発生する力およびモーメントを図示しないセンサによって取得し、取得した値に基づいて、制約条件のパラメータとして学習する。 Although a case has been described in which the parameters of the constraint conditions are set in advance, the robot control device 100 may include a grip constraint learning section (not shown). The gripping constraint learning unit uses machine learning to learn constraint parameters for at least one of the force and moment generated in the workpiece 112, and stores the obtained constraint parameters in the constraint storage unit 2. It's okay. Specifically, the gripping constraint learning unit acquires the force and moment generated in the workpiece 112 when the manipulator 1 grips the workpiece 112 using a sensor (not shown), and uses the acquired values as parameters of the constraint condition. learn.

指令軌跡記憶部3は、予め設定されたマニピュレータ1への指令軌跡を記憶する。一例として、指令軌跡がスプライン曲線として与えられていた場合、指令軌跡記憶部3は、スプライン曲線上の経由点の位置とその位置における曲線の媒介変数の値(0から1の値)とのペアで記憶する。あるいは、指令軌跡記憶部3は、スプライン曲線上の経由点の位置のみを記憶してもよい。この場合、媒介変数の値は、スプライン曲線上の経由点間の距離などから計算される。また、指令軌跡はスプライン曲線以外にも、B-スプライン曲線、あるいはベジェ曲線などとして与えられてもよい。指令軌跡記憶部3は、後に説明する指令軌跡補正部6からの補正指令軌跡を記憶する。この際、予め設定された指令軌跡は破棄され、補正指令軌跡が新たに記憶される。 The command trajectory storage unit 3 stores a preset command trajectory to the manipulator 1. As an example, when the command trajectory is given as a spline curve, the command trajectory storage unit 3 stores pairs of positions of waypoints on the spline curve and values of parametric variables of the curve at that position (values from 0 to 1). memorize it. Alternatively, the command trajectory storage section 3 may store only the positions of waypoints on the spline curve. In this case, the value of the parameter is calculated from the distance between waypoints on the spline curve. Further, the command trajectory may be given as a B-spline curve, a Bezier curve, or the like other than a spline curve. The command trajectory storage section 3 stores a corrected command trajectory from the command trajectory correction section 6, which will be described later. At this time, the preset command trajectory is discarded, and the corrected command trajectory is newly stored.

速度計算部4は、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する。すなわち、速度計算部4は、指令軌跡記憶部3からの指令軌跡と、制約条件記憶部2からの制約条件のパラメータとに基づいて、制約条件の範囲内でマニピュレータ1の動作時間を短くする指令軌跡上の速度プロファイルを計算する。あるいは、ロボット制御装置100が把持制約学習部を備える場合、速度計算部4は、指令軌跡と、把持制約学習部で学習した制約条件のパラメータとに基づいて、速度プロファイルを計算する。ここで、マニピュレータ1の動作時間に基づく評価指標とは、後に説明するプロファイル計算部44が用いる評価関数のことである。この評価関数は、媒介変数を介して、マニピュレータ1の加速度および速度を変数として数式化した関数である。また、速度プロファイルとは、マニピュレータ1が指令軌跡上を動作する際の各関節の速度の時間変化を表す。速度計算部4は、評価関数で表された動作時間を最小化する最適化問題によって、速度プロファイルを計算する。 The speed calculation unit 4 calculates the speed profile of the manipulator 1 based on a preset command trajectory for the manipulator 1, constraint conditions regarding the manipulator 1, and an evaluation index based on the operation time of the manipulator 1. That is, the speed calculation section 4 issues a command to shorten the operation time of the manipulator 1 within the range of the constraint conditions based on the command trajectory from the command trajectory storage section 3 and the parameter of the constraint condition from the constraint condition storage section 2. Calculate the velocity profile on the trajectory. Alternatively, if the robot control device 100 includes a grip constraint learning section, the speed calculation section 4 calculates the speed profile based on the command trajectory and the parameter of the constraint learned by the grip constraint learning section. Here, the evaluation index based on the operation time of the manipulator 1 is an evaluation function used by the profile calculation unit 44, which will be described later. This evaluation function is a function expressed mathematically using the acceleration and velocity of the manipulator 1 as variables through a parameter. In addition, the velocity profile represents a temporal change in the velocity of each joint when the manipulator 1 moves on a commanded trajectory. The speed calculation unit 4 calculates a speed profile using an optimization problem that minimizes the operation time expressed by an evaluation function.

図3は、実施の形態1における速度計算部4の一例を示すブロック図である。速度計算部4は、指令補間計算部41と、動力学計算部42と、制約条件係数計算部43と、プロファイル計算部44とを備える。 FIG. 3 is a block diagram showing an example of the speed calculation unit 4 in the first embodiment. The speed calculation unit 4 includes a command interpolation calculation unit 41, a dynamics calculation unit 42, a constraint coefficient calculation unit 43, and a profile calculation unit 44.

指令補間計算部41は、予め設定された自然数Nを用いて、指令軌跡記憶部3からの指令軌跡の曲線をN点で補間し、指令軌跡上の補間点における位置と指令軌跡の媒介変数に関する一階微分および二階微分とを計算する。一例として、指令軌跡がスプライン曲線として与えられていた場合、マニピュレータ1の各軸の関節位置(あるいは関節角度)が媒介変数に関する3次の区分多項式として表現されるので、多項式の微分を用いることで、補間点の位置(あるいは角度)だけでなく、媒介変数に関する一階微分および二階微分を計算することができる。 The command interpolation calculation unit 41 interpolates the curve of the command trajectory from the command trajectory storage unit 3 at N points using a preset natural number N, and calculates information regarding the position at the interpolation point on the command trajectory and the parameter of the command trajectory. Calculate the first and second derivatives. As an example, if the command trajectory is given as a spline curve, the joint positions (or joint angles) of each axis of the manipulator 1 are expressed as a cubic piecewise polynomial with respect to the parametric variables. , it is possible to calculate not only the position (or angle) of the interpolation point, but also the first and second derivatives with respect to the parametric variables.

動力学計算部42は、指令補間計算部41からの補間点における位置と一階微分と二階微分とを用いて、マニピュレータ1の運動学計算と動力学計算とを行い、運動学計算結果と動力学計算結果とを出力する。運動学計算とは、マニピュレータ1の各関節の速度、加速度、角速度、および角加速度から、マニピュレータ1の各関節、各リンク、および把持部111などの速度、加速度、角速度、および角加速度を計算することである。また、動力学計算とは、マニピュレータ1の各関節、各リンク、および把持部111などの速度、加速度、角速度、および角加速度から、マニピュレータ1の各関節に発生するトルク、および把持部111に発生する力とモーメントとを計算することである。 The dynamics calculation unit 42 performs kinematics calculation and dynamics calculation of the manipulator 1 using the position, first-order differential, and second-order differential at the interpolation point from the command interpolation calculation unit 41, and calculates the kinematics calculation result and the dynamics. Outputs scientific calculation results. Kinematic calculation is to calculate the velocity, acceleration, angular velocity, and angular acceleration of each joint of the manipulator 1, each link, the grip part 111, etc. from the velocity, acceleration, angular velocity, and angular acceleration of each joint of the manipulator 1. That's true. In addition, dynamic calculation refers to the torque generated in each joint of the manipulator 1 and the torque generated in the grip part 111 from the velocity, acceleration, angular velocity, and angular acceleration of each joint, each link, and the grip part 111 of the manipulator 1. The purpose is to calculate the force and moment.

制約条件係数計算部43は、動力学計算部42からの運動学計算結果および動力学計算結果と、制約条件記憶部2からの制約条件のパラメータとに基づいて、制約条件の係数を計算する。一例として、把持部111に発生する力に関する制約条件が、以下の数式(1)で表される場合、制約条件の係数とは、a、bおよびcのことである。すなわち、制約条件の係数とは、複数の変数を含む関係式において、それぞれの項に含まれる係数のことである。ここで、変数とは、数式(1)における補間点での加速度uおよび速度xなどである。 The constraint coefficient calculation unit 43 calculates coefficients of the constraint based on the kinematic calculation results and the dynamic calculation results from the dynamic calculation unit 42 and the constraint parameters from the constraint storage unit 2. As an example, when a constraint regarding the force generated in the grip portion 111 is expressed by the following formula (1), the coefficients of the constraint are a, b, and c. That is, the coefficients of the constraint conditions are the coefficients included in each term in a relational expression that includes a plurality of variables. Here, the variables include acceleration u and velocity x at the interpolation point in Equation (1).

Figure 0007378640000001
Figure 0007378640000001

プロファイル計算部44は、制約条件係数計算部43からの制約条件の係数に基づいて、速度プロファイルを計算する。すなわち、プロファイル計算部44は、マニピュレータ1の動作時間に基づく評価関数と、制約条件の係数とに基づく最適化計算により、マニピュレータ1の指令軌跡上の速度プロファイルと、マニピュレータ1の動作時間とを計算する。 The profile calculation unit 44 calculates a speed profile based on the constraint coefficients from the constraint coefficient calculation unit 43. That is, the profile calculation unit 44 calculates the velocity profile of the manipulator 1 on the commanded trajectory and the operation time of the manipulator 1 by optimization calculation based on the evaluation function based on the operation time of the manipulator 1 and the coefficients of the constraint conditions. do.

なお、制約条件係数計算部43が制約条件の係数を計算する方法、およびプロファイル計算部44が速度プロファイルを計算する方法は、非特許文献1に示されている。 Note that the method by which the constraint coefficient calculation unit 43 calculates the coefficient of the restriction condition and the method by which the profile calculation unit 44 calculates the speed profile are shown in Non-Patent Document 1.

以上のように、速度計算部4は、制約条件記憶部2で設定された制約条件の範囲内で、動作時間が短くなる速度プロファイルを計算することができる。また、ワーク112で発生する力およびモーメントを制約条件に加えることで、ワーク112のピックアンドプレースにおいて、ワーク112が落下する、あるいはワーク112に過剰な力が発生するなどの不具合を抑制することができる。加えて、非特許文献1に記載されている方法は、大域的最適解が容易に得られる凸最適化と呼ばれる方法であるため、速度プロファイルを高速に計算することができる。 As described above, the speed calculation unit 4 can calculate a speed profile that reduces the operating time within the range of the constraints set in the constraint storage unit 2. Furthermore, by adding the force and moment generated in the work 112 to the constraint conditions, it is possible to suppress problems such as the work 112 falling or excessive force being generated in the work 112 during pick and place of the work 112. can. In addition, the method described in Non-Patent Document 1 is a method called convex optimization in which a global optimal solution can be easily obtained, so that the velocity profile can be calculated at high speed.

図1に戻り、勾配計算部5は、速度計算部4からの速度プロファイルに基づいて、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算し、勾配情報として出力する。具体的には、勾配計算部5は、自動微分を用いて、プロファイル計算部44からのマニピュレータ1の動作時間を指令軌跡について微分することで、動作時間の指令軌跡に関する勾配を計算し、勾配情報として出力する。 Returning to FIG. 1, the gradient calculation section 5 calculates the gradient regarding the command trajectory of the operation time of the manipulator 1 based on the speed profile from the speed calculation section 4, and outputs it as gradient information. Specifically, the gradient calculation unit 5 uses automatic differentiation to calculate the gradient of the operation time with respect to the command trajectory by differentiating the operation time of the manipulator 1 from the profile calculation unit 44 with respect to the command trajectory, and calculates the slope information with respect to the command trajectory. Output as .

図4は、実施の形態1における勾配計算部5の一例を示すブロック図である。勾配計算部5は、指令補間勾配計算部51と、動力学勾配計算部52と、制約条件係数勾配計算部53と、プロファイル勾配計算部54とを備える。指令補間勾配計算部51、動力学勾配計算部52、制約条件係数勾配計算部53、およびプロファイル勾配計算部54は、それぞれ、指令補間計算部41、動力学計算部42、制約条件係数計算部43、およびプロファイル計算部44が行った計算結果の勾配を計算する。 FIG. 4 is a block diagram showing an example of the gradient calculation unit 5 in the first embodiment. The gradient calculation section 5 includes a command interpolation gradient calculation section 51, a dynamic gradient calculation section 52, a constraint coefficient gradient calculation section 53, and a profile gradient calculation section 54. The command interpolation gradient calculation section 51, the dynamic gradient calculation section 52, the constraint coefficient gradient calculation section 53, and the profile gradient calculation section 54 are the command interpolation calculation section 41, the dynamics calculation section 42, and the constraint condition coefficient calculation section 43, respectively. , and calculates the slope of the calculation result performed by the profile calculation unit 44.

プロファイル勾配計算部54は、一例として非特許文献2で示されている方法と同様の方法に基づいて、最適化問題の係数に関する勾配を計算することで、動作時間の制約条件の係数に関する勾配を計算する。 The profile gradient calculation unit 54 calculates the gradient related to the coefficient of the operation time constraint by calculating the gradient related to the coefficient of the optimization problem based on a method similar to the method shown in Non-Patent Document 2 as an example. calculate.

制約条件係数勾配計算部53は、プロファイル勾配計算部54からの制約条件の係数に関する勾配を入力とし、制約条件係数計算部43の計算手順の微分を連鎖律に基づいて計算することで、動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を計算する。 The constraint coefficient gradient calculation unit 53 inputs the gradient of the coefficient of the constraint from the profile gradient calculation unit 54 and calculates the differential of the calculation procedure of the constraint coefficient calculation unit 43 based on the chain rule, thereby calculating the operating time. Calculate the slope with respect to the kinematic calculation result of and the slope with respect to the dynamic calculation result of operation time.

動力学勾配計算部52は、制約条件係数勾配計算部53からの動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を入力とし、動力学計算部42の計算手順の微分を連鎖律に基づいて計算することで、動作時間の指令軌跡上の補間点における位置に関する勾配、動作時間の指令軌跡の媒介変数に関する一階微分に関する勾配、および動作時間の指令軌跡の媒介変数に関する二階微分に関する勾配を計算する。 The dynamic gradient calculation unit 52 inputs the gradient related to the kinematic calculation result of the operating time and the gradient related to the dynamic calculation result of the operating time from the constraint condition coefficient gradient calculation unit 53, and calculates the calculation procedure of the dynamic calculation unit 42. By calculating the differential based on the chain rule, we can calculate the slope with respect to the position at the interpolation point on the command trajectory of the operation time, the slope of the first derivative with respect to the parameter of the command trajectory of the operation time, and the parameter of the command trajectory of the operation time. Compute the slope with respect to the second derivative with respect to .

指令補間勾配計算部51は、動力学勾配計算部52からの指令軌跡上の補間点における位置に関する勾配、指令軌跡の媒介変数に関する一階微分に関する勾配、および指令軌跡の媒介変数に関する二階微分に関する勾配を入力とし、指令補間計算部41の計算手順の微分を連鎖律に基づいて計算することで、動作時間の指令軌跡に関する勾配を計算する。指令補間勾配計算部51からは、動作時間の指令軌跡に関する勾配を勾配情報として出力する。 The command interpolation gradient calculation unit 51 calculates a gradient related to the position at the interpolation point on the command trajectory from the dynamic gradient calculation unit 52, a gradient related to the first-order differential with respect to the parameter of the command trajectory, and a gradient related to the second-order differential with respect to the parameter of the command trajectory. is input, and the gradient of the command trajectory of the operation time is calculated by calculating the differential of the calculation procedure of the command interpolation calculation unit 41 based on the chain rule. The command interpolation gradient calculation unit 51 outputs the gradient regarding the command trajectory of the operation time as gradient information.

図1に戻り、指令軌跡補正部6は、勾配計算部5からの勾配情報に基づいて、マニピュレータ1の動作時間が減少するように指令軌跡を補正し、補正指令軌跡として出力する。指令軌跡補正部6は、勾配情報に基づく勾配降下法、共役勾配法または準ニュートン法のうちいずれか1つを用いることで、指令軌跡を補正する。勾配降下法の一例として、最急降下法、モーメンタム法、または加速勾配法などがある。補正指令軌跡は、指令軌跡記憶部3で記憶される。 Returning to FIG. 1, the command trajectory correction section 6 corrects the command trajectory so as to reduce the operating time of the manipulator 1 based on the gradient information from the gradient calculation section 5, and outputs it as a corrected command trajectory. The command trajectory correction unit 6 corrects the command trajectory by using any one of a gradient descent method, a conjugate gradient method, or a quasi-Newton method based on gradient information. Examples of gradient descent methods include the steepest descent method, the momentum method, and the accelerated gradient method. The correction command trajectory is stored in the command trajectory storage section 3.

勾配情報に基づいて、指令軌跡補正部6がマニピュレータ1の動作時間が少なくなるよう指令軌跡を補正することで、マニピュレータ1の動作時間を短縮することができる。また、指令軌跡補正部6が勾配情報を用いるため、効率よく高速に指令軌跡を補正することができる。 Based on the slope information, the command trajectory correction section 6 corrects the command trajectory so that the operation time of the manipulator 1 is shortened, so that the operation time of the manipulator 1 can be shortened. Further, since the command trajectory correction section 6 uses the slope information, the command trajectory can be corrected efficiently and at high speed.

指令点列計算部7は、指令軌跡記憶部3で記憶された補正指令軌跡と、速度計算部4からの速度プロファイルとに基づいて、所定のサンプリング周期毎の指令点列を計算する。このサンプリング周期は、後に説明する制御部8がアクチュエータ110への電流値を計算する際の周期のことである。一例として、補正指令軌跡がスプライン曲線として与えられていた場合、指令点列計算部7は、速度プロファイルに基づいて、時刻と補正指令軌跡の曲線の媒介変数との間の変換を行い、媒介変数を入力とした補正指令軌跡のスプライン曲線の区分多項式と組み合わせることにより、各サンプリングでマニピュレータ1への位置指令の点列を計算する。 The command point sequence calculation section 7 calculates a command point sequence for each predetermined sampling period based on the corrected command trajectory stored in the command trajectory storage section 3 and the speed profile from the speed calculation section 4. This sampling period is a period when the control unit 8, which will be described later, calculates the current value to the actuator 110. As an example, if the correction command trajectory is given as a spline curve, the command point sequence calculation unit 7 converts between the time and the parameter of the curve of the correction command trajectory based on the speed profile, and converts the parameter By combining with the piecewise polynomial of the spline curve of the correction command trajectory input, the point sequence of the position command to the manipulator 1 is calculated at each sampling.

制御部8は、補正指令軌跡に対しマニピュレータ1が追従するよう制御する。すなわち、制御部8は、指令点列計算部7からの指令点列に対し、マニピュレータ1が追従するよう制御する。 The control unit 8 controls the manipulator 1 to follow the correction command trajectory. That is, the control unit 8 controls the manipulator 1 to follow the command point sequence from the command point sequence calculation unit 7.

図5は、実施の形態1における制御部8の一例を示すブロック図である。制御部8は、フィードフォワード制御部81と、フィードバック制御部82と、電流値計算部83とを備える。 FIG. 5 is a block diagram showing an example of the control unit 8 in the first embodiment. The control section 8 includes a feedforward control section 81, a feedback control section 82, and a current value calculation section 83.

フィードフォワード制御部81は、指令点列計算部7からの指令点列に対し、例えば平滑化などのフィルタ処理を行い、平滑化後の指令点列として出力する。フィードフォワード制御部81は、指令点列計算部7からの指令点列に対し、モデル化された逆伝達関数を適用することで、アクチュエータ110に入力する電流のフィードフォワード値を計算して出力する。逆伝達関数とは、制御対象であるアクチュエータ110の伝達関数に対する逆関数である。センサによってアクチュエータ110で発生する外乱を検知できる場合、フィードフォワード制御部81は外乱信号に対し、モデル化された逆伝達関数を適用してもよい。この場合、フィードフォワード制御部81は、外乱信号に対し逆伝達関数を適用したものを上記の電流のフィードフォワード値に含めて出力する。外乱の一例として、作業者がマニピュレータ1に接触することによる振動が挙げられる。 The feedforward control unit 81 performs filter processing such as smoothing on the command point sequence from the command point sequence calculation unit 7, and outputs it as a smoothed command point sequence. The feedforward control unit 81 calculates and outputs the feedforward value of the current input to the actuator 110 by applying the modeled inverse transfer function to the command point sequence from the command point sequence calculation unit 7. . The inverse transfer function is an inverse function to the transfer function of the actuator 110 that is the controlled object. If the disturbance generated in the actuator 110 can be detected by the sensor, the feedforward control unit 81 may apply a modeled inverse transfer function to the disturbance signal. In this case, the feedforward control unit 81 outputs the disturbance signal to which the inverse transfer function is applied, including it in the feedforward value of the current. An example of the disturbance is vibration caused by a worker touching the manipulator 1.

フィードバック制御部82は、フィードフォワード制御部81からの平滑化後の指令点列にアクチュエータ110が追従するようフィードバック制御を行い、アクチュエータ110に入力する電流のフィードバック値を計算して出力する。 The feedback control unit 82 performs feedback control so that the actuator 110 follows the smoothed command point sequence from the feedforward control unit 81, and calculates and outputs a feedback value of the current input to the actuator 110.

電流値計算部83は、フィードフォワード制御部81からの電流のフィードフォワード値と、フィードバック制御部82からの電流のフィードバック値とに基づいて、アクチュエータ110へ入力する電流値を計算する。 The current value calculation section 83 calculates the current value input to the actuator 110 based on the feedforward value of the current from the feedforward control section 81 and the feedback value of the current from the feedback control section 82 .

図6は、実施の形態1におけるロボット制御装置100の動作の一例を示すフローチャートである。すなわち、図6は、実施の形態1におけるロボット制御方法の一例を示すフローチャートである。 FIG. 6 is a flowchart showing an example of the operation of the robot control device 100 in the first embodiment. That is, FIG. 6 is a flowchart showing an example of the robot control method in the first embodiment.

図6に示すように、図示しない手段によりロボット制御が開始されると、速度計算部4は、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。 As shown in FIG. 6, when robot control is started by means not shown, the speed calculation unit 4 calculates a command trajectory to the manipulator 1 set in advance, constraint conditions regarding the manipulator 1, and operation time of the manipulator 1. The speed profile of the manipulator 1 is calculated based on the evaluation index (step ST1).

勾配計算部5は、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。 The gradient calculation unit 5 calculates the gradient regarding the command trajectory of the operation time of the manipulator 1 and outputs it as gradient information (step ST2).

指令軌跡補正部6は、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。 The command trajectory correction unit 6 corrects the command trajectory based on the slope information and outputs the corrected command trajectory (step ST3).

指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。 The command trajectory storage section 3 stores the corrected command trajectory (step ST4).

指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。 The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and the speed profile (step ST5).

制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。 The control unit 8 controls the actuator 110 so that the manipulator 1 follows the correction command trajectory (step ST6).

図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST7)。 By means not shown, it is determined whether or not to continue controlling the robot (step ST7).

ステップST7の判定が「Yes」の場合は、処理はステップST6に戻り、ロボットの制御が継続される。ステップST7の判定が「No」の場合は、ロボットの制御が終了する。ロボットの制御が終了するのは、例えばマニピュレータ1が補正指令軌跡の終点にたどり着いた場合である。あるいは、マニピュレータ1が異常動作したと判定された場合である。この判定は、図示しない手段により行われる。 If the determination in step ST7 is "Yes", the process returns to step ST6 and control of the robot is continued. If the determination in step ST7 is "No", control of the robot ends. Control of the robot ends, for example, when the manipulator 1 reaches the end point of the correction command trajectory. Alternatively, this is a case where it is determined that the manipulator 1 has operated abnormally. This determination is performed by means not shown.

以上で説明した実施の形態1によれば、マニピュレータ1に関する制約条件とマニピュレータ1の動作時間とに基づく評価指標に基づいて速度プロファイルを計算し、動作時間の指令軌跡に関する勾配に基づいて指令軌跡を補正するため、制約条件を満たし、動作時間が短くなるようなマニピュレータ1の補正指令軌跡と速度プロファイルとを高速に求めることができる。 According to the first embodiment described above, the speed profile is calculated based on the evaluation index based on the constraint conditions regarding the manipulator 1 and the operation time of the manipulator 1, and the command trajectory is calculated based on the gradient of the command trajectory of the operation time. In order to perform the correction, it is possible to quickly obtain a correction command trajectory and a speed profile for the manipulator 1 that satisfy the constraint conditions and shorten the operation time.

実施の形態2.
実施の形態2では、周辺環境113で予め取得されるマニピュレータ1周辺の周辺情報に基づいて、指令軌跡を生成する。
Embodiment 2.
In the second embodiment, a command trajectory is generated based on peripheral information around the manipulator 1 acquired in advance in the peripheral environment 113.

図7は、実施の形態2におけるロボット制御装置100aの一例を示すブロック図である。図7は、ロボット制御装置100aがロボット制御装置100の構成要素に加え、周辺環境情報記憶部9と、指令軌跡生成部10と、速度プロファイル記憶部11とを備える点で、図1とは異なる。また、図7は、指令軌跡補正部6の代わりに指令軌跡補正部6aを備える点で、図1とは異なる。周辺環境情報記憶部9、指令軌跡生成部10、速度プロファイル記憶部11および指令軌跡補正部6a以外は、図1に示すものと同じであるため、説明を省略する。 FIG. 7 is a block diagram showing an example of the robot control device 100a in the second embodiment. 7 differs from FIG. 1 in that the robot control device 100a includes a surrounding environment information storage unit 9, a command trajectory generation unit 10, and a speed profile storage unit 11 in addition to the components of the robot control device 100. . Further, FIG. 7 differs from FIG. 1 in that a command trajectory correction section 6a is provided instead of the command trajectory correction section 6. The components other than the surrounding environment information storage section 9, the command trajectory generation section 10, the speed profile storage section 11, and the command trajectory correction section 6a are the same as those shown in FIG. 1, so the description thereof will be omitted.

周辺環境情報記憶部9は、マニピュレータ1周辺の周辺情報を記憶する。具体的には、周辺環境情報記憶部9は、周辺環境113によって取得されたマニピュレータ1周辺の障害物の位置および形状などの情報を周辺情報として記憶する。周辺情報を記憶するためのデータ構造としては、例えば点群、ボクセル、ポリゴンメッシュ、および直方体などの基本形状でもよいし、複数の基本形状を組み合わせたものでもよい。また、データ構造として、後に説明する距離関数計算部61が行う距離計算などの高速化が図れるバウンディングボリューム階層であってもよい。 The surrounding environment information storage section 9 stores surrounding information around the manipulator 1. Specifically, the surrounding environment information storage unit 9 stores information such as the position and shape of obstacles around the manipulator 1 acquired from the surrounding environment 113 as surrounding information. The data structure for storing peripheral information may be a basic shape such as a point cloud, a voxel, a polygon mesh, a rectangular parallelepiped, or a combination of a plurality of basic shapes. Furthermore, the data structure may be a bounding volume hierarchy that can speed up distance calculations performed by the distance function calculation unit 61, which will be described later.

指令軌跡生成部10は、周辺環境情報記憶部9で記憶された周辺情報に基づいて、指令軌跡を生成する。具体的には、指令軌跡生成部10は、周辺情報に基づいて、マニピュレータ1が周辺の障害物と干渉しないような指令軌跡を生成し、指令軌跡記憶部3で記憶されている指令軌跡の更新を行う。指令軌跡を生成するアルゴリズムとして、例えばRRT(Rapidly-exploring Random Tree)およびPRM(Probabilistic RoadMap)などを用いてもよい。 The command trajectory generation section 10 generates a command trajectory based on the surrounding information stored in the surrounding environment information storage section 9. Specifically, the command trajectory generation unit 10 generates a command trajectory such that the manipulator 1 does not interfere with surrounding obstacles based on surrounding information, and updates the command trajectory stored in the command trajectory storage unit 3. I do. As an algorithm for generating the command trajectory, for example, RRT (Rapidly-Exploring Random Tree) and PRM (Probabilistic RoadMap) may be used.

指令軌跡生成部10で生成される指令軌跡は、予め設定された初期軌道ではなく、マニピュレータ1周辺の障害物との干渉を避けるような指令軌跡であり、自律的に生成されるものである。このため、指令軌跡生成部10は、例えば指令軌跡の始点と終点とを入力するだけで、指令軌跡を自動的に生成することができる。 The command trajectory generated by the command trajectory generation unit 10 is not a preset initial trajectory, but is a command trajectory that avoids interference with obstacles around the manipulator 1, and is generated autonomously. Therefore, the command trajectory generation unit 10 can automatically generate a command trajectory by simply inputting, for example, the start point and end point of the command trajectory.

指令軌跡補正部6aは、指令軌跡記憶部3で記憶された指令軌跡と、周辺環境情報記憶部9で記憶された周辺情報と、勾配計算部5からの勾配情報とに基づいて、指令軌跡を補正し、補正指令軌跡として出力する。補正指令軌跡は、指令軌跡記憶部3で記憶される。 The command trajectory correction unit 6a corrects the command trajectory based on the command trajectory stored in the command trajectory storage unit 3, the surrounding information stored in the surrounding environment information storage unit 9, and the slope information from the slope calculation unit 5. Correct it and output it as a corrected command trajectory. The correction command trajectory is stored in the command trajectory storage section 3.

図8は、実施の形態2における指令軌跡補正部6aの一例を示すブロック図である。指令軌跡補正部6aは、距離関数計算部61と、バリア関数計算部62と、バリア関数勾配計算部63と、指令軌跡補正値計算部64とを備える。 FIG. 8 is a block diagram showing an example of the command trajectory correction section 6a in the second embodiment. The command trajectory correction section 6a includes a distance function calculation section 61, a barrier function calculation section 62, a barrier function gradient calculation section 63, and a command trajectory correction value calculation section 64.

距離関数計算部61は、指令軌跡記憶部3で記憶された指令軌跡と、周辺環境情報記憶部9で記憶された周辺情報とに基づいて、指令軌跡と周辺の障害物との距離関数の値を計算する。 The distance function calculation unit 61 calculates the value of the distance function between the command trajectory and surrounding obstacles based on the command trajectory stored in the command trajectory storage unit 3 and the surrounding information stored in the surrounding environment information storage unit 9. Calculate.

バリア関数計算部62は、距離関数の値がある値以下になると関数の値が発散するようなバリア関数を構成し、距離関数計算部61からの距離関数の値に基づいて、バリア関数の値を計算する。 The barrier function calculation unit 62 configures a barrier function such that the value of the function diverges when the value of the distance function becomes less than a certain value, and calculates the value of the barrier function based on the value of the distance function from the distance function calculation unit 61. Calculate.

バリア関数勾配計算部63は、バリア関数計算部62からのバリア関数の値の指令軌跡に関する勾配を計算する。バリア関数勾配計算部63は、例えば自動微分を用いて勾配を計算する。 The barrier function gradient calculation section 63 calculates the gradient of the barrier function value from the barrier function calculation section 62 with respect to the command trajectory. The barrier function gradient calculation unit 63 calculates the gradient using automatic differentiation, for example.

指令軌跡補正値計算部64は、勾配計算部5からのマニピュレータ1の動作時間の指令軌跡に関する勾配と、バリア関数勾配計算部63からのバリア関数の値の指令軌跡に関する勾配とを合わせて勾配情報とし、この勾配情報に基づいて、動作時間とバリア関数の値との和が小さくなるように、指令軌跡の補正値を計算する。 The command trajectory correction value calculation section 64 combines the gradient regarding the command trajectory of the operation time of the manipulator 1 from the gradient calculation section 5 and the slope regarding the command trajectory of the value of the barrier function from the barrier function gradient calculation section 63 to obtain gradient information. Based on this gradient information, a correction value for the command trajectory is calculated so that the sum of the operation time and the value of the barrier function becomes small.

図7に戻り、速度プロファイル記憶部11は、速度計算部4からの速度プロファイルを記憶する。ロボット制御装置100aが速度プロファイル記憶部11を備えることにより、速度計算部4が速度プロファイルを計算するタイミングを任意に設定することができる。すなわち、制御部8がアクチュエータ110を制御する直前だけでなく、例えばマニピュレータ1が動作していない間、あるいはマニピュレータ1が他の動作を行っている間などに速度プロファイルを計算することができる。 Returning to FIG. 7, the speed profile storage section 11 stores the speed profile from the speed calculation section 4. Since the robot control device 100a includes the speed profile storage section 11, the timing at which the speed calculation section 4 calculates the speed profile can be arbitrarily set. That is, the velocity profile can be calculated not only immediately before the control unit 8 controls the actuator 110, but also while the manipulator 1 is not operating or while the manipulator 1 is performing another operation.

指令点列計算部7は、指令軌跡記憶部3で記憶された補正指令軌跡と、速度プロファイル記憶部11で記憶された速度プロファイルとに基づいて、所定のサンプリング周期毎の指令点列を計算する。 The command point sequence calculation unit 7 calculates a command point sequence for each predetermined sampling period based on the corrected command trajectory stored in the command trajectory storage unit 3 and the speed profile stored in the speed profile storage unit 11. .

図9は、実施の形態2におけるロボット制御装置100aの動作の一例を示すフローチャートである。すなわち、図9は、実施の形態2におけるロボット制御方法の一例を示すフローチャートである。図9のステップST1からステップST7は、図6のステップST1からステップST7と同じであるため、ここでは詳細説明を省略する。 FIG. 9 is a flowchart showing an example of the operation of the robot control device 100a in the second embodiment. That is, FIG. 9 is a flowchart showing an example of the robot control method in the second embodiment. Steps ST1 to ST7 in FIG. 9 are the same as steps ST1 to ST7 in FIG. 6, so detailed explanation will be omitted here.

図9に示すように、図示しない手段によりロボット制御が開始されると、指令軌跡生成部10は、周辺環境情報記憶部9で記憶された周辺情報に基づいて、指令軌跡を生成する。(ステップST8)。
As shown in FIG. 9, when robot control is started by means not shown, the command trajectory generation section 10 generates a command trajectory based on the surrounding information stored in the surrounding environment information storage section 9. (Step ST8).

速度計算部4は、マニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。 The speed calculation unit 4 calculates the speed profile of the manipulator 1 based on the command trajectory to the manipulator 1, the constraint conditions regarding the manipulator 1, and the evaluation index based on the operation time of the manipulator 1 (step ST1).

速度プロファイル記憶部11は、速度プロファイルを記憶する(ステップST9)。 The speed profile storage unit 11 stores the speed profile (step ST9).

勾配計算部5は、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。 The gradient calculation unit 5 calculates the gradient regarding the command trajectory of the operation time of the manipulator 1 and outputs it as gradient information (step ST2).

指令軌跡補正部6aは、バリア関数の値の指令軌跡に関する勾配を計算し、ステップST2により計算された勾配と合わせたものを勾配情報として出力する(ステップST10)。 The command trajectory correction unit 6a calculates the gradient of the value of the barrier function with respect to the command trajectory, and outputs the gradient information combined with the gradient calculated in step ST2 as gradient information (step ST10).

指令軌跡補正部6aは、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。 The command trajectory correction section 6a corrects the command trajectory based on the gradient information and outputs the corrected command trajectory (step ST3).

指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。 The command trajectory storage section 3 stores the corrected command trajectory (step ST4).

指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。 The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and the speed profile (step ST5).

制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。 The control unit 8 controls the actuator 110 so that the manipulator 1 follows the correction command trajectory (step ST6).

図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST7)。 By means not shown, it is determined whether or not to continue controlling the robot (step ST7).

ステップST7の判定が「Yes」の場合は、処理はステップST6に戻り、ロボットの制御が継続される。ステップST7の判定が「No」の場合は、ロボットの制御が終了する。 If the determination in step ST7 is "Yes", the process returns to step ST6 and control of the robot is continued. If the determination in step ST7 is "No", control of the robot ends.

以上で説明した実施の形態2によれば、指令軌跡生成部10が周辺環境113からの周辺情報に基づいて指令軌跡を生成するため、障害物との干渉を避けつつ動作時間が短くなるようなマニピュレータ1の補正指令軌跡と速度プロファイルとを高速に求めることができる。 According to the second embodiment described above, the command trajectory generation unit 10 generates the command trajectory based on the surrounding information from the surrounding environment 113, so that the operation time can be shortened while avoiding interference with obstacles. The correction command locus and velocity profile of the manipulator 1 can be determined at high speed.

実施の形態3.
実施の形態3では、タブレットなどの入出力装置12を用いて、マニピュレータ1の制御を行う。
Embodiment 3.
In the third embodiment, the manipulator 1 is controlled using an input/output device 12 such as a tablet.

図10は、実施の形態3におけるロボット制御装置100bの一例を示すブロック図である。図10は、ロボット制御装置100bが入出力装置12と図示しない手段により接続されている点で、図1とは異なる。なお、ロボット制御装置100bは、実施の形態1におけるロボット制御装置100と同じ構成であるため、説明を省略する。なお、ロボット制御装置100bは、実施の形態2におけるロボット制御装置100aと同じ構成であってもよい。 FIG. 10 is a block diagram showing an example of a robot control device 100b in the third embodiment. FIG. 10 differs from FIG. 1 in that the robot control device 100b is connected to the input/output device 12 by means not shown. Note that the robot control device 100b has the same configuration as the robot control device 100 in Embodiment 1, so a description thereof will be omitted. Note that the robot control device 100b may have the same configuration as the robot control device 100a in the second embodiment.

入出力装置12は、マニピュレータ1の動作情報と周辺環境113から取得される周辺情報とを画面に表示する。動作情報は、例えばマニピュレータ1が動作している映像のことである。入出力装置12は、作業者が入力した動作情報をロボット制御装置100bに出力する。例えば、入出力装置12は、画面上のタッチパネルあるいは音声インターフェースを通じて、作業者にマニピュレータ1の動作の始点と終点とを入力させてもよいし、作業者がタブレットの画面を指でトレースすることで、マニピュレータ1の把持部111の大まかな指令軌跡を入力させてもよい。この指令軌跡は、指令軌跡記憶部3で記憶される。なお、作業者は、マニピュレータ1が動作中に入出力装置12を用いて停止させることもできる。この場合、入出力装置12は、画面上に「動作停止」の表示をさせ、作業者にその表示をタッチさせることで、作業停止の命令をロボット制御装置100bへ送信する。これにより、ロボット制御装置100bは、マニピュレータ1の動作を停止させる。 The input/output device 12 displays operation information of the manipulator 1 and peripheral information acquired from the surrounding environment 113 on a screen. The motion information is, for example, an image of the manipulator 1 in motion. The input/output device 12 outputs motion information input by the worker to the robot control device 100b. For example, the input/output device 12 may allow the operator to input the start and end points of the operation of the manipulator 1 through a touch panel on the screen or an audio interface, or may allow the operator to input the start and end points of the operation of the manipulator 1 by tracing the screen of the tablet with a finger. , a rough command trajectory of the grip portion 111 of the manipulator 1 may be input. This command trajectory is stored in the command trajectory storage section 3. Note that the operator can also use the input/output device 12 to stop the manipulator 1 while it is in operation. In this case, the input/output device 12 displays "stop operation" on the screen and causes the worker to touch the display, thereby transmitting a command to stop the work to the robot control device 100b. Thereby, the robot control device 100b stops the operation of the manipulator 1.

図11は、実施の形態3におけるロボット制御装置100bの動作の一例を示すフローチャートである。すなわち、図11は、実施の形態3におけるロボット制御方法の一例を示すフローチャートである。図11のステップST1からステップST6は、図6のステップST1からステップST6と同じであるため、ここでは詳細説明を省略する。 FIG. 11 is a flowchart showing an example of the operation of the robot control device 100b in the third embodiment. That is, FIG. 11 is a flowchart showing an example of the robot control method in the third embodiment. Steps ST1 to ST6 in FIG. 11 are the same as steps ST1 to ST6 in FIG. 6, so detailed explanation will be omitted here.

図11に示すように、図示しない手段によりロボット制御が開始されると、速度計算部4は、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。 As shown in FIG. 11, when robot control is started by means not shown, the speed calculation unit 4 calculates a preset command trajectory for the manipulator 1, constraint conditions regarding the manipulator 1, and operation time of the manipulator 1. The speed profile of the manipulator 1 is calculated based on the evaluation index (step ST1).

勾配計算部5は、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。 The gradient calculation unit 5 calculates the gradient regarding the command trajectory of the operation time of the manipulator 1 and outputs it as gradient information (step ST2).

指令軌跡補正部6は、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。 The command trajectory correction unit 6 corrects the command trajectory based on the slope information and outputs the corrected command trajectory (step ST3).

指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。 The command trajectory storage section 3 stores the corrected command trajectory (step ST4).

指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。 The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and the speed profile (step ST5).

制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。 The control unit 8 controls the actuator 110 so that the manipulator 1 follows the correction command trajectory (step ST6).

図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST11)。 By means not shown, it is determined whether or not to continue controlling the robot (step ST11).

ステップST11の判定が「Yes」の場合は、処理はステップST6に戻り、マニピュレータ1の制御が継続される。ステップST11の判定が「No」の場合は、ロボットの制御が終了する。ロボットの制御が終了するのは、例えばマニピュレータ1が補正指令軌跡の終点にたどり着いた場合である。あるいは、マニピュレータ1が異常動作したと判定された場合である。あるいは、入出力装置12から「動作停止」の命令がロボット制御装置100bへ送信された場合である。この判定は、図示しない手段により行われる。 If the determination in step ST11 is "Yes", the process returns to step ST6, and control of the manipulator 1 is continued. If the determination in step ST11 is "No", control of the robot ends. Control of the robot ends, for example, when the manipulator 1 reaches the end point of the correction command trajectory. Alternatively, this is a case where it is determined that the manipulator 1 has operated abnormally. Alternatively, this is a case where a command to "stop operation" is sent from the input/output device 12 to the robot control device 100b. This determination is performed by means not shown.

以上で説明した実施の形態3によれば、入出力装置12を用いてマニピュレータ1の制御を行うことで、マニピュレータ1の動作を可視化することができる。 According to the third embodiment described above, the operation of the manipulator 1 can be visualized by controlling the manipulator 1 using the input/output device 12.

実施の形態4.
実施の形態4では、マニピュレータ1が移動架台13の上に設置された状態で、マニピュレータ1の制御を行う。
Embodiment 4.
In the fourth embodiment, the manipulator 1 is controlled while the manipulator 1 is installed on the movable frame 13.

図12は、実施の形態4におけるロボット制御装置100cの一例を示すブロック図である。図12は、マニピュレータ1が移動架台13の上に設置される点で、図1とは異なる。また、図12は、ロボット制御装置100cが制約条件記憶部2の代わりに制約条件記憶部2cを備える点、速度計算部4の代わりに速度計算部4cを備える点、および勾配計算部5の代わりに勾配計算部5cを備える点で、図1とは異なる。制約条件記憶部2c、速度計算部4cおよび勾配計算部5c以外は、図1に示すものと同じであるため、説明を省略する。なお、ロボット制御装置100cは、実施の形態1におけるロボット制御装置100をベースとしているが、実施の形態2におけるロボット制御装置100aあるいは実施の形態3におけるロボット制御装置100bをベースとしてもよい。 FIG. 12 is a block diagram showing an example of a robot control device 100c in the fourth embodiment. FIG. 12 differs from FIG. 1 in that the manipulator 1 is installed on a movable frame 13. FIG. 12 also shows that the robot control device 100c includes a constraint storage unit 2c instead of the constraint storage unit 2, a speed calculation unit 4c instead of the speed calculation unit 4, and a slope calculation unit 5 instead of the slope calculation unit 5. It differs from FIG. 1 in that it includes a gradient calculation section 5c. Components other than the constraint storage section 2c, speed calculation section 4c, and slope calculation section 5c are the same as those shown in FIG. 1, and therefore their description will be omitted. Note that the robot control device 100c is based on the robot control device 100 in the first embodiment, but may be based on the robot control device 100a in the second embodiment or the robot control device 100b in the third embodiment.

制約条件記憶部2cは、マニピュレータ1に関して予め設定された制約条件のパラメータを記憶する。制約条件は、マニピュレータ1の関節角速度、関節角加速度、関節トルク、手先速度、手先加速度、前記マニピュレータ1が把持する対象で発生する力、および前記対象で発生するモーメントに加え、マニピュレータ1が設置される移動架台13に与える反力、および反力のトルク成分のうち少なくとも1つに関する条件を含む。 The constraint storage unit 2c stores parameters of constraints set in advance for the manipulator 1. The constraint conditions include the joint angular velocity, joint angular acceleration, joint torque, hand speed, hand acceleration of the manipulator 1, the force generated in the object gripped by the manipulator 1, the moment generated in the object, and the condition in which the manipulator 1 is installed. conditions regarding at least one of the reaction force applied to the movable frame 13 and the torque component of the reaction force.

なお、制約条件のパラメータが予め設定される場合について説明したが、ロボット制御装置100cが図示しない反力制約学習部を備えてもよい。反力制約学習部は、マニピュレータ1が設置される移動架台13に与える反力および反力のトルク成分のうち少なくとも1つについて、機械学習を用いて制約条件のパラメータを学習し、得られた制約条件のパラメータを制約条件記憶部2cに記憶してもよい。具体的には、反力制約学習部は、マニピュレータ1の動作中に、移動架台13に与える反力および反力のトルク成分を図示しないセンサによって取得し、取得した値に基づいて、制約条件のパラメータとして学習する。 Although a case has been described in which the parameters of the constraint are set in advance, the robot control device 100c may include a reaction force constraint learning section (not shown). The reaction force constraint learning unit uses machine learning to learn parameters of constraint conditions for at least one of the reaction force applied to the movable frame 13 on which the manipulator 1 is installed and the torque component of the reaction force, and learns the parameters of the constraints using machine learning. The parameters of the conditions may be stored in the constraint storage unit 2c. Specifically, the reaction force constraint learning unit acquires the reaction force applied to the movable frame 13 and the torque component of the reaction force using a sensor (not shown) during the operation of the manipulator 1, and determines the constraint conditions based on the acquired values. Learn as a parameter.

速度計算部4cは、指令軌跡記憶部3からの指令軌跡と、制約条件記憶部2cからの制約条件のパラメータとに基づいて、制約条件の範囲内でマニピュレータ1の動作時間を短くする指令軌跡上の速度プロファイルを計算する。 The speed calculation unit 4c calculates a command trajectory that shortens the operation time of the manipulator 1 within the range of the constraint conditions based on the command trajectory from the command trajectory storage unit 3 and the constraint parameters from the constraint condition storage unit 2c. Calculate the velocity profile of

速度計算部4cの構成は、図3に示す速度計算部4の構成と同じであるが、動力学計算部42の動力学計算に、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分の計算を含める点、および制約条件係数計算部43が反力および反力のトルク成分に関する制約条件も含めて制約条件の係数を計算する点が、速度計算部4とは異なる。なお、ロボット制御装置100cが反力制約学習部を備える場合、速度計算部4cは、指令軌跡と、反力制約学習部で学習した制約条件のパラメータとに基づいて、速度プロファイルを計算する。 The configuration of the speed calculation unit 4c is the same as that of the speed calculation unit 4 shown in FIG. This differs from the speed calculation unit 4 in that it includes the calculation of the torque component of , and that the constraint coefficient calculation unit 43 calculates the coefficients of the constraint including the constraints regarding the reaction force and the torque component of the reaction force. Note that when the robot control device 100c includes a reaction force constraint learning section, the speed calculation section 4c calculates the speed profile based on the command trajectory and the parameters of the constraint learned by the reaction force constraint learning section.

勾配計算部5cは、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算し、勾配情報として出力する。 The gradient calculation unit 5c calculates the gradient regarding the command trajectory of the operation time of the manipulator 1, and outputs it as gradient information.

勾配計算部5cの構成は、図4に示す勾配計算部5の構成と同じであるが、制約条件係数勾配計算部53が、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分も考慮して、動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を計算する点が、勾配計算部5とは異なる。また、プロファイル勾配計算部54が、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分も考慮して勾配を計算する点が、勾配計算部5とは異なる。 The configuration of the gradient calculation unit 5c is the same as that of the slope calculation unit 5 shown in FIG. This differs from the gradient calculation unit 5 in that it calculates the gradient related to the kinematic calculation result of the operating time and the gradient related to the dynamic calculation result of the operating time, also taking into consideration the components. Further, the profile gradient calculation section 54 differs from the gradient calculation section 5 in that the profile gradient calculation section 54 calculates the gradient by also taking into account the reaction force applied to the movable frame 13 during the operation of the manipulator 1 and the torque component of the reaction force.

以上のように、ロボット制御装置100cが制約条件記憶部2c、速度計算部4cおよび勾配計算部5cを備えることで、移動架台13への反力に起因する振動を抑制することができ、マニピュレータ1の動作時間を短くすることができる。 As described above, since the robot control device 100c includes the constraint storage section 2c, the speed calculation section 4c, and the slope calculation section 5c, vibrations caused by reaction force on the movable frame 13 can be suppressed, and the manipulator 1 operation time can be shortened.

図13は、実施の形態4におけるロボット制御装置100cの動作の一例を示すフローチャートである。すなわち、図13は、実施の形態4におけるロボット制御方法の一例を示すフローチャートである。図13のステップST1からステップST7は、図6のステップST1からステップST7と同じであるため、ここでは詳細説明を省略する。 FIG. 13 is a flowchart showing an example of the operation of the robot control device 100c in the fourth embodiment. That is, FIG. 13 is a flowchart showing an example of the robot control method in the fourth embodiment. Steps ST1 to ST7 in FIG. 13 are the same as steps ST1 to ST7 in FIG. 6, so detailed explanation will be omitted here.

図13に示すように、図示しない手段によりロボット制御が開始されると、速度計算部4cは、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。速度計算部4c内の動力学計算部42は、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分の計算を含めて運動学計算と動力学計算とを行う。また、速度計算部4c内の制約条件係数計算部43は、移動架台13に与える反力および反力のトルク成分に関する制約条件も含めて、制約条件の係数を計算する。 As shown in FIG. 13, when robot control is started by means not shown, the speed calculation unit 4c calculates a preset command trajectory for the manipulator 1, constraint conditions regarding the manipulator 1, and operation time of the manipulator 1. The speed profile of the manipulator 1 is calculated based on the evaluation index (step ST1). The dynamics calculation unit 42 in the speed calculation unit 4c performs kinematic calculation and dynamic calculation including calculation of the reaction force applied to the movable frame 13 and the torque component of the reaction force when the manipulator 1 operates. Further, the constraint coefficient calculation unit 43 in the speed calculation unit 4c calculates coefficients of constraint conditions, including constraints regarding the reaction force applied to the movable frame 13 and the torque component of the reaction force.

勾配計算部5cは、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。勾配計算部5c内の制約条件係数勾配計算部53は、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分も考慮して、動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を計算する。また、勾配計算部5c内のプロファイル勾配計算部54は、移動架台13に与える反力および反力のトルク成分も考慮して、動作時間の制約条件の係数に関する勾配を計算する。 The gradient calculation unit 5c calculates the gradient regarding the command trajectory of the operation time of the manipulator 1 and outputs it as gradient information (step ST2). The constraint condition coefficient gradient calculation unit 53 in the slope calculation unit 5c calculates the slope related to the kinematic calculation result of the operation time and the operation, taking into account the reaction force applied to the movable platform 13 during the operation of the manipulator 1 and the torque component of the reaction force. Calculate the gradient regarding the time dynamics calculation results. Further, the profile gradient calculation section 54 in the gradient calculation section 5c calculates the gradient regarding the coefficient of the constraint condition of the operation time, taking into consideration the reaction force applied to the movable frame 13 and the torque component of the reaction force.

指令軌跡補正部6は、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。 The command trajectory correction unit 6 corrects the command trajectory based on the slope information and outputs the corrected command trajectory (step ST3).

指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。 The command trajectory storage section 3 stores the corrected command trajectory (step ST4).

指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。 The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and the speed profile (step ST5).

制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。 The control unit 8 controls the actuator 110 so that the manipulator 1 follows the correction command trajectory (step ST6).

図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST11)。 By means not shown, it is determined whether or not to continue controlling the robot (step ST11).

ステップST11の判定が「Yes」の場合は、処理はステップST6に戻り、マニピュレータ1の制御が継続される。ステップST11の判定が「No」の場合は、ロボットの制御が終了する。 If the determination in step ST11 is "Yes", the process returns to step ST6, and control of the manipulator 1 is continued. If the determination in step ST11 is "No", control of the robot ends.

以上で説明した実施の形態4によれば、マニピュレータ1の動作中に移動架台13に与える反力および反力のトルク成分を考慮することで、移動架台13の振動を抑制することができ、マニピュレータ1の動作時間を短くすることができる。 According to the fourth embodiment described above, by considering the reaction force applied to the movable frame 13 during the operation of the manipulator 1 and the torque component of the reaction force, vibration of the movable frame 13 can be suppressed, and the vibration of the movable frame 13 can be suppressed. 1 operation time can be shortened.

なお、実施の形態4において、ロボット制御装置100cが行うマニピュレータ1の制御は、移動架台13に対しても適用できる。また、マニピュレータ1が移動架台13に設置される場合に限定されず、マニピュレータ1が図示しない固定架台に設置される場合にも適用できる。 Note that in the fourth embodiment, the control of the manipulator 1 performed by the robot control device 100c can also be applied to the movable gantry 13. Furthermore, the present invention is not limited to the case where the manipulator 1 is installed on the movable pedestal 13, but can also be applied when the manipulator 1 is installed on a fixed pedestal (not shown).

実施の形態1から4におけるロボット制御装置100,100a,100bおよび100cおよびロボット制御方法は、垂直多関節ロボットであるマニピュレータ1以外にも適用できる。例えば、水平多関節ロボットなどの任意の軸構成のマニピュレータ1にも適用できる。また、マニピュレータ1以外の産業装置にも適用できる。 The robot control devices 100, 100a, 100b, and 100c and the robot control method in Embodiments 1 to 4 can be applied to other than manipulator 1, which is a vertically articulated robot. For example, it can be applied to a manipulator 1 with any axis configuration, such as a horizontal articulated robot. Moreover, it can be applied to industrial devices other than the manipulator 1.

ここで、実施の形態1から4におけるロボット制御装置100,100a,100bおよび100cのハードウェア構成について説明する。ロボット制御装置100,100a,100bおよび100cの各機能は、処理回路によって実現し得る。処理回路は、少なくとも1つのプロセッサと少なくとも1つのメモリとを備える。 Here, the hardware configurations of robot control devices 100, 100a, 100b, and 100c in Embodiments 1 to 4 will be described. Each function of robot control devices 100, 100a, 100b, and 100c can be realized by a processing circuit. The processing circuit includes at least one processor and at least one memory.

図14は、実施の形態1から4におけるロボット制御装置100,100a,100bおよび100cのハードウェア構成を示す図である。ロボット制御装置100,100a,100bおよび100cは、図14(a)に示すプロセッサ200およびメモリ201によって実現することができる。プロセッサ200は、例えばCPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。 FIG. 14 is a diagram showing the hardware configuration of robot control devices 100, 100a, 100b, and 100c in Embodiments 1 to 4. Robot control devices 100, 100a, 100b, and 100c can be realized by processor 200 and memory 201 shown in FIG. 14(a). The processor 200 is, for example, a CPU (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, also referred to as a DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration).

メモリ201は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read-Only Memory)などの不揮発性または揮発性の半導体メモリ、HDD(Hard Disk Drive)、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disk)などである。 The memory 201 is, for example, RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (registered trademark) (Electrical Non-volatile or These include a volatile semiconductor memory, an HDD (Hard Disk Drive), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a DVD (Digital Versatile Disk).

ロボット制御装置100,100a,100bおよび100cの各部の機能は、ソフトウェアなど(ソフトウェア、ファームウェア、またはソフトウェアとファームウェア)により実現される。ソフトウェアなどはプログラムとして記述され、メモリ201に格納される。プロセッサ200は、メモリ201で記憶されているプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、このプログラムは、ロボット制御装置100,100a,100bおよび100cの手順または方法をコンピュータに実行させるものであると言える。 The functions of each part of the robot control devices 100, 100a, 100b, and 100c are realized by software or the like (software, firmware, or software and firmware). Software and the like are written as programs and stored in the memory 201. The processor 200 reads and executes programs stored in the memory 201 to realize the functions of each section. That is, this program can be said to cause a computer to execute the procedures or methods of the robot control devices 100, 100a, 100b, and 100c.

プロセッサ200が実行するプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、プロセッサ200が実行するプログラムは、インターネットなどのネットワーク経由でロボット制御装置100,100a,100bおよび100cに提供されてもよい。 The program executed by the processor 200 may be an installable or executable file stored in a computer-readable storage medium and provided as a computer program product. Further, the program executed by processor 200 may be provided to robot control devices 100, 100a, 100b, and 100c via a network such as the Internet.

また、ロボット制御装置100,100a,100bおよび100cは、図14(b)に示す専用の処理回路202によって実現してもよい。処理回路202が専用のハードウェアである場合、処理回路202は、例えば単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはこれらを組み合わせたものなどが該当する。 Further, the robot control devices 100, 100a, 100b, and 100c may be realized by a dedicated processing circuit 202 shown in FIG. 14(b). When the processing circuit 202 is dedicated hardware, the processing circuit 202 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate). Array), or a combination of these.

以上、ロボット制御装置100,100a,100bおよび100cの各構成要素の機能が、ソフトウェアなど、またはハードウェアのいずれか一方で実現される構成について説明した。しかしこれに限ったものではなく、ロボット制御装置100,100a,100bおよび100cの一部の構成要素をソフトウェアなどで実現し、別の一部を専用のハードウェアで実現する構成であってもよい。 The above describes the configuration in which the functions of each component of the robot control devices 100, 100a, 100b, and 100c are realized by either software or hardware. However, the configuration is not limited to this, and a configuration may be adopted in which some of the components of the robot control devices 100, 100a, 100b, and 100c are realized by software, and other parts are realized by dedicated hardware. .

1 マニピュレータ、 2,2c 制約条件記憶部、 3 指令軌跡記憶部、 4,4c 速度計算部、 41 指令補間計算部、 42 動力学計算部、 43 制約条件係数計算部、 44 プロファイル計算部、 5,5c 勾配計算部、 51 指令補間勾配計算部、 52 動力学勾配計算部、 53 制約条件係数勾配計算部、 54 プロファイル勾配計算部、 6,6a 指令軌跡補正部、 61 距離関数計算部、 62 バリア関数計算部、 63 バリア関数勾配計算部、 64 指令軌跡補正値計算部、 7 指令点列計算部、 8 制御部、 81 フィードフォワード制御部、 82 フィードバック制御部、 83 電流値計算部、 9 周辺環境情報記憶部、 10 指令軌跡生成部、 110 アクチュエータ、 111 把持部、 112 ワーク、 113 周辺環境、 13 移動架台、 200 プロセッサ、 201 メモリ、 202 処理回路。 1 Manipulator, 2, 2c Constraint storage unit, 3 Command trajectory storage unit, 4, 4c Speed calculation unit, 41 Command interpolation calculation unit, 42 Dynamics calculation unit, 43 Constraint coefficient calculation unit, 44 Profile calculation unit, 5. 5c gradient calculation section, 51 command interpolation gradient calculation section, 52 dynamic gradient calculation section, 53 constraint coefficient gradient calculation section, 54 profile gradient calculation section, 6, 6a command trajectory correction section, 61 distance function calculation section, 62 barrier function calculation unit, 63 barrier function gradient calculation unit, 64 command trajectory correction value calculation unit, 7 command point sequence calculation unit, 8 control unit, 81 feedforward control unit, 82 feedback control unit, 83 current value calculation unit, 9 surrounding environment information storage unit, 10 command trajectory generation unit, 110 actuator, 111 gripping unit, 112 workpiece, 113 surrounding environment, 13 moving frame, 200 processor, 201 memory, 202 processing circuit.

Claims (10)

予め設定されたマニピュレータへの指令軌跡と、前記マニピュレータに関する制約条件と、前記マニピュレータの動作時間に基づく評価指標とに基づいて、前記マニピュレータの速度プロファイルを計算する速度計算部と、
前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする勾配計算部と、
前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする指令軌跡補正部と、
前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する制御部と、
を備えるロボット制御装置。
a speed calculation unit that calculates a speed profile of the manipulator based on a preset command trajectory to the manipulator, constraint conditions regarding the manipulator, and an evaluation index based on an operation time of the manipulator;
a slope calculation unit that calculates a slope regarding the command trajectory of the operation time based on the speed profile and uses the slope as slope information;
a command trajectory correction unit that corrects the command trajectory based on the gradient information to obtain a corrected command trajectory;
a control unit that controls the manipulator to follow the correction command trajectory;
A robot control device comprising:
前記マニピュレータ周辺の周辺情報に基づいて、前記指令軌跡を生成する指令軌跡生成部を更に備える請求項1に記載のロボット制御装置。 The robot control device according to claim 1, further comprising a command trajectory generation unit that generates the command trajectory based on peripheral information around the manipulator. 前記制約条件は、前記マニピュレータの関節角速度、関節角加速度、関節トルク、手先速度、手先加速度、前記マニピュレータが把持する対象で発生する力、および前記対象で発生するモーメントのうち少なくとも1つに関する条件である請求項1または2に記載のロボット制御装置。 The constraint condition is a condition related to at least one of the manipulator's joint angular velocity, joint angular acceleration, joint torque, hand speed, hand acceleration, a force generated in an object gripped by the manipulator, and a moment generated in the object. A robot control device according to claim 1 or 2. 前記力および前記モーメントのうち少なくとも1つについて、機械学習を用いて前記制約条件のパラメータを学習する把持制約学習部を更に備え、
前記速度計算部は、前記把持制約学習部で学習した前記パラメータに基づいて、前記速度プロファイルを計算する請求項3に記載のロボット制御装置。
Further comprising a grip constraint learning unit that learns parameters of the constraint condition using machine learning for at least one of the force and the moment,
The robot control device according to claim 3, wherein the speed calculation section calculates the speed profile based on the parameters learned by the gripping constraint learning section.
前記制約条件は、前記マニピュレータが設置される架台に与える反力、および前記反力のトルク成分のうち少なくとも1つに関する条件を含む請求項1から4のいずれか1項に記載のロボット制御装置。 The robot control device according to any one of claims 1 to 4, wherein the constraint conditions include conditions regarding at least one of a reaction force applied to a pedestal on which the manipulator is installed and a torque component of the reaction force. 前記反力および前記反力のトルク成分のうち少なくとも1つについて、機械学習を用いて前記制約条件のパラメータを学習する反力制約学習部を更に備え、
前記速度計算部は、前記反力制約学習部で学習した前記パラメータに基づいて、前記速度プロファイルを計算する請求項5に記載のロボット制御装置。
further comprising a reaction force constraint learning unit that learns parameters of the constraint conditions using machine learning for at least one of the reaction force and the torque component of the reaction force,
The robot control device according to claim 5, wherein the speed calculation section calculates the speed profile based on the parameters learned by the reaction force constraint learning section.
前記速度計算部は、前記指令軌跡上の補間点における位置と前記指令軌跡の媒介変数に関する一階微分および二階微分とを計算する指令補間計算部と、
前記位置と前記一階微分と前記二階微分とを用いて前記マニピュレータの運動学計算と動力学計算とを行い、運動学計算結果と動力学計算結果とを出力する動力学計算部と、
前記運動学計算結果と前記動力学計算結果と前記制約条件とに基づいて、前記制約条件の係数を計算する制約条件係数計算部と、
前記制約条件の係数に基づいて、前記速度プロファイルを計算するプロファイル計算部と、
を備える請求項1から6のいずれか1項に記載のロボット制御装置。
The speed calculation unit includes a command interpolation calculation unit that calculates a position at an interpolation point on the command trajectory and a first-order differential and a second-order differential with respect to a parameter of the command trajectory;
a dynamics calculation unit that performs kinematic calculation and dynamic calculation of the manipulator using the position, the first-order differential, and the second-order differential, and outputs the kinematic calculation result and the dynamic calculation result;
a constraint condition coefficient calculation unit that calculates a coefficient of the constraint condition based on the kinematic calculation result, the dynamic calculation result, and the constraint condition;
a profile calculation unit that calculates the speed profile based on the coefficients of the constraint;
The robot control device according to any one of claims 1 to 6, comprising:
前記勾配計算部は、自動微分を用いて前記動作時間を前記指令軌跡について微分することで、前記動作時間の前記指令軌跡に関する勾配を計算して前記勾配情報とする請求項1から7のいずれか1項に記載のロボット制御装置。 8. The gradient calculating section calculates a gradient of the operating time with respect to the commanded trajectory by differentiating the operating time with respect to the commanded trajectory using automatic differentiation, and uses the gradient information as the gradient information. The robot control device according to item 1. 前記指令軌跡補正部は、前記勾配情報に基づく勾配降下法、共役勾配法または準ニュートン法のうちいずれか1つを用いることで、前記指令軌跡を補正する請求項1から8のいずれか1項に記載のロボット制御装置。 9. The command trajectory correction unit corrects the command trajectory by using any one of a gradient descent method, a conjugate gradient method, or a quasi-Newton method based on the gradient information. The robot control device described in . 予め設定されたマニピュレータへの指令軌跡と、前記マニピュレータに関する制約条件と、前記マニピュレータの動作時間に基づく評価指標とに基づいて、前記マニピュレータの速度プロファイルを計算する工程と、
前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする工程と、
前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする工程と、
前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する工程と、
を備えるロボット制御方法。
a step of calculating a velocity profile of the manipulator based on a preset command trajectory to the manipulator, constraint conditions regarding the manipulator, and an evaluation index based on an operation time of the manipulator;
Based on the speed profile, calculating a slope regarding the command trajectory of the operation time to obtain slope information;
correcting the command trajectory based on the gradient information to obtain a corrected command trajectory;
controlling the manipulator to follow the correction command trajectory;
A robot control method comprising:
JP2022563069A 2021-03-24 2021-03-24 Robot control device and robot control method Active JP7378640B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/012339 WO2022201377A1 (en) 2021-03-24 2021-03-24 Robot control device and robot control method

Publications (3)

Publication Number Publication Date
JPWO2022201377A1 JPWO2022201377A1 (en) 2022-09-29
JPWO2022201377A5 JPWO2022201377A5 (en) 2023-02-21
JP7378640B2 true JP7378640B2 (en) 2023-11-13

Family

ID=83396633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022563069A Active JP7378640B2 (en) 2021-03-24 2021-03-24 Robot control device and robot control method

Country Status (4)

Country Link
JP (1) JP7378640B2 (en)
CN (1) CN116940906A (en)
DE (1) DE112021007371T5 (en)
WO (1) WO2022201377A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000010777A1 (en) 1998-08-19 2000-03-02 Kuka Roboter Gmbh Device and method for balancing the weight on a robot arm
JP2005044230A (en) 2003-07-24 2005-02-17 Mitsubishi Electric Corp Robot control device
US20110087375A1 (en) 2009-10-13 2011-04-14 Kuka Roboter Gmbh Method And Device For Controlling A Manipulator
JP2013041478A (en) 2011-08-17 2013-02-28 Fanuc Ltd Robot with learning control function
WO2017129200A1 (en) 2016-01-28 2017-08-03 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. A system for real-world continuous motion optimization and control
JP2019123051A (en) 2018-01-17 2019-07-25 キヤノン株式会社 Robot device, robot control method, and robot control device
JP2020506815A (en) 2017-02-08 2020-03-05 ユニバーシティ オブ プレトリア robot

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05297916A (en) * 1992-04-16 1993-11-12 Nachi Fujikoshi Corp Track control method for robot
JP6874712B2 (en) 2018-02-19 2021-05-19 オムロン株式会社 Simulation equipment, simulation method and simulation program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000010777A1 (en) 1998-08-19 2000-03-02 Kuka Roboter Gmbh Device and method for balancing the weight on a robot arm
JP2005044230A (en) 2003-07-24 2005-02-17 Mitsubishi Electric Corp Robot control device
US20110087375A1 (en) 2009-10-13 2011-04-14 Kuka Roboter Gmbh Method And Device For Controlling A Manipulator
JP2013041478A (en) 2011-08-17 2013-02-28 Fanuc Ltd Robot with learning control function
WO2017129200A1 (en) 2016-01-28 2017-08-03 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. A system for real-world continuous motion optimization and control
JP2020506815A (en) 2017-02-08 2020-03-05 ユニバーシティ オブ プレトリア robot
JP2019123051A (en) 2018-01-17 2019-07-25 キヤノン株式会社 Robot device, robot control method, and robot control device

Also Published As

Publication number Publication date
DE112021007371T5 (en) 2024-02-15
JPWO2022201377A1 (en) 2022-09-29
WO2022201377A1 (en) 2022-09-29
CN116940906A (en) 2023-10-24

Similar Documents

Publication Publication Date Title
JP6238628B2 (en) Robot device, robot control method, robot control program, and part manufacturing method using robot device
US9381643B2 (en) Dynamical system-based robot velocity control
JP6347595B2 (en) Robot control method and robot control apparatus
JP5896789B2 (en) Robot control apparatus, robot apparatus, robot control method, program, and recording medium
JP6717768B2 (en) Robot for learning control considering operation in production line and control method thereof
JP6400750B2 (en) Control system having learning control function and control method
JP7068059B2 (en) Remote control method and remote control system
US20200023516A1 (en) Automatic path generation device
JP2007076807A (en) Power assist device and its adaptive model prediction control method
Mitrovic et al. Optimal feedback control for anthropomorphic manipulators
JP2015174185A (en) Robot simulation device and method, control device, and robot system
Garate et al. Grasp stiffness control in robotic hands through coordinated optimization of pose and joint stiffness
JP2019123051A (en) Robot device, robot control method, and robot control device
Likar et al. Adaptation of bimanual assembly tasks using iterative learning framework
JP2016120549A (en) Robot control method and robot control device
JP7378640B2 (en) Robot control device and robot control method
Vochten et al. Shape-preserving and reactive adaptation of robot end-effector trajectories
Yovchev Finding the optimal parameters for robotic manipulator applications of the bounded error algorithm for iterative learning control
JP4222338B2 (en) Adaptive visual feedback control method
JP7227018B2 (en) Learning controller, robot controller and robot
JP7028196B2 (en) Robot control device, robot control method, and robot control program
Pavlichenko et al. Flexible-joint manipulator trajectory tracking with learned two-stage model employing one-step future prediction
JP2018015896A (en) Robot device and robot control method
JP7284874B1 (en) ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD
JP2021091079A (en) Control device for robot, control method, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221017

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231031

R150 Certificate of patent or registration of utility model

Ref document number: 7378640

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150