JP2024006697A - robot control device - Google Patents

robot control device Download PDF

Info

Publication number
JP2024006697A
JP2024006697A JP2022107827A JP2022107827A JP2024006697A JP 2024006697 A JP2024006697 A JP 2024006697A JP 2022107827 A JP2022107827 A JP 2022107827A JP 2022107827 A JP2022107827 A JP 2022107827A JP 2024006697 A JP2024006697 A JP 2024006697A
Authority
JP
Japan
Prior art keywords
manipulator
spring constant
collision
external force
control device
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
JP2022107827A
Other languages
Japanese (ja)
Inventor
雄矢 伊藤
Yuya Ito
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.)
Daihen Corp
Original Assignee
Daihen 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 Daihen Corp filed Critical Daihen Corp
Priority to JP2022107827A priority Critical patent/JP2024006697A/en
Publication of JP2024006697A publication Critical patent/JP2024006697A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a robot control device which causes a manipulator to stop by properly restoring it into a before-contact-state, so that external force applied to the manipulator is released according to a posture of the manipulator at the time of contact between the manipulator and an operator or the like.
SOLUTION: A robot control device 100 includes: a collision detection part 110 for detecting collision of a manipulator 200; an external force calculation part 120 for calculating an external force Fp applied to the manipulator 200; a spring constant calculation part 140 for calculating a spring constant k on the basis of a posture of the manipulator 200; a movement amount calculation part 150 for calculating a movement amount L of the manipulator on the basis of the external force Fp and the spring constant k; a restoring time calculation part 160 for calculating a restoring time T, on the basis of the movement amount L and a speed V at the time of collision detection of the manipulator 200; and a manipulator restoration part 170 for restoring the manipulator 200 to its position posture assumed earlier by the restoring time T than the collision detection of the manipulator 200.
SELECTED DRAWING: Figure 2
COPYRIGHT: (C)2024,JPO&INPIT

Description

本発明は、ロボット制御装置に関する。 The present invention relates to a robot control device.

近年、産業界において、多くのロボットが普及している。当該ロボットは、例えば、電子部品及び機械部品の組み立て、溶接及び搬送等に用いられ、工場の生産ラインの効率化及び自動化が図られている。 In recent years, many robots have become widespread in industry. The robots are used, for example, to assemble, weld, and transport electronic and mechanical parts, and to improve the efficiency and automation of factory production lines.

また、従来、作業者が行っていた作業の一部を、作業者に代わって又は作業者とともに、ロボットが作業者と隣り合う状態で作業する協働ロボットの開発も進んでいる。協働ロボットは、安全に囲われた領域で作業するのではなく、作業者と隣り合う状態で作業するため、当該作業者の安全性を確保することが重要である。 Further, the development of collaborative robots is progressing, in which a robot performs part of the work that was conventionally performed by a worker, instead of or together with the worker, while standing next to the worker. Collaborative robots do not work in a safely enclosed area, but work next to a worker, so it is important to ensure the safety of the worker.

例えば、協働ロボットが作業者等と接触した場合には、すばやく当該協働ロボットを停止させるが、この時、当該接触において協働ロボットに加わっている外力を解放するように接触前の状態に戻した上で、停止させることが好ましい。 For example, when a collaborative robot comes into contact with a worker, etc., the collaborative robot is quickly stopped, but at this time, the collaborative robot is returned to its pre-contact state to release the external force applied to the collaborative robot during the contact. It is preferable to stop it after returning it.

特許文献1では、ロボットにかかる外力を検知した場合に、予め設定された移動距離や移動時間に基づいてロボットの動作軌跡を反転させたり、さらに、加わっている外力が小さくなるようにロボットを退避させたりするロボットシステムが開示されている。 In Patent Document 1, when an external force applied to the robot is detected, the robot's motion trajectory is reversed based on a preset movement distance and movement time, and the robot is evacuated so that the applied external force is reduced. A robot system has been disclosed that allows the robot to perform various tasks.

特開2019-81234号公報JP2019-81234A

しかしながら、ロボットと作業者等との接触時におけるロボットの姿勢に応じて、ロボットに加わっている外力が異なったり、接触後の移動距離が異なったりするが、特許文献1に開示されるロボットシステムでは、ロボットにかかる外力を検知した場合に予め設定された移動距離や移動時間に基づいてロボットの動作軌跡を反転させている。すなわち、特許文献1に開示されているロボットシステムでは、ロボットと作業者等との接触時における当該ロボットの姿勢が考慮されておらず、当該ロボットに加わっている外力を解放し、適切に当該接触前の状態に戻すことができていないという問題がある。 However, depending on the posture of the robot at the time of contact between the robot and a worker, the external force applied to the robot may vary, and the distance traveled after contact may vary, but the robot system disclosed in Patent Document 1 When an external force applied to the robot is detected, the robot's motion trajectory is reversed based on a preset travel distance and travel time. In other words, in the robot system disclosed in Patent Document 1, the posture of the robot at the time of contact between the robot and the worker is not taken into account, and the external force applied to the robot is released and the contact is appropriately controlled. The problem is that it is not possible to return to the previous state.

そこで、本発明は、マニピュレータと作業者等との接触時における当該マニピュレータの姿勢に応じて当該マニピュレータに加わっている外力を解放するように、適切に当該接触前の状態に戻して当該マニピュレータを停止させるロボット制御装置を提供することを目的とする。 Therefore, the present invention aims to appropriately return the manipulator to the state before the contact and stop the manipulator so as to release the external force applied to the manipulator according to the posture of the manipulator when the manipulator contacts the worker, etc. The purpose of the present invention is to provide a robot control device that allows

本発明の一態様に係るロボット制御装置は、マニピュレータを制御するロボット制御装置であって、マニピュレータの衝突を検知する衝突検知部と、マニピュレータの衝突検知時におけるマニピュレータに加わる外力を算出する外力算出部と、マニピュレータの衝突検知時におけるマニピュレータの姿勢に基づくばね定数を算出するばね定数算出部と、外力とばね定数とに基づいてマニピュレータの移動量を算出する移動量算出部と、移動量とマニピュレータの衝突検知時の速度とに基づいて、戻し時間を算出する戻し時間算出部と、マニピュレータの衝突検知時から戻し時間前の位置姿勢に、マニピュレータを戻すマニピュレータ戻し部と、を備える。 A robot control device according to one aspect of the present invention is a robot control device that controls a manipulator, and includes a collision detection unit that detects a collision of the manipulator, and an external force calculation unit that calculates an external force applied to the manipulator when a collision of the manipulator is detected. a spring constant calculation unit that calculates a spring constant based on the posture of the manipulator when a collision of the manipulator is detected; a movement amount calculation unit that calculates the amount of movement of the manipulator based on the external force and the spring constant; The present invention includes a return time calculation unit that calculates a return time based on the speed at the time of collision detection, and a manipulator return unit that returns the manipulator to the position and orientation from the time of collision detection to the position and orientation before the return time.

この態様によれば、移動量算出部は、外力算出部によって算出されたマニピュレータの衝突検知時におけるマニピュレータに加わる外力と、ばね定数算出部によって算出されたマニピュレータの衝突検知時におけるマニピュレータの姿勢に基づくばね定数とに基づいてマニピュレータの移動量を算出する。そして、戻し時間算出部は、マニピュレータの移動量とマニピュレータの衝突検知時の速度とに基づいて、戻し時間を算出し、マニピュレータ戻し部は、マニピュレータの衝突検知時から戻し時間前の位置姿勢にマニピュレータを戻す。これにより、マニピュレータの衝突検知時における当該マニピュレータの姿勢に応じて当該マニピュレータに加わっている外力を解放するように、適切に当該衝突検知前の状態に戻すことができる。すなわち、当該マニピュレータに加わっている外力を解放した状態で、当該マニピュレータを停止させることができる。 According to this aspect, the movement amount calculation unit is based on the external force applied to the manipulator when the collision of the manipulator is detected, which is calculated by the external force calculation unit, and the attitude of the manipulator when the collision of the manipulator is detected, which is calculated by the spring constant calculation unit. The amount of movement of the manipulator is calculated based on the spring constant. The return time calculation unit calculates the return time based on the amount of movement of the manipulator and the speed of the manipulator at the time of collision detection, and the manipulator return unit returns the manipulator to the position and orientation from the time of detection of the collision of the manipulator to the position and orientation before the return time. Return. Thereby, it is possible to appropriately return the manipulator to the state before the collision is detected, so as to release the external force applied to the manipulator according to the attitude of the manipulator when the collision of the manipulator is detected. That is, the manipulator can be stopped while the external force applied to the manipulator is released.

上記態様において、マニピュレータの衝突検知時におけるマニピュレータの変位量を算出する変位量算出部を、さらに備え、ばね定数は、外力とマニピュレータの変位量とに基づいて算出されるマニピュレータの衝突検知時におけるマニピュレータのばね定数を含んでもよい。 The above aspect further includes a displacement calculation unit that calculates the displacement amount of the manipulator when the manipulator collision is detected, and the spring constant is calculated based on the external force and the displacement amount of the manipulator when the manipulator collision is detected. may include a spring constant.

この態様によれば、マニピュレータのばね定数は、外力と、変位量算出部によって算出されたマニピュレータの変位量とに基づいて算出され、ばね定数には、当該マニピュレータのばね定数が含まれるため、マニピュレータの姿勢に応じたばね定数を適切に算出することができる。その結果、マニピュレータに加わっている外力を解放するように、より適切に当該衝突検知前の状態に戻すことができる。 According to this aspect, the spring constant of the manipulator is calculated based on the external force and the displacement amount of the manipulator calculated by the displacement amount calculating section, and the spring constant includes the spring constant of the manipulator. It is possible to appropriately calculate a spring constant according to the posture of the user. As a result, it is possible to more appropriately return the manipulator to the state before the collision was detected, so as to release the external force applied to the manipulator.

上記態様において、ばね定数は、マニピュレータの衝突検知時における被衝突部位のばね定数を含んでもよい。 In the above aspect, the spring constant may include a spring constant of a collided portion at the time of detecting a collision of the manipulator.

この態様によれば、ばね定数は、マニピュレータの衝突検知時における被衝突部位のばね定数を含むため、被衝突部位に応じたばね定数を適切に算出することができる。その結果、被衝突部位も考慮して、マニピュレータに加わっている外力を解放するように、より適切に当該衝突検知前の状態に戻すことができる。 According to this aspect, since the spring constant includes the spring constant of the collided part when the collision of the manipulator is detected, it is possible to appropriately calculate the spring constant according to the collided part. As a result, it is possible to more appropriately return the manipulator to the state before the collision was detected, taking into consideration the collision site and releasing the external force applied to the manipulator.

上記態様において、変位量算出部は、マニピュレータの変位量を、マニピュレータ各軸における、関節角度、関節トルクおよび関節ばね定数に基づいて算出してもよい。 In the above aspect, the displacement amount calculation unit may calculate the displacement amount of the manipulator based on the joint angle, joint torque, and joint spring constant in each axis of the manipulator.

この態様によれば、マニピュレータ各軸から変位量を算出するため、マニピュレータの姿勢に応じたばね定数をより適切に算出することができる。 According to this aspect, since the displacement amount is calculated from each axis of the manipulator, it is possible to more appropriately calculate the spring constant according to the posture of the manipulator.

上記態様において、マニピュレータ戻し部は、マニピュレータの衝突検知時の速度よりも遅い速度で、マニピュレータの衝突検知時から戻し時間前の位置姿勢に、マニピュレータを戻してもよい。 In the above aspect, the manipulator return unit may return the manipulator to the position and orientation before the return time after the collision of the manipulator is detected at a speed lower than the speed when the collision of the manipulator is detected.

この態様によれば、マニピュレータ戻し部は、マニピュレータの衝突検知後、マニピュレータをゆっくりと戻すため、例えば、作業者等に衝突した場合、マニピュレータを戻す際に、当該作業者の安全も考慮してマニピュレータを戻すことができる。 According to this aspect, the manipulator return unit returns the manipulator slowly after detecting a collision with the manipulator, so that, for example, in the case of a collision with a worker, when returning the manipulator, the manipulator is returned in consideration of the safety of the worker. can be returned.

上記態様において、マニピュレータの衝突検知時における被衝突部位のばね定数は、マニピュレータが衝突する可能性を有する被衝突部位を予め推定することによって設定されてもよい。 In the above aspect, the spring constant of the collided part at the time of detecting the collision of the manipulator may be set by estimating in advance the collided part that has a possibility of colliding with the manipulator.

この態様によれば、マニピュレータが衝突する可能性を有する被衝突物を推定して、当該被衝突物の被衝突部位のばね定数を設定するため、状況に応じてより高精度に適切なばね定数を算出することができる。 According to this aspect, the manipulator estimates the object to be collided with and sets the spring constant of the part of the object to be collided with, so that the spring constant can be set more accurately according to the situation. can be calculated.

本発明によれば、マニピュレータと作業者等との接触時における当該マニピュレータの姿勢に応じて当該マニピュレータに加わっている外力を解放するように、適切に当該接触前の状態に戻して当該マニピュレータを停止させるロボット制御装置を提供することができる。 According to the present invention, the manipulator is appropriately returned to the state before the contact and stopped in order to release the external force applied to the manipulator according to the posture of the manipulator at the time of contact between the manipulator and the worker. It is possible to provide a robot control device that allows

本発明の一実施形態に係るロボットシステム10の構成を示す概要図である。1 is a schematic diagram showing the configuration of a robot system 10 according to an embodiment of the present invention. 本発明の一実施形態に係るロボット制御装置100における各機能を示す機能ブロック図である。1 is a functional block diagram showing each function in a robot control device 100 according to an embodiment of the present invention. FIG. マニピュレータ200と、当該マニピュレータ200と衝突する被衝突物20との衝突の様子である衝突系を模式的に示す図である。FIG. 2 is a diagram schematically showing a collision system that shows a collision between a manipulator 200 and a collided object 20 that collides with the manipulator 200. FIG. マニピュレータ200の移動量Lについて、その構成をより詳しく説明するための模式図である。FIG. 2 is a schematic diagram for explaining the configuration of the movement amount L of the manipulator 200 in more detail. マニピュレータ200と被衝突物20との衝突におけるマニピュレータ200の変位量ΔPを単軸モデルとして説明するための模式図である。FIG. 3 is a schematic diagram for explaining the displacement amount ΔP of the manipulator 200 in a collision between the manipulator 200 and the object 20 using a single axis model. マニピュレータ200におけるP点に加わる外力の推移(A)と、マニピュレータ200の位置の推移(B)を示す図である。FIG. 3 is a diagram showing a transition (A) of an external force applied to a point P on the manipulator 200 and a transition (B) of the position of the manipulator 200. 本発明の一実施形態に係るロボット制御装置100によって実行されるマニピュレータ200を制御するロボット制御方法M100の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of processing of robot control method M100 which controls manipulator 200 performed by robot control device 100 concerning one embodiment of the present invention.

以下、本発明の実施形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施形態は、あくまで、本発明を実施するための具体的な一例を挙げるものであって、本発明を限定的に解釈させるものではない。また、説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する場合がある。 Embodiments of the present invention will be specifically described below with reference to the drawings. In addition, the embodiment described below is merely a specific example for implementing the present invention, and is not intended to be interpreted in a limited manner. Furthermore, in order to facilitate understanding of the explanation, the same components in each drawing may be given the same reference numerals as much as possible, and redundant explanation may be omitted.

<一実施形態>
[ロボットシステムの構成]
図1は、本発明の一実施形態に係るロボットシステム10の構成を示す概要図である。図1に示されるように、ロボットシステム10は、ロボット制御装置100とマニピュレータ200とを備える。
<One embodiment>
[Robot system configuration]
FIG. 1 is a schematic diagram showing the configuration of a robot system 10 according to an embodiment of the present invention. As shown in FIG. 1, the robot system 10 includes a robot control device 100 and a manipulator 200.

マニピュレータ200は、例えば、アームの先端にエンドエフェクタとして溶接トーチやロボットハンドなどを装着する産業用ロボットであり、ここでは、6軸のマニピュレータを例に挙げて説明する。マニピュレータ200は、ロボット制御装置100からの動作指示に基づいて、各軸201~206において、モータによって各軸201~206を回転させてアーム及び手首等を移動及び回転させて、エンドエフェクタを適切な位置及び角度に移動させる。 The manipulator 200 is, for example, an industrial robot equipped with a welding torch, a robot hand, or the like as an end effector at the tip of an arm, and here, a 6-axis manipulator will be described as an example. The manipulator 200 uses a motor to rotate each axis 201 to 206 based on an operation instruction from the robot control device 100 to move and rotate the arm, wrist, etc., and move the end effector to an appropriate position. Move to position and angle.

また、マニピュレータ200は、各軸201~206において、トルクセンサによって各軸201~206に加わっているトルクを検知し、当該検知されたトルクをロボット制御装置100に通知する。 Furthermore, the manipulator 200 detects the torque applied to each of the axes 201 to 206 using a torque sensor, and notifies the robot control device 100 of the detected torque.

ロボット制御装置100は、マニピュレータ200の動作を制御する。具体的には、ロボット制御装置100は、マニピュレータ200の各軸201~206におけるモータを制御することにより各軸201~206を回転させてアーム及び手首を移動及び回転させる。これにより、ロボット制御装置100は、マニピュレータ200について、適切な位置姿勢となるように制御している。 Robot control device 100 controls the operation of manipulator 200. Specifically, the robot control device 100 controls the motors in each of the axes 201 to 206 of the manipulator 200 to rotate each of the axes 201 to 206, thereby moving and rotating the arm and wrist. Thereby, the robot control device 100 controls the manipulator 200 so that it assumes an appropriate position and orientation.

また、ロボット制御装置100は、マニピュレータ200の各軸201~206に加わっているトルクに基づいて、当該マニピュレータ200の衝突を判定し、当該衝突時における処理として、マニピュレータ200の位置姿勢を戻したり、停止したりするように制御する。 Further, the robot control device 100 determines a collision of the manipulator 200 based on the torque applied to each axis 201 to 206 of the manipulator 200, and as a process at the time of the collision, returns the position and orientation of the manipulator 200, control to stop.

[ロボット制御装置におけるマニピュレータの衝突時の処理について]
次に、マニピュレータ200が被衝突物に衝突した場合における、ロボット制御装置100の処理について、詳しく説明する。なお、マニピュレータ200の衝突は、マニピュレータ200の各軸201~206に加わっているトルクに基づいて判定されるが、マニピュレータ200本体のみならず、当該マニピュレータ200に付随するエンドエフェクタ等の周辺機器への衝突によるものも含まれる。すなわち、エンドエフェクタ等の周辺機器への衝突は、マニピュレータ200の各軸201~206に加わっているトルクに影響を与えるものであって、当該トルクに基づいて、マニピュレータ200の衝突として判定するとよい。
[About processing when a manipulator collides with the robot control device]
Next, the processing of the robot control device 100 when the manipulator 200 collides with an object to be collided will be described in detail. Note that a collision of the manipulator 200 is determined based on the torque applied to each of the axes 201 to 206 of the manipulator 200, but it is determined based on the torque applied to each of the axes 201 to 206 of the manipulator 200. This includes those caused by collisions. That is, a collision with a peripheral device such as an end effector affects the torque applied to each of the axes 201 to 206 of the manipulator 200, and is preferably determined as a collision of the manipulator 200 based on the torque.

図2は、本発明の一実施形態に係るロボット制御装置100における各機能を示す機能ブロック図である。図2に示されるように、ロボット制御装置100は、現在位置記憶部110と、外力算出部120と、衝突検知部130と、ばね定数算出部140と、移動量算出部150と、戻し時間算出部160と、マニピュレータ戻し部170とを備える。上述したように、ロボット制御装置100は、マニピュレータ200の動作を制御するための種々のデータを記憶し、多くの機能を有しているが、ここでは、ロボット制御装置100のうち、主に、マニピュレータ200の衝突時における処理(機能)について説明する。 FIG. 2 is a functional block diagram showing each function of the robot control device 100 according to an embodiment of the present invention. As shown in FIG. 2, the robot control device 100 includes a current position storage section 110, an external force calculation section 120, a collision detection section 130, a spring constant calculation section 140, a movement amount calculation section 150, and a return time calculation section. 160 and a manipulator return section 170. As described above, the robot control device 100 stores various data for controlling the operation of the manipulator 200 and has many functions. Here, the robot control device 100 mainly includes the following functions. The processing (function) of the manipulator 200 at the time of a collision will be explained.

現在位置記憶部110は、マニピュレータ200の現在の位置姿勢を記憶する。例えば、現在位置記憶部110は、その時刻におけるマニピュレータ200の各軸201~206の関節角度等に基づいてマニピュレータ200の位置姿勢を記憶すればよい。 The current position storage unit 110 stores the current position and orientation of the manipulator 200. For example, the current position storage unit 110 may store the position and orientation of the manipulator 200 based on the joint angles of the respective axes 201 to 206 of the manipulator 200 at that time.

衝突検知部130は、マニピュレータ200の衝突を検知する。例えば、衝突検知部130は、マニピュレータ200の各軸201~206におけるトルクセンサによって検知された各軸201~206に加わっているトルクに基づいて、外力算出部120によってマニピュレータ200に加わっている外力を算出し、マニピュレータ200が衝突したことを検知する。具体的には、ロボット制御装置100によって制御されているマニピュレータ200において、各軸201~206のトルクが当該制御に基づく値に対して異常値となる場合には、衝突検知部130は、マニピュレータ200が衝突したと検知すればよい。 The collision detection unit 130 detects a collision of the manipulator 200. For example, the collision detection unit 130 calculates the external force applied to the manipulator 200 by the external force calculation unit 120 based on the torque applied to each axis 201 to 206 detected by the torque sensor on each axis 201 to 206 of the manipulator 200. and detects that the manipulator 200 has collided. Specifically, in the manipulator 200 controlled by the robot control device 100, when the torque of each axis 201 to 206 becomes an abnormal value with respect to the value based on the control, the collision detection unit 130 detects that the manipulator 200 It is sufficient to detect that a collision has occurred.

図3は、マニピュレータ200と、当該マニピュレータ200と衝突する被衝突物20との衝突の様子である衝突系を模式的に示す図である。図3では、マニピュレータ200と被衝突物20とが衝突しており、(A)衝突開始時(接触開始時)、および(B)衝突検知時(均衡状態)の様子が模式的に示されている。 FIG. 3 is a diagram schematically showing a collision system in which the manipulator 200 and the object 20 that collides with the manipulator 200 collide. In FIG. 3, the manipulator 200 and the collided object 20 are colliding, and the states of (A) at the start of the collision (at the start of contact) and (B) at the time of collision detection (balanced state) are schematically shown. There is.

マニピュレータ200において、被衝突物20に接触している先端部210、及びマニピュレータの各関節等による弾性を有する要素220とする。例えば、マニピュレータ200には、エンドエフェクタとしてロボットハンドが取り付けられている場合、先端部210は、ロボットハンドの先端部であり、要素220は、マニピュレータを構成する材料、及びマニピュレータにおいて複数のアームや部品などが関節において接続されることによって全体として弾性を有することを示している。ここで、マニピュレータ200の要素220のばね定数を第1ばね定数k1とする。 The manipulator 200 includes a tip portion 210 that is in contact with the object 20 to be collided with, and an element 220 that has elasticity due to each joint of the manipulator. For example, when a robot hand is attached to the manipulator 200 as an end effector, the tip 210 is the tip of the robot hand, and the element 220 is a material that constitutes the manipulator and a plurality of arms and parts in the manipulator. This shows that the joints have elasticity as a whole because they are connected at the joints. Here, the spring constant of the element 220 of the manipulator 200 is defined as a first spring constant k1.

被衝突物20において、マニピュレータ200の先端部210に接触している表面部21、及び被衝突物20を構成する弾性を有する要素22とする。例えば、被衝突物20は、作業者の腕である場合、表面部21は、当該腕の皮膚表面、要素22は、弾性を有する腕の筋肉などである。ここで、表面部21のばね定数を第2ばね定数k2、及び要素22のばね定数を第3ばね定数k3とする。 In the object 20 to be collided, there is a surface portion 21 that is in contact with the tip 210 of the manipulator 200, and an element 22 having elasticity that constitutes the object 20 to be collided. For example, when the object 20 to be collided is an arm of a worker, the surface portion 21 is the skin surface of the arm, and the element 22 is the elastic muscle of the arm. Here, the spring constant of the surface portion 21 is a second spring constant k2, and the spring constant of the element 22 is a third spring constant k3.

なお、第2ばね定数k2及び第3ばね定数k3は、これらに限定されるものではなく、例えば、被衝突物20の表面や内部構造において、その構成、材料及び性質に応じて、複数のばね定数を設定すればよく、また、全体として合成した1つのばね定数を設定しても構わない。 Note that the second spring constant k2 and the third spring constant k3 are not limited to these, and for example, a plurality of springs may be used depending on the structure, material, and properties of the surface and internal structure of the object 20. A constant may be set, or a single spring constant synthesized as a whole may be set.

図3(A)では、マニピュレータ200の先端部210のP点において、被衝突物20との衝突(接触)により外力が加わる時(直前)で、まだ外力が加わっていない状態である。図3(B)では、マニピュレータ200の先端部210と被衝突物20とが衝突し、P点において外力Fpで均衡が取れている状態である。 In FIG. 3A, at point P of the tip end 210 of the manipulator 200, an external force is applied (immediately) due to a collision (contact) with the object 20 to be collided, and no external force has been applied yet. In FIG. 3B, the tip 210 of the manipulator 200 and the object 20 collide with each other, and are balanced by the external force Fp at point P.

この場合、衝突開始時(図3(A)状態)から、外力Fpで均衡が取れている状態(図3(B)状態)までのマニピュレータ200の移動量Lについては、図3(B)状態での衝突系全体のばね定数を全体ばね定数kとして、下記(数1)で算出される。
L=Fp/k ・・・(数1)
In this case, the amount of movement L of the manipulator 200 from the start of the collision (the state in FIG. 3(A)) to the state in which it is balanced by the external force Fp (the state in FIG. 3(B)) is the state in FIG. 3(B). The spring constant of the entire collision system at is set as the overall spring constant k, and is calculated by the following (Equation 1).
L=Fp/k...(Math. 1)

ここで、全体ばね定数kは、上述した第1ばね定数k1、第2ばね定数k2および第3ばね定数k3を用いて、下記(数2)で算出される。
k=(k1・k2・k3)/(k1・k2+k1・k3+k2・k3) ・・・(数2)
Here, the overall spring constant k is calculated by the following (Equation 2) using the first spring constant k1, second spring constant k2, and third spring constant k3 described above.
k=(k1・k2・k3)/(k1・k2+k1・k3+k2・k3) ...(Math. 2)

外力算出部120は、マニピュレータ200の衝突検知時におけるマニピュレータ200に加わる外力を算出する。例えば、外力算出部120は、図3(B)状態において、マニピュレータ200の先端部210のP点に加わる外力Fpを、トルクセンサによって検知された各軸201~206に加わっているトルクT(j:第1~第6軸)に基づいて算出する。具体的には、P点において力が均衡していることから、外力算出部120は、仮想仕事の原理などを用いて、マニピュレータ200の先端部210のP点に加わる外力Fpを算出すればよい。 The external force calculation unit 120 calculates the external force applied to the manipulator 200 when the collision of the manipulator 200 is detected. For example, in the state shown in FIG. 3B, the external force calculation unit 120 converts the external force Fp applied to the point P of the tip 210 of the manipulator 200 into the torque T j ( j: 1st to 6th axes). Specifically, since the forces are balanced at point P, the external force calculation unit 120 may calculate the external force Fp applied to point P of the tip portion 210 of the manipulator 200 using the principle of virtual work or the like. .

(第1ばね定数k1について)
ばね定数算出部140は、マニピュレータ200の衝突検知時におけるマニピュレータ200の姿勢に基づくばね定数を算出する。ここでは、全体ばね定数kを構成する第1ばね定数k1、第2ばね定数k2および第3ばね定数k3のうち、マニピュレータ200側の第1ばね定数k1について説明する。
(About the first spring constant k1)
The spring constant calculation unit 140 calculates a spring constant based on the attitude of the manipulator 200 when the collision of the manipulator 200 is detected. Here, among the first spring constant k1, second spring constant k2, and third spring constant k3 that constitute the overall spring constant k, the first spring constant k1 on the manipulator 200 side will be explained.

第1ばね定数k1は、マニピュレータ200の姿勢に応じて変化するものであって、例えば、マニピュレータ200の各軸201~206における関節角度およびアームの角度や伸縮状態に応じて、その値(弾性、ばね定数)は変化する。 The first spring constant k1 changes depending on the posture of the manipulator 200, and its value (elasticity, spring constant) changes.

上記(数1)に示されたように、P点に加わる外力Fp及び全体ばね定数kの影響により、マニピュレータ200は、移動量Lだけ移動するが、マニピュレータ200側の第1ばね定数k1に依存する分と、被衝突物20側の第2ばね定数k2および第3ばね定数k3に依存する分とで構成される。 As shown in the above (Equation 1), the manipulator 200 moves by the amount of movement L due to the influence of the external force Fp applied to point P and the overall spring constant k, but it depends on the first spring constant k1 on the manipulator 200 side. and a portion depending on the second spring constant k2 and third spring constant k3 on the collided object 20 side.

図4は、マニピュレータ200の移動量Lについて、その構成をより詳しく説明するための模式図である。図4に示されるように、マニピュレータ200の移動量Lは、マニピュレータ200の変位量ΔP、および被衝突物20に対する押し込み量L2を用いて、下記(数3)で算出される。
L=ΔP+L2 ・・・(数3)
FIG. 4 is a schematic diagram for explaining the configuration of the movement amount L of the manipulator 200 in more detail. As shown in FIG. 4, the movement amount L of the manipulator 200 is calculated by the following (Equation 3) using the displacement amount ΔP of the manipulator 200 and the pushing amount L2 with respect to the object 20 to be collided.
L=ΔP+L2...(Math. 3)

マニピュレータ200の変位量ΔPは、マニピュレータ200の移動量Lのうち、P点に加わる外力Fp及びマニピュレータ200側の第1ばね定数k1の影響に依るものであり、変位量算出部(図示せず)によって、例えば、以下のような手順で算出される。 The displacement amount ΔP of the manipulator 200 is determined by the influence of the external force Fp applied to the point P and the first spring constant k1 on the manipulator 200 side, out of the movement amount L of the manipulator 200, and is determined by a displacement calculation section (not shown). For example, it is calculated using the following procedure.

マニピュレータ200の衝突検知時におけるマニピュレータ200側の第1ばね定数k1は、P点における、外力Fpと変位量ΔPとを用いて、下記(数4)で算出される。
k1=Fp/ΔP ・・・(数4)
The first spring constant k1 on the manipulator 200 side when the manipulator 200 detects a collision is calculated by the following (Equation 4) using the external force Fp and the displacement amount ΔP at point P.
k1=Fp/ΔP...(Math. 4)

図5は、マニピュレータ200と被衝突物20との衝突におけるマニピュレータ200の変位量ΔPを単軸モデルとして説明するための模式図である。図5に示されるように、P点に加わる外力Fpにより、マニピュレータ200の先端部は、P’点に変位し(変位量ΔP)、例えば、その時のマニピュレータ200の関節角度θは、θ’に変位している。 FIG. 5 is a schematic diagram for explaining the displacement amount ΔP of the manipulator 200 in a collision between the manipulator 200 and the object 20 using a single axis model. As shown in FIG. 5, the tip of the manipulator 200 is displaced to the P' point (displacement amount ΔP) due to the external force Fp applied to the P point, and for example, the joint angle θ of the manipulator 200 at that time becomes θ'. It is displaced.

ここで、外力Fpが加わることによりP点がP’点に変位した際の関節角度θ’(図3(B)状態)は、外力Fpが加わる時(直前)で、まだ外力Fpが加わっていないP点の関節角度θ(図3(A)状態)、関節トルク差分Td、及び関節ばね定数kを用いて、下記(数5)で算出される。
θ’=θ+Td/k ・・・(数5)
Here, the joint angle θ' when the point P is displaced to the point P' due to the application of the external force Fp (state in FIG. 3(B)) is when the external force Fp is applied (just before), and the external force Fp has not yet been applied. It is calculated using the following (Equation 5) using the joint angle θ at point P (state in FIG. 3A), the joint torque difference Td, and the joint spring constant k.
θ j '=θ j +Td j /k j ... (Math. 5)

ここで、(数5)は、第j軸における関節角度θ’を算出するものであって、例えば、マニピュレータ200が6軸マニピュレータの場合には、j=1~6である。関節トルク差分Tdは、外力Fpが加わっていない状態でのトルクと、マニピュレータ200の衝突により外力Fpが加わった状態でのトルクとの差分である。また、関節ばね定数kは、各軸201~206の関節の弾性に基づくばね定数であり、各軸201~206の関節に応じて予め固定値として設定されている。 Here, (Equation 5) is for calculating the joint angle θ j ' on the j-th axis, and for example, when the manipulator 200 is a 6-axis manipulator, j=1 to 6. The joint torque difference Td j is the difference between the torque when no external force Fp is applied and the torque when the external force Fp is applied due to the collision of the manipulator 200. Further, the joint spring constant k j is a spring constant based on the elasticity of the joint of each axis 201 to 206, and is set in advance as a fixed value according to the joint of each axis 201 to 206.

P点の位置(P,P,P)およびP’点の位置(P’,P’,P’)は、関節角度θおよびθ’を用いて、下記(数6)(数7)で算出される。
(P,P,P)=f(θ,θ,θ) ・・・(数6)
(P’,P’,P’)=f(θ’,θ’,θ’) ・・・(数7)
The position of point P (P x , P y , P z ) and the position of point P' (P x ', P y ', P z ') are calculated using the joint angles θ and θ' as shown below (Equation 6). It is calculated using (Equation 7).
(P x , P y , P z ) = f (θ 1 , θ 2 , θ 3 ) (Equation 6)
(P x ', P y ', P z ') = f (θ 1 ', θ 2 ', θ 3 ') ... (Equation 7)

ここで、関数fは、各軸の関節角度に基づいてXYZ座標値へ変換する関数であって、予め規定されているとよい。また、関節角度θ~θは、各軸201~206のうち、いずれかの各軸における関節角度であって、例えば、ここでは、第1軸201における関節角度θ、第2軸202における関節角度θ、第3軸203における関節角度θに基づいてP点の位置(P,P,P)が算出されていることを示す。P’点の位置(P’,P’,P’)も同様である。 Here, the function f is a function for converting into XYZ coordinate values based on the joint angle of each axis, and is preferably defined in advance. Further, the joint angles θ 1 to θ 3 are joint angles in any one of the axes 201 to 206, and for example, here, the joint angle θ 1 in the first axis 201, the joint angle θ 1 in the second axis 202, This shows that the position of point P (P x , P y , P z ) is calculated based on the joint angle θ 2 at , and the joint angle θ 3 at the third axis 203 . The same applies to the position of point P' (P x ', P y ', P z ').

そして、上記(数6)(数7)より、マニピュレータ200の変位量ΔPは、下記(数8)で算出される。
ΔP={(P-P’)+(P-P’)+(P-P’)1/2 ・・・(数8)
Then, from the above (Equation 6) and (Equation 7), the displacement amount ΔP of the manipulator 200 is calculated using the following (Equation 8).
ΔP={(P x - P x ') 2 + (P y - P y ') 2 + (P z - P z ') 2 } 1/2 ... (Math. 8)

このように、上記(数5)~(数8)により、変位量算出部は、マニピュレータ200の変位量ΔPを、マニピュレータ200のマニピュレータ各軸201~206における、関節角度θおよびθ’、関節トルク差分Td、および関節ばね定数kに基づいて算出することができる。 In this way, according to (Equation 5) to (Equation 8) above, the displacement amount calculation unit calculates the displacement amount ΔP of the manipulator 200 by the joint angles θ j and θ j ′ of the manipulator 200 at each of the manipulator axes 201 to 206, It can be calculated based on the joint torque difference Td j and the joint spring constant k j .

さらに、上記(数4)により、変位量算出部によって算出されたマニピュレータ200の変位量ΔPに基づいて、第1ばね定数k1を算出することができる。すなわち、ばね定数算出部140は、マニピュレータ200の姿勢に応じた第1ばね定数k1を算出することができる。 Furthermore, according to the above (Equation 4), the first spring constant k1 can be calculated based on the displacement amount ΔP of the manipulator 200 calculated by the displacement amount calculating section. That is, the spring constant calculation unit 140 can calculate the first spring constant k1 according to the attitude of the manipulator 200.

(第2ばね定数k2および第3ばね定数k3について)
次に、全体ばね定数kを構成する第1ばね定数k1、第2ばね定数k2および第3ばね定数k3のうち、被衝突物20側の第2ばね定数k2および第3ばね定数k3について説明する。
(Regarding the second spring constant k2 and the third spring constant k3)
Next, among the first spring constant k1, second spring constant k2, and third spring constant k3 that constitute the overall spring constant k, the second spring constant k2 and third spring constant k3 on the collided object 20 side will be explained. .

第2ばね定数k2は、被衝突物20の表面部21のばね定数であり、第3ばね定数k3は、被衝突物20の要素22のばね定数であり、典型的には、マニピュレータ200と衝突する被衝突物20の特性に応じて、それぞれ予め設定されている。 The second spring constant k2 is the spring constant of the surface portion 21 of the object 20 to be collided, and the third spring constant k3 is the spring constant of the element 22 of the object 20 to be collided, and typically collides with the manipulator 200. Each of these values is set in advance according to the characteristics of the object 20 to be collided with.

なお、被衝突物20側の第2ばね定数k2および第3ばね定数k3を合成した合成ばね定数k23として、下記(数9)で算出されてもよい。
k23=(k2・k3)/(k2+k3) ・・・(数9)
Note that the composite spring constant k23 obtained by combining the second spring constant k2 and the third spring constant k3 on the collided object 20 side may be calculated using the following (Equation 9).
k23=(k2・k3)/(k2+k3)...(Math. 9)

図4に戻り、被衝突物20に対する押し込み量L2は、マニピュレータ200の移動量Lのうち、P点に加わる外力Fp及び被衝突物20側の合成ばね定数k23の影響に依るものである。図4(C)に示されるように、被衝突物20に対する押し込み量L2は、仮に、マニピュレータ200が剛体であると仮定した場合に、P点に外力Fpが加わることにより被衝突物20側の合成ばね定数k23に依存して押し込まれる分であると考えることができる。 Returning to FIG. 4, the pushing amount L2 against the object 20 depends on the influence of the external force Fp applied to the point P and the composite spring constant k23 on the object 20 side, out of the amount L of movement of the manipulator 200. As shown in FIG. 4(C), when the manipulator 200 is assumed to be a rigid body, the pushing amount L2 against the object 20 is determined by applying an external force Fp to the point P. It can be considered that the amount of compression depends on the composite spring constant k23.

すなわち、被衝突物20に対する押し込み量L2は、上記合成ばね定数k23を用いて、下記(数10)で算出される。
L2=Fp/k23 ・・・(数10)
That is, the pushing amount L2 with respect to the object 20 to be collided is calculated by the following (Equation 10) using the composite spring constant k23.
L2=Fp/k23...(Math. 10)

なお、被衝突物20側の第2ばね定数k2、第3ばね定数k3及び合成ばね定数23は、予め固定値を設定してもよいが、これに限定されるものではなく、例えば、マニピュレータ200が設置される環境、作業者やその他マニピュレータ200と衝突する可能性のある被衝突物などに応じて、ユーザが選択したり、設定したりするようにしても構わない。 Note that the second spring constant k2, third spring constant k3, and composite spring constant 23 on the collided object 20 side may be set to fixed values in advance, but are not limited to this. For example, the manipulator 200 The user may select or set the settings depending on the environment in which the manipulator 200 is installed, the operator, or other objects that may collide with the manipulator 200.

さらに、マニピュレータ200に姿勢に対応して、当該マニピュレータ200と衝突する可能性のある被衝突物の部位に基づいて、当該部位毎のばね定数を設定するようにしても構わない。例えば、マニピュレータ200と衝突する可能性のある被衝突物を作業者である場合、マニピュレータ200のアームが高い位置にある際に衝突するとすれば、当該作業者の胴体や腕、低い位置にある際に衝突するとすれば、当該作業者の足である。すなわち、マニピュレータ200の位置姿勢に応じて衝突する被衝突物の表面部および弾性を有する要素を予め推定し、被衝突物の各被衝突部位のばね定数を設定、選択、又は動的に変化させるようにしても構わない。 Furthermore, the spring constant may be set for each part of the manipulator 200 based on the part of the object to be collided with which the manipulator 200 is likely to collide, in accordance with the attitude thereof. For example, if the object to be collided with the manipulator 200 is a worker, and if the collision occurs when the arm of the manipulator 200 is at a high position, then the body or arm of the worker, when the arm of the manipulator 200 is at a high position, If it collides with the worker's foot, it is the worker's foot. That is, the surface portion and elastic elements of the collided object are estimated in advance according to the position and orientation of the manipulator 200, and the spring constant of each collided portion of the collided object is set, selected, or dynamically changed. It doesn't matter if you do it like this.

(マニピュレータ200の移動量Lについて)
移動量算出部150は、外力Fpと全体ばね定数kとに基づいてマニピュレータ200の移動量Lを算出する。具体的には、移動量算出部150は、外力算出部120によって算出された外力Fpと、ばね定数算出部140によって算出されたマニピュレータ200の姿勢に応じた第1ばね定数k1および被衝突物20側の第2ばね定数k2および第3ばね定数k3とに基づいて、マニピュレータ200の移動量Lを算出する(上述した(数1)~(数10))。
(About the amount of movement L of the manipulator 200)
The movement amount calculation unit 150 calculates the movement amount L of the manipulator 200 based on the external force Fp and the overall spring constant k. Specifically, the movement amount calculation unit 150 calculates the external force Fp calculated by the external force calculation unit 120, the first spring constant k1 according to the attitude of the manipulator 200 calculated by the spring constant calculation unit 140, and the collided object 20. The movement amount L of the manipulator 200 is calculated based on the second spring constant k2 and the third spring constant k3 on the side ((Equation 1) to (Equation 10) described above).

ここで、マニピュレータ200の姿勢に応じた第1ばね定数k1を、ばね定数算出部140によって適切に算出されているため、移動量算出部150は、適切にマニピュレータ200の移動量Lを算出することができる。 Here, since the first spring constant k1 corresponding to the posture of the manipulator 200 has been appropriately calculated by the spring constant calculation unit 140, the movement amount calculation unit 150 can appropriately calculate the movement amount L of the manipulator 200. I can do it.

戻し時間算出部160は、移動量算出部150によって算出されたマニピュレータ200の移動量Lと、マニピュレータ200の衝突検知時の速度Vとに基づいて、戻し時間Tを算出する。ここで、マニピュレータの衝突検知時の速度Vは、ロボット制御装置100において、マニピュレータ200の衝突検知時の速度Vを取得する。 The return time calculation unit 160 calculates the return time T based on the movement amount L of the manipulator 200 calculated by the movement amount calculation unit 150 and the speed V of the manipulator 200 at the time of collision detection. Here, the speed V of the manipulator 200 when the collision is detected is obtained in the robot control device 100 as the speed V of the manipulator when the collision is detected.

そして、戻し時間Tとは、マニピュレータ200の衝突検知時(図3(B)状態)から衝突開始時(図3(A)状態)までの時間である。すなわち、マニピュレータ200と被衝突物20との衝突(接触)による外力Fpが加わる時(直前)であって、まだ外力Fpが加わっていない状態の時まで、どのくらいの時間を戻せば良いかということである。 The return time T is the time from when the manipulator 200 detects a collision (state in FIG. 3(B)) to when the collision starts (state in FIG. 3(A)). In other words, how much time should we go back to the time when the external force Fp is applied due to the collision (contact) between the manipulator 200 and the object 20 to be collided (just before), and when the external force Fp is not yet applied? It is.

戻し時間Tは、マニピュレータ200の移動量Lおよびマニピュレータ200の衝突検知時の速度Vを用いて、下記(数11)で算出される。
T=L/V ・・・(数11)
The return time T is calculated using the following (Equation 11) using the movement amount L of the manipulator 200 and the speed V of the manipulator 200 at the time of collision detection.
T=L/V...(Math. 11)

マニピュレータ戻し部170は、マニピュレータ200の衝突検知時から戻し時間T前の位置姿勢に、マニピュレータ200を戻す。具体的には、マニピュレータ戻し部170は、現在位置記憶部110によって記憶されている、戻し時間T前のマニピュレータ200の位置姿勢を取得し、当該位置姿勢にマニピュレータ200を戻す。マニピュレータ200は、当該マニピュレータ200と被衝突物20との衝突(接触)による外力Fpが加わる時(直前)であって、まだ外力Fpが加わっていない状態の時の位置姿勢に戻ることになる。 The manipulator return unit 170 returns the manipulator 200 to the position and orientation before the return time T after the collision detection of the manipulator 200. Specifically, the manipulator return unit 170 acquires the position and orientation of the manipulator 200 before the return time T, which is stored in the current position storage unit 110, and returns the manipulator 200 to the position and orientation. The manipulator 200 returns to the position and orientation when the external force Fp due to the collision (contact) between the manipulator 200 and the object 20 to be collided is applied (immediately), and when no external force Fp is applied yet.

図6は、マニピュレータ200におけるP点に加わる外力の推移(A)と、マニピュレータ200の位置の推移(B)を示す図である。図6に示されるように、マニピュレータ200に加わる外力は、衝突開始時から大きくなり、マニピュレータ200を当該衝突開始時の位置まで戻そうとする戻し開始時から小さくなっている。そして、マニピュレータ戻し部170は、マニピュレータ200の位置姿勢(ここでは、TCP(Tool Center Point)座標)を、戻し時間算出部160によって算出されたマニピュレータ200の衝突検知時から戻し時間T前の位置姿勢に戻す。その結果、マニピュレータ200に加わる外力は、略0[N]に近づき、マニピュレータ200の位置姿勢も、衝突開始時の状態に戻る。すなわち、図3に示された図3(B)状態から図3(A)状態に戻ることになる。 FIG. 6 is a diagram showing the transition (A) of the external force applied to point P on the manipulator 200 and the transition (B) of the position of the manipulator 200. As shown in FIG. 6, the external force applied to the manipulator 200 increases from the start of the collision, and decreases from the time the manipulator 200 starts returning to the position at the start of the collision. Then, the manipulator return unit 170 changes the position and orientation (here, TCP (Tool Center Point) coordinates) of the manipulator 200 to the position and orientation of the manipulator 200 from the time of collision detection to the time before the return time T calculated by the return time calculation unit 160. Return to As a result, the external force applied to the manipulator 200 approaches approximately 0 [N], and the position and orientation of the manipulator 200 also return to the state at the start of the collision. That is, the state shown in FIG. 3B returns to the state shown in FIG. 3A.

このように、マニピュレータ200と、例えば、作業者等との衝突時において当該マニピュレータ200に加わっている外力を解放するように、マニピュレータ200の位置姿勢を当該衝突前に戻している。そして、マニピュレータ200に外力が加わっていない状態で、当該マニピュレータ200を適切に停止させることができる。 In this way, the position and orientation of the manipulator 200 is returned to the state before the collision so as to release the external force applied to the manipulator 200 when the manipulator 200 collides with, for example, a worker. Then, the manipulator 200 can be appropriately stopped in a state where no external force is applied to the manipulator 200.

なお、マニピュレータ戻し部170は、マニピュレータ200の衝突検知時の速度Vよりも遅い速度で、マニピュレータ200の衝突検知時から戻し時間T前の位置に、マニピュレータ200を戻すようにする。このように、マニピュレータ200をゆっくりと戻せば、例えば、作業者等に衝突していた場合、再度、作業者に衝突する危険性を軽減することができ、安全性を確保することができる。 Note that the manipulator return unit 170 returns the manipulator 200 to the position before the return time T after the collision detection of the manipulator 200 at a speed lower than the velocity V of the manipulator 200 when the collision is detected. In this way, by slowly returning the manipulator 200, for example, if the manipulator 200 has collided with a worker, the risk of colliding with the worker again can be reduced, and safety can be ensured.

[マニピュレータの衝突時におけるロボット制御方法]
次に、マニピュレータ200の衝突時における当該マニピュレータ200のロボット制御方法について、具体的に詳しく説明する。
[Robot control method during manipulator collision]
Next, a method for controlling the robot of the manipulator 200 when the manipulator 200 collides will be specifically explained in detail.

図7は、本発明の一実施形態に係るロボット制御装置100によって実行されるマニピュレータ200を制御するロボット制御方法M100の処理の流れを示すフローチャートである。図7に示されるように、ロボット制御方法M100は、ステップS110~S180を含み、各ステップは、ロボット制御装置100に含まれるプロセッサによって実行される。 FIG. 7 is a flowchart showing the process flow of a robot control method M100 for controlling the manipulator 200, which is executed by the robot control device 100 according to an embodiment of the present invention. As shown in FIG. 7, the robot control method M100 includes steps S110 to S180, and each step is executed by a processor included in the robot control device 100.

ステップS110では、ロボット制御装置100は、マニピュレータ200の現在の位置姿勢を記憶する(現在位置記憶ステップ)。具体例としては、現在位置記憶部110は、その時刻におけるマニピュレータ200の位置姿勢を記憶する。 In step S110, the robot control device 100 stores the current position and orientation of the manipulator 200 (current position storage step). As a specific example, the current position storage unit 110 stores the position and orientation of the manipulator 200 at that time.

ステップS120では、ロボット制御装置100は、マニピュレータ200に加わっている外力を算出する(外力算出ステップ)。具体例としては、外力算出部120は、マニピュレータ200の先端部210のP点に加わる外力Fpを、トルクセンサによって検知された各軸201~206に加わっているトルクに基づいて算出する。 In step S120, the robot control device 100 calculates the external force applied to the manipulator 200 (external force calculation step). As a specific example, the external force calculation unit 120 calculates the external force Fp applied to the point P of the tip portion 210 of the manipulator 200 based on the torque applied to each of the axes 201 to 206 detected by the torque sensor.

ステップS130では、ロボット制御装置100は、ステップS120で算出されたマニピュレータ200に加わっている外力Fpに基づいて、マニピュレータ200の衝突を検知する(衝突検知ステップ)。具体例としては、衝突検知部130は、マニピュレータ200のマニピュレータ各軸201~206におけるトルクセンサによって検知された各軸201~206に加わっているトルクに基づいて、例えば、衝突を示す閾値を超えた場合には、マニピュレータ200が衝突したと検知すればよい(ステップS130の「Yes」)。一方、マニピュレータ200が衝突したと検知しない場合には、ステップS110の処理に戻る(ステップS130の「No」)。 In step S130, the robot control device 100 detects a collision of the manipulator 200 based on the external force Fp applied to the manipulator 200 calculated in step S120 (collision detection step). As a specific example, the collision detection unit 130 detects, for example, whether a threshold value indicating a collision has been exceeded, based on the torque applied to each of the manipulator axes 201 to 206, which is detected by the torque sensor on each of the manipulator axes 201 to 206 of the manipulator 200. In this case, it is sufficient to detect that the manipulator 200 has collided (“Yes” in step S130). On the other hand, if it is not detected that the manipulator 200 has collided, the process returns to step S110 ("No" in step S130).

ステップS140では、ロボット制御装置100は、マニピュレータ200の衝突検知時におけるマニピュレータ200の姿勢に基づくばね定数を算出する(ばね定数算出ステップ)。具体例としては、ばね定数算出部140は、マニピュレータ200の姿勢に応じて変化する第1ばね定数k1を算出し、また、例えば、予め設定されている被衝突物20側の第2ばね定数k2および第3ばね定数k3を取得し、上述した(数2)より、衝突系全体の全体ばね定数kを算出する。 In step S140, the robot control device 100 calculates a spring constant based on the attitude of the manipulator 200 when the collision of the manipulator 200 is detected (spring constant calculation step). As a specific example, the spring constant calculation unit 140 calculates a first spring constant k1 that changes depending on the attitude of the manipulator 200, and also calculates a second spring constant k2 on the collided object 20 side that is set in advance. and the third spring constant k3 are obtained, and the overall spring constant k of the entire collision system is calculated from the above-mentioned (Equation 2).

ステップS150では、ロボット制御装置100は、外力とばね定数とに基づいてマニピュレータ200の移動量Lを算出する(移動量算出ステップ)。具体例としては、移動量算出部150は、ステップS120で算出された外力Fpと、ステップS140で算出された全体ばね定数kとに基づいて、上述した(数1)により、マニピュレータ200の移動量Lを算出する。 In step S150, the robot control device 100 calculates the movement amount L of the manipulator 200 based on the external force and the spring constant (movement amount calculation step). As a specific example, the movement amount calculation unit 150 calculates the movement amount of the manipulator 200 by the above-mentioned (Equation 1) based on the external force Fp calculated in step S120 and the overall spring constant k calculated in step S140. Calculate L.

ステップS160では、ロボット制御装置100は、移動量とマニピュレータの衝突検知時の速度とに基づいて、戻し時間を算出する(戻し時間算出ステップ)。具体例としては、戻し時間算出部160は、ステップS150で算出されたマニピュレータ200の移動量Lと、マニピュレータ200の衝突検知時の速度Vとに基づいて、上述した(数11)により、戻し時間Tを算出する。 In step S160, the robot control device 100 calculates the return time based on the movement amount and the speed of the manipulator at the time of collision detection (return time calculation step). As a specific example, the return time calculation unit 160 calculates the return time by the above-mentioned (Equation 11) based on the movement amount L of the manipulator 200 calculated in step S150 and the speed V of the manipulator 200 at the time of collision detection. Calculate T.

ステップS170では、ロボット制御装置100は、ステップS160で算出された戻し時間前のマニピュレータ200の位置姿勢を取得する(位置情報取得ステップ)。具体例としては、マニピュレータ戻し部170は、戻し時間T前のマニピュレータ200の位置姿勢について、ステップS110で記憶された、その時刻におけるマニピュレータ200の位置姿勢を取得する。 In step S170, the robot control device 100 acquires the position and orientation of the manipulator 200 before the return time calculated in step S160 (position information acquisition step). As a specific example, with respect to the position and orientation of the manipulator 200 before the return time T, the manipulator return unit 170 acquires the position and orientation of the manipulator 200 at that time, which was stored in step S110.

ステップS180では、ロボット制御装置100は、マニピュレータ200の衝突検知時から戻し時間前の位置姿勢に、マニピュレータ200を戻す(マニピュレータ戻しステップ)。具体例としては、マニピュレータ戻し部170は、マニピュレータ200の衝突検知時からステップS160で算出された戻し時間T前の位置姿勢について、ステップS170で取得したマニピュレータ200の位置姿勢に戻す。このように、マニピュレータ200の位置姿勢を戻すことによって、マニピュレータ200と被衝突物20との衝突(接触)による外力が加わる時(直前)の位置姿勢に戻すことになる。 In step S180, the robot control device 100 returns the manipulator 200 to the position and orientation before the return time after the collision detection of the manipulator 200 (manipulator return step). As a specific example, the manipulator return unit 170 returns the position and orientation of the manipulator 200 before the return time T calculated in step S160 after the collision detection of the manipulator 200 to the position and orientation of the manipulator 200 acquired in step S170. In this way, by returning the position and orientation of the manipulator 200, it is returned to the position and orientation at the time (immediately) when an external force is applied due to the collision (contact) between the manipulator 200 and the object 20 to be collided.

以上のように、本発明の一実施形態に係るロボット制御装置100及びロボット制御方法M100によれば、移動量算出部150は、外力算出部120によって算出されたマニピュレータ200の衝突検知時におけるマニピュレータ200に加わる外力Fpと、ばね定数算出部140によって算出されたマニピュレータ200の衝突検知時におけるマニピュレータ200の姿勢に基づくばね定数(第1ばね定数k1を含む全体ばね定数k)とに基づいてマニピュレータ200の移動量Lを算出する。そして、戻し時間算出部160は、移動量Lとマニピュレータ200の衝突検知時の速度Vとに基づいて、戻し時間Tを算出し、マニピュレータ戻し部170は、マニピュレータ200の衝突検知時から戻し時間T前の位置姿勢に、マニピュレータ200を戻すことにより、マニピュレータ200の衝突検知時における当該マニピュレータ200の姿勢に応じて当該マニピュレータ200に加わっている外力Fpを解放するように、適切に当該衝突検知前の状態に戻すことができる。すなわち、当該マニピュレータ200に加わっている外力を解放した状態で、当該マニピュレータ200を停止させることができる。 As described above, according to the robot control device 100 and the robot control method M100 according to an embodiment of the present invention, the movement amount calculation section 150 calculates the amount of movement of the manipulator 200 when the collision of the manipulator 200 is detected, which is calculated by the external force calculation section 120. of the manipulator 200 based on the external force Fp applied to the spring constant and the spring constant (overall spring constant k including the first spring constant k1) based on the posture of the manipulator 200 at the time of collision detection of the manipulator 200 calculated by the spring constant calculation unit 140. Calculate the amount of movement L. Then, the return time calculation unit 160 calculates the return time T based on the movement amount L and the speed V of the manipulator 200 at the time of the collision detection, and the manipulator return unit 170 calculates the return time T from the time of the collision detection of the manipulator 200. By returning the manipulator 200 to the previous position and orientation, the external force Fp applied to the manipulator 200 is released according to the orientation of the manipulator 200 at the time of the collision detection. can be returned to the state. That is, the manipulator 200 can be stopped while the external force applied to the manipulator 200 is released.

なお、本実施形態においては、マニピュレータ200を6軸の垂直多関節ロボットとして説明したが、これに限定されるものではなく、例えば、7軸の垂直多関節ロボットであっても構わないし、ロボットの位置姿勢等によりばね定数が変化したり、被衝突物のばね定数を考慮する状況であれば、その他のロボットであっても構わない。 In this embodiment, the manipulator 200 has been described as a 6-axis vertically articulated robot, but it is not limited to this; for example, it may be a 7-axis vertically articulated robot, or Other robots may be used as long as the spring constant changes depending on the position and orientation, or the spring constant of the object to be collided is taken into consideration.

以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。 The embodiments described above are intended to facilitate understanding of the present invention, and are not intended to be interpreted as limiting the present invention. Each element included in the embodiment, as well as its arrangement, material, conditions, shape, size, etc., are not limited to those illustrated, and can be changed as appropriate. Further, it is possible to partially replace or combine the structures shown in different embodiments.

10…ロボットシステム、20…被衝突物、21…被衝突物の表面部、22…被衝突物の要素、100…ロボット制御装置、110…現在位置記憶部、120…外力算出部、130…衝突検知部、140…定数算出部、150…移動量算出部、160…戻し時間算出部、170…マニピュレータ戻し部、200…マニピュレータ、201~206…各軸、210…マニピュレータの先端部、220…マニピュレータの要素、M100…ロボット制御方法、S110~S180…ロボット制御方法M100の各ステップ
DESCRIPTION OF SYMBOLS 10... Robot system, 20... Collided object, 21... Surface portion of collided object, 22... Elements of collided object, 100... Robot control device, 110... Current position storage section, 120... External force calculation section, 130... Collision Detection section, 140... constant calculation section, 150... movement amount calculation section, 160... return time calculation section, 170... manipulator return section, 200... manipulator, 201 to 206... each axis, 210... tip of manipulator, 220... manipulator Elements of M100...Robot control method, S110 to S180...Each step of robot control method M100

Claims (6)

マニピュレータを制御するロボット制御装置であって、
前記マニピュレータの衝突を検知する衝突検知部と、
前記マニピュレータの衝突検知時における前記マニピュレータに加わる外力を算出する外力算出部と、
前記マニピュレータの衝突検知時における前記マニピュレータの姿勢に基づくばね定数を算出するばね定数算出部と、
前記外力と前記ばね定数とに基づいて前記マニピュレータの移動量を算出する移動量算出部と、
前記移動量と前記マニピュレータの衝突検知時の速度とに基づいて、戻し時間を算出する戻し時間算出部と、
前記マニピュレータの衝突検知時から前記戻し時間前の位置姿勢に、前記マニピュレータを戻すマニピュレータ戻し部と、を備える、
ロボット制御装置。
A robot control device that controls a manipulator,
a collision detection unit that detects a collision of the manipulator;
an external force calculation unit that calculates an external force applied to the manipulator when a collision of the manipulator is detected;
a spring constant calculation unit that calculates a spring constant based on the posture of the manipulator when a collision of the manipulator is detected;
a movement amount calculation unit that calculates a movement amount of the manipulator based on the external force and the spring constant;
a return time calculation unit that calculates a return time based on the amount of movement and the speed of the manipulator at the time of collision detection;
a manipulator return unit that returns the manipulator to the position and orientation from when the collision of the manipulator is detected to before the return time;
Robot control device.
前記マニピュレータの衝突検知時における前記マニピュレータの変位量を算出する変位量算出部を、さらに備え、
前記ばね定数は、前記外力と前記マニピュレータの変位量とに基づいて算出される前記マニピュレータの衝突検知時におけるマニピュレータのばね定数を含む、
請求項1に記載のロボット制御装置。
further comprising a displacement amount calculation unit that calculates a displacement amount of the manipulator when a collision of the manipulator is detected,
The spring constant includes a spring constant of the manipulator when a collision of the manipulator is detected, which is calculated based on the external force and the displacement amount of the manipulator.
The robot control device according to claim 1.
前記ばね定数は、前記マニピュレータの衝突検知時における被衝突部位のばね定数を含む、
請求項2に記載のロボット制御装置。
The spring constant includes a spring constant of a collided part when the collision of the manipulator is detected.
The robot control device according to claim 2.
前記変位量算出部は、前記マニピュレータの変位量を、前記マニピュレータ各軸における、関節角度、関節トルクおよび関節ばね定数に基づいて算出する、
請求項2に記載のロボット制御装置。
The displacement amount calculation unit calculates the displacement amount of the manipulator based on a joint angle, a joint torque, and a joint spring constant in each axis of the manipulator.
The robot control device according to claim 2.
前記マニピュレータ戻し部は、前記マニピュレータの衝突検知時の速度よりも遅い速度で、前記マニピュレータの衝突検知時から前記戻し時間前の位置姿勢に、前記マニピュレータを戻す、
請求項1に記載のロボット制御装置。
The manipulator return unit returns the manipulator to the position and orientation from when the collision of the manipulator is detected to before the return time at a speed slower than the speed when the collision of the manipulator is detected.
The robot control device according to claim 1.
前記マニピュレータの衝突検知時における被衝突部位のばね定数は、前記マニピュレータが衝突する可能性を有する前記被衝突部位を予め推定することによって設定される、
請求項3に記載のロボット制御装置。
The spring constant of the collided part when the collision of the manipulator is detected is set by estimating in advance the collided part that has a possibility of colliding with the manipulator.
The robot control device according to claim 3.
JP2022107827A 2022-07-04 2022-07-04 robot control device Pending JP2024006697A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022107827A JP2024006697A (en) 2022-07-04 2022-07-04 robot control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022107827A JP2024006697A (en) 2022-07-04 2022-07-04 robot control device

Publications (1)

Publication Number Publication Date
JP2024006697A true JP2024006697A (en) 2024-01-17

Family

ID=89539925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022107827A Pending JP2024006697A (en) 2022-07-04 2022-07-04 robot control device

Country Status (1)

Country Link
JP (1) JP2024006697A (en)

Similar Documents

Publication Publication Date Title
JP4243309B2 (en) Robot arm control device
JP5114019B2 (en) Method for controlling the trajectory of an effector
US8112179B2 (en) Multi-joint robot and control program thereof
JP5929224B2 (en) robot
JP6680752B2 (en) Control device that limits the speed of the robot
US20090069942A1 (en) Robot apparatus and method of controlling the same
JP7275488B2 (en) robot system
CN109968377B (en) Robot control system and method for controlling robot
JP5849451B2 (en) Robot failure detection method, control device, and robot
CN106625653A (en) Force feedback-based industrial robot auxiliary assembling and flexible docking method
CN110919627B (en) Robot control method and control device
US11173614B2 (en) Control apparatus and robot system
JP6883903B2 (en) Robot safety improvement method and safety evaluation method
JP2010142910A5 (en)
JP2017030059A (en) Robot control device, robot and robot system
JP7450744B2 (en) Method of controlling a robotic device, controller, set of machine-readable instructions, machine-readable medium and robotic device
JP6240590B2 (en) Mobile robot controller
JP7351677B2 (en) robot system
JP2024006697A (en) robot control device
JP3951007B2 (en) Robot control device with tactile sensor
KR101976358B1 (en) Safety improve method of robot
US11660742B2 (en) Teaching method and robot system
JP7423943B2 (en) Control method and robot system
CN109551517A (en) Robot system
JP6668629B2 (en) Robot controller and robot system