JP7804490B2 - Robot control device and robot system - Google Patents
Robot control device and robot systemInfo
- Publication number
- JP7804490B2 JP7804490B2 JP2022033451A JP2022033451A JP7804490B2 JP 7804490 B2 JP7804490 B2 JP 7804490B2 JP 2022033451 A JP2022033451 A JP 2022033451A JP 2022033451 A JP2022033451 A JP 2022033451A JP 7804490 B2 JP7804490 B2 JP 7804490B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- spindle motor
- collision detection
- load
- detection threshold
- 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
Links
Landscapes
- Manipulator (AREA)
Description
本発明は、ロボット制御装置及びロボットシステムに関する。 The present invention relates to a robot control device and a robot system.
近年、産業界において、多くのロボットが普及している。当該ロボットは、例えば、電子部品及び機械部品の組み立て、溶接及び搬送等に用いられたり、金属、鋳物、樹脂及び木材等を加工する際に用いられたりして、製造工程の効率化及び自動化が図られている。 In recent years, many robots have become widespread in industry. These robots are used, for example, for assembling, welding, and transporting electronic and mechanical parts, and for processing metals, castings, resins, and wood, thereby improving the efficiency and automation of manufacturing processes.
例えば、アーム先端にエンドエフェクタとして切削工具が取り付けられたロボットでは、鋳物のバリ取りや溶接ビートを切削する。このとき、ロボットがワークや周辺の障害物に衝突すると、アーム先端に取り付けられた切削工具やロボット等が損傷してしまう。このため、ロボットとワークや周辺の障害物との衝突を適切に検知し、すばやくロボットを停止させることが好ましい。 For example, a robot with a cutting tool attached as an end effector to the end of its arm is used to remove burrs from castings or cut weld beads. If the robot collides with the workpiece or a nearby obstacle, the cutting tool attached to the end of the arm and the robot itself will be damaged. For this reason, it is desirable to properly detect collisions between the robot and the workpiece or nearby obstacles and quickly stop the robot.
特許文献1では、付加的なセンサを用いずにロボットが周辺物に衝突したことを検知し、ロボット及び周辺物の破損を防止するロボット制御装置に関する技術が開示されている。特許文献1に記載のロボット制御装置は、例えば、バリ取りやハンド開閉等、ロボットに行わせる作業に応じて必要な駆動トルクを演算し、当該駆動トルクと各関節を駆動するモータの電流とに基づいて衝突の判別を行う。 Patent Document 1 discloses technology related to a robot control device that detects when a robot collides with a surrounding object without using additional sensors and prevents damage to the robot or the surrounding object. The robot control device described in Patent Document 1 calculates the drive torque required for the task to be performed by the robot, such as deburring or hand opening and closing, and determines whether a collision has occurred based on this drive torque and the current of the motors that drive each joint.
また、特許文献2では、ロボットのハンドに衝撃力を検出する力センサを備えて、検出した衝撃力の大きさに応じて衝突を判定するロボットの衝突検出装置に関する技術が開示されている。 Patent document 2 also discloses technology related to a robot collision detection device that is equipped with a force sensor in the robot's hand to detect impact forces and determines collisions based on the magnitude of the detected impact forces.
しかしながら、特許文献1に記載のロボット制御装置では、例えば、切削中における衝突を検知しようとすると、切削における衝撃と区別する必要があるため、衝突を検知したと判定する閾値を高く設定する必要がある。これにより、衝突の検知が遅れて、すばやくロボットを停止させることができない。その結果、切削工具やロボット等が損傷してしまう可能性がある。 However, with the robot control device described in Patent Document 1, for example, when attempting to detect a collision during cutting, it is necessary to distinguish this from impacts during cutting, and therefore the threshold for determining that a collision has been detected must be set high. This results in a delay in detecting the collision, making it impossible to quickly stop the robot. As a result, there is a risk of damage to the cutting tool, robot, etc.
また、特許文献2に記載のロボットの衝突検出装置のように、状況をすばやく把握するために力センサを備えることも考えられるが、ロボットと障害物等との衝突を適切に検知するためには、複数の力センサを備える必要があり、高コストになってしまう。 It is also possible to equip the robot with force sensors to quickly grasp the situation, as in the robot collision detection device described in Patent Document 2, but in order to properly detect collisions between the robot and obstacles, etc., multiple force sensors would be required, which would increase costs.
そこで、本発明は、ロボットのアームに取り付けられる工具に掛かる負荷に基づいて状況を把握し、適切に衝突を検知することができるロボット制御装置及びロボットシステムを提供することを目的とする。 The present invention aims to provide a robot control device and robot system that can grasp the situation based on the load on a tool attached to the robot's arm and appropriately detect collisions.
本発明の一態様に係るロボット制御装置は、ロボットの動作を制御するロボット制御装置であって、ロボットに掛かるトルクを監視するトルク監視部と、ロボットのアームに取り付けられる工具を駆動させるスピンドルモータに掛かる負荷を算出する負荷算出部と、スピンドルモータに掛かる負荷に応じた衝突検知閾値を設定する衝突検知閾値設定部と、少なくとも監視されているトルクと設定された衝突検知閾値とに基づいて、ロボットの衝突を判定する衝突判定部と、を備える。 A robot control device according to one aspect of the present invention controls the operation of a robot and includes a torque monitoring unit that monitors the torque applied to the robot, a load calculation unit that calculates the load applied to a spindle motor that drives a tool attached to the robot's arm, a collision detection threshold setting unit that sets a collision detection threshold according to the load applied to the spindle motor, and a collision determination unit that determines whether the robot will collide based on at least the monitored torque and the set collision detection threshold.
この態様によれば、負荷算出部は、ロボットのアームに取り付けられる工具を駆動させるスピンドルモータに掛かる負荷を算出することによって状況を把握し、衝突検知閾値設定部は、スピンドルモータに掛かる負荷に応じた衝突検知閾値を設定する。そして、衝突判定部は、少なくとも監視されているトルクと設定された衝突検知閾値とに基づいて、ロボットの衝突を判定する。その結果、ロボットの衝突を適切に検知して、すばやくロボットを停止させることできるため、アームに取り付けられた切削工具やロボット等の損傷を軽減及び防止することができる。 According to this aspect, the load calculation unit grasps the situation by calculating the load on the spindle motor that drives the tool attached to the robot's arm, and the collision detection threshold setting unit sets a collision detection threshold according to the load on the spindle motor. The collision determination unit then determines a robot collision based on at least the monitored torque and the set collision detection threshold. As a result, it is possible to properly detect a robot collision and quickly stop the robot, thereby reducing and preventing damage to the cutting tool attached to the arm, the robot, etc.
上記態様において、衝突検知閾値設定部は、工具がワークに接して実行される作業中か否かに応じて、衝突検知閾値を設定してもよい。 In the above aspect, the collision detection threshold setting unit may set the collision detection threshold depending on whether or not work is being performed while the tool is in contact with the workpiece.
この態様によれば、衝突検知閾値設定部は、工具がワークに接して実行される作業中か否かに応じて、衝突検知閾値を設定するため、作業中における工具への負荷を考慮して、作業中及び非作業中におけるロボットの衝突を適切に検出することができる。 In this aspect, the collision detection threshold setting unit sets the collision detection threshold depending on whether or not work is being performed while the tool is in contact with the workpiece. This allows for appropriate detection of robot collisions both during and outside of work, taking into account the load on the tool during work.
上記態様において、衝突検知閾値設定部は、工具がワークに接して実行される作業中でない非作業中に対応する第1閾値、作業中に対応する第2閾値、及びスピンドルモータに掛かる負荷率に応じた閾値のいずれかを設定してもよい。 In the above aspect, the collision detection threshold setting unit may set one of a first threshold corresponding to a non-working state in which the tool is not in contact with the workpiece, a second threshold corresponding to a working state, and a threshold corresponding to the load rate on the spindle motor.
この態様によれば、衝突検知閾値設定部は、非作業中に対応する第1閾値、作業中に対応する第2閾値、及び負荷率に応じた閾値のいずれかを設定するため、作業中における工具への負荷をさらに詳細に考慮して、作業中及び非作業中におけるロボットの衝突をより適切に検出することができる。 In this aspect, the collision detection threshold setting unit sets one of a first threshold corresponding to non-working conditions, a second threshold corresponding to working conditions, and a threshold corresponding to the load rate, thereby taking into more detailed consideration the load on the tool during work and more appropriately detecting robot collisions during work and non-working conditions.
上記態様において、負荷算出部は、所定期間においてサンプリングされた複数のスピンドルモータに掛かる負荷に基づいて、スピンドルモータに掛かる負荷を算出し、衝突検知閾値設定部は、算出されたスピンドルモータに掛かる負荷に応じた衝突検知閾値を設定してもよい。 In the above aspect, the load calculation unit may calculate the load on the spindle motor based on loads on multiple spindle motors sampled over a predetermined period, and the collision detection threshold setting unit may set a collision detection threshold according to the calculated load on the spindle motor.
この態様によれば、負荷算出部は、所定期間においてサンプリングされた複数のスピンドルモータに掛かる負荷に基づいて、スピンドルモータに掛かる負荷を算出するため、適切に状況を把握することができる。そして、衝突検知閾値設定部は、算出されたスピンドルモータに掛かる負荷に応じて、適切な衝突検知閾値を設定するため、ロボットの衝突をより適切に検出することができる。 In this aspect, the load calculation unit calculates the load on the spindle motor based on the loads on multiple spindle motors sampled over a predetermined period, allowing for an appropriate understanding of the situation. The collision detection threshold setting unit then sets an appropriate collision detection threshold in accordance with the calculated load on the spindle motor, allowing for more appropriate detection of robot collisions.
本発明の一態様に係るロボットシステムは、ロボットのアームに取り付けられる工具を駆動させるスピンドルモータと、スピンドルモータを制御するスピンドルモータ制御装置と、ロボットの動作を制御するとともにスピンドルモータ制御装置に動作指示するロボット制御装置と、を備え、ロボット制御装置は、ロボットに掛かるトルクを監視するトルク監視部と、スピンドルモータに掛かる負荷を算出する負荷算出部と、スピンドルモータに掛かる負荷に応じた衝突検知閾値を設定する衝突検知閾値設定部と、少なくとも監視されているトルクと設定された衝突検知閾値とに基づいて、ロボットの衝突を判定する衝突判定部と、を含む。 A robot system according to one aspect of the present invention includes a spindle motor that drives a tool attached to the arm of the robot, a spindle motor control device that controls the spindle motor, and a robot control device that controls the operation of the robot and issues operation instructions to the spindle motor control device. The robot control device includes a torque monitoring unit that monitors the torque applied to the robot, a load calculation unit that calculates the load applied to the spindle motor, a collision detection threshold setting unit that sets a collision detection threshold according to the load applied to the spindle motor, and a collision determination unit that determines whether the robot will collide based on at least the monitored torque and the set collision detection threshold.
この態様によれば、ロボット制御装置において、負荷算出部は、ロボットのアームに取り付けられる工具を駆動させるスピンドルモータに掛かる負荷を算出することによって状況を把握し、衝突検知閾値設定部は、スピンドルモータに掛かる負荷に応じた衝突検知閾値を設定する。そして、衝突判定部は、少なくとも監視されているトルクと設定された衝突検知閾値とに基づいて、ロボットの衝突を判定する。その結果、ロボットの衝突を適切に検知して、すばやくロボットを停止させることできるため、アームに取り付けられた切削工具やロボット等の損傷を軽減及び防止することができる。 In this aspect, in the robot control device, the load calculation unit grasps the situation by calculating the load on the spindle motor that drives the tool attached to the robot's arm, and the collision detection threshold setting unit sets a collision detection threshold according to the load on the spindle motor. The collision determination unit then determines a robot collision based on at least the monitored torque and the set collision detection threshold. As a result, it is possible to properly detect a robot collision and quickly stop the robot, thereby reducing and preventing damage to the cutting tool attached to the arm, the robot, etc.
本発明によれば、ロボットのアームに取り付けられる工具に掛かる負荷に基づいて状況を把握し、適切に衝突を検知することができるロボット制御装置及びロボットシステムを提供することができる。 The present invention provides a robot control device and robot system that can grasp the situation based on the load on a tool attached to the robot's arm and appropriately detect collisions.
以下、本発明の好適な実施形態について、添付図面を参照しながら具体的に説明する。なお、以下で説明する実施形態は、あくまで、本発明を実施するための具体的な一例を挙げるものであって、本発明を限定的に解釈させるものではない。また、説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する場合がある。 Preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings. Note that the embodiment described below is merely a specific example for implementing the present invention and is not intended to limit the scope of the present invention. Furthermore, to facilitate understanding of the description, identical components in each drawing will be designated by the same reference numerals wherever possible, and duplicate descriptions may be omitted.
<一実施形態>
[ロボットシステムの構成]
図1は、本発明の一実施形態に係るロボットシステム10の概要を示す構成図である。図1に示されるように、ロボットシステム10は、ロボット20と、切削工具30と、スピンドルモータ31と、スピンドルモータ制御装置32と、ロボット制御装置100とを備える。
<One embodiment>
[Robot system configuration]
1 is a configuration diagram showing an overview 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 20, a cutting tool 30, a spindle motor 31, a spindle motor control device 32, and a robot control device 100.
ロボット20は、アームの先端にエンドエフェクタとして取り付けられた切削工具30を備えており、例えば、鋳物のバリ取りや溶接ビートの切削を行う産業用ロボットである。ロボット20は、ロボット制御装置100からの動作指示に基づいて、複数のサーボモータ21により各軸を回転させてアームを移動及び回転させて、切削工具30を適切な位置及び角度に移動させる。 The robot 20 is an industrial robot equipped with a cutting tool 30 attached as an end effector to the tip of its arm, and is used, for example, to remove burrs from castings or cut weld beads. Based on operational instructions from the robot control device 100, the robot 20 rotates each axis using multiple servo motors 21 to move and rotate the arm, thereby moving the cutting tool 30 to an appropriate position and angle.
切削工具30は、例えば、エンドミルや正面フライス等を含み、スピンドルモータ31によって駆動し、鋳物のバリ取りや溶接ビートの切削を行う。 The cutting tool 30 includes, for example, an end mill or face milling cutter, and is driven by a spindle motor 31 to remove burrs from castings or cut weld beads.
スピンドルモータ31は、スピンドルモータ制御装置32によって制御され、切削工具30を駆動させる。 The spindle motor 31 is controlled by the spindle motor control device 32 and drives the cutting tool 30.
スピンドルモータ制御装置32は、ロボット制御装置100からの回転開始指令によって指令された回転速度及び回転時間等に基づいて、スピンドルモータ31が回転するようにスピンドルモータ31を制御する。また、スピンドルモータ制御装置32は、スピンドルモータ31の回転時における電流値をスピンドルモータ31に掛かる負荷として、ロボット制御装置100に通知する。 The spindle motor control device 32 controls the spindle motor 31 so that it rotates based on the rotation speed, rotation time, etc. commanded by the rotation start command from the robot control device 100. The spindle motor control device 32 also notifies the robot control device 100 of the current value during rotation of the spindle motor 31 as the load applied to the spindle motor 31.
ロボット制御装置100は、ロボット20の動作を制御する。具体的には、ロボット制御装置100は、ロボット20における複数のサーボモータ21を制御することにより各軸を回転させてアームを移動及び回転させる。これにより、ロボット制御装置100は、ロボット20について、適切な位置姿勢となるように制御している。 The robot controller 100 controls the operation of the robot 20. Specifically, the robot controller 100 controls the multiple servo motors 21 in the robot 20 to rotate each axis and move and rotate the arm. In this way, the robot controller 100 controls the robot 20 to maintain an appropriate position and posture.
また、上述したように、ロボット制御装置100は、スピンドルモータ制御装置32に、スピンドルモータ31を回転させるように指令することにより、ロボット20のアームの先端に取り付けられた切削工具30の動作も制御している。 As described above, the robot control device 100 also controls the operation of the cutting tool 30 attached to the tip of the arm of the robot 20 by instructing the spindle motor control device 32 to rotate the spindle motor 31.
さらに、ロボット制御装置100は、ロボット20の衝突を検知すれば、当該ロボット20及び切削工具30を停止させるように制御する。 Furthermore, if the robot control device 100 detects a collision of the robot 20, it controls the robot 20 and cutting tool 30 to stop.
[ロボットの衝突検知について]
以下に、ロボット20の衝突を検知する機能について、詳しく説明する。
図2は、本発明の一実施形態に係るロボットシステム10における各機能を示す機能ブロック図である。図2に示されるように、ロボット20の動作を制御するロボット制御装置100は、サーボモータ制御部110と、トルク監視部120と、負荷算出部130と、衝突検知閾値設定部140と、衝突判定部150と、記憶部160とを含む。
[Robot collision detection]
The function of detecting a collision of the robot 20 will be described in detail below.
2 is a functional block diagram showing each function of the robot system 10 according to one embodiment of the present invention. As shown in FIG. 2, the robot control device 100 that controls the operation of the robot 20 includes a servo motor control unit 110, a torque monitoring unit 120, a load calculation unit 130, a collision detection threshold setting unit 140, a collision determination unit 150, and a storage unit 160.
サーボモータ制御部110は、ロボット20のアームを移動及び回転させるように、ロボット20の各軸を回転させる複数のサーボモータ21を制御する。具体的には、サーボモータ制御部110は、ロボット20の位置姿勢が所望の位置及び角度になるように、複数のサーボモータ21をどのように駆動させるか(位置、速度及び回転力等)について、必要な出力(電力)等を含む指令を送る。複数のサーボモータ21は、サーボモータ制御部110からの指令に基づいて駆動するが、実際に、どのように駆動したかについては、エンコーダによって、複数のサーボモータ21の位置、速度及び回転力等の情報が検出される。 The servo motor control unit 110 controls multiple servo motors 21 that rotate each axis of the robot 20 so as to move and rotate the arms of the robot 20. Specifically, the servo motor control unit 110 sends commands, including the required output (electrical power), on how to drive the multiple servo motors 21 (position, speed, rotational force, etc.) so that the position and orientation of the robot 20 becomes the desired position and angle. The multiple servo motors 21 are driven based on commands from the servo motor control unit 110, but how they were actually driven is determined by detecting information such as the position, speed, and rotational force of the multiple servo motors 21 using an encoder.
トルク監視部120は、ロボット20に掛かるトルクを監視する。具体的には、トルク監視部120は、上述したエンコーダによって検出された複数のサーボモータ21の情報に基づいて、ロボット20に掛かるトルクを監視する。すなわち、トルク監視部120は、実際に、複数のサーボモータ21がどのように駆動しているか(位置、速度及び回転力等)に基づいて、ロボット20に掛かるトルクを監視し、当該ロボット20の位置姿勢を含む状況を把握する。 The torque monitoring unit 120 monitors the torque applied to the robot 20. Specifically, the torque monitoring unit 120 monitors the torque applied to the robot 20 based on information from the multiple servo motors 21 detected by the encoders described above. In other words, the torque monitoring unit 120 monitors the torque applied to the robot 20 based on how the multiple servo motors 21 are actually driven (position, speed, rotational force, etc.), and grasps the situation of the robot 20, including its position and posture.
負荷算出部130は、ロボット20のアームに取り付けられる切削工具30を駆動させるスピンドルモータ31に掛かる負荷を算出する。具体的には、負荷算出部130は、スピンドルモータ31の回転時における電流値をスピンドルモータ31に掛かる負荷として、スピンドルモータ制御装置32を介して取得すればよい。例えば、負荷算出部130は、ロボット20が鋳物等の加工物を切削中(作業中)であれば、スピンドルモータ31の回転速度等に応じた電流値を取得し、切削中でなければ、スピンドルモータ31は停止しているため、0又は僅かな電流値(待機電流など)を取得する。 The load calculation unit 130 calculates the load on the spindle motor 31 that drives the cutting tool 30 attached to the arm of the robot 20. Specifically, the load calculation unit 130 acquires the current value during rotation of the spindle motor 31 as the load on the spindle motor 31 via the spindle motor control device 32. For example, if the robot 20 is cutting (operating) a workpiece such as a casting, the load calculation unit 130 acquires a current value corresponding to the rotation speed of the spindle motor 31, etc. If cutting is not in progress, the spindle motor 31 is stopped and therefore acquires 0 or a small current value (such as standby current).
衝突検知閾値設定部140は、負荷算出部130によって算出されたスピンドルモータ31に掛かる負荷に応じた衝突検知閾値を設定する。例えば、ロボット20に掛かるトルクは、ロボット20の位置姿勢や動作等に応じて掛かるものであって、通常、ロボット20の衝突がない場合には、各軸の回転角度やアームの位置及び傾き等を含むロボット20の位置姿勢等に基づいてロボット20に掛かるトルクを算出して、その値を推定することができる(推定トルク)。一方、ロボット20が障害物等に衝突した場合には、実際にロボット20に掛かるトルクは、上述したロボット20の衝突がない場合の推定トルクよりも大きくなる。 The collision detection threshold setting unit 140 sets a collision detection threshold according to the load on the spindle motor 31 calculated by the load calculation unit 130. For example, the torque applied to the robot 20 depends on the position, posture, and movement of the robot 20. Normally, when there is no collision of the robot 20, the torque applied to the robot 20 can be calculated based on the position, posture, and other factors of the robot 20, including the rotation angles of each axis and the position and inclination of the arms, and its value can be estimated (estimated torque). On the other hand, when the robot 20 collides with an obstacle, the torque actually applied to the robot 20 will be greater than the estimated torque when there is no collision of the robot 20 as described above.
ここで、ロボット20の衝突を検知したと判定できる衝突検知閾値を適切に設定すれば、ロボット20に掛かるトルクと当該設定された衝突検知閾値とを比較することにより、ロボット20が障害物等に衝突したことを検知することができる。また、実際にロボット20に掛かるトルクと、上述したロボット20の衝突がない場合の推定トルクとの差が大きくなった場合、ロボット20の衝突を検知したと判定するようにしても構わない。このようにロボット20の衝突を検知したと判定する場合には、当該差に対応する衝突検知閾値を設定すればよい。 Here, by appropriately setting a collision detection threshold that can be used to determine that a collision of the robot 20 has been detected, it is possible to detect that the robot 20 has collided with an obstacle or the like by comparing the torque applied to the robot 20 with the set collision detection threshold. Furthermore, it may be determined that a collision of the robot 20 has been detected when there is a large difference between the torque actually applied to the robot 20 and the estimated torque in the absence of a collision of the robot 20 described above. When determining that a collision of the robot 20 has been detected in this way, it is sufficient to set a collision detection threshold that corresponds to this difference.
ただし、ロボット20に掛かるトルクは、ロボット20が鋳物等の加工物を切削中である場合、切削中でない場合に比べて大きくなるため、切削中か否かに応じて、ロボット20の衝突検知であると判定する衝突検知閾値を適切に設定する必要がある。 However, the torque applied to the robot 20 is greater when the robot 20 is cutting a workpiece such as a casting than when it is not cutting, so it is necessary to appropriately set the collision detection threshold for determining whether the robot 20 has detected a collision depending on whether cutting is in progress.
すなわち、衝突検知閾値設定部140は、切削中か否かに応じて、衝突検知閾値を設定する。例えば、衝突検知閾値設定部140は、負荷算出部130によって算出されたスピンドルモータ31に掛かる負荷に基づいて、切削中か否かを判定し、当該判定に応じた衝突検知閾値を設定すればよい。 In other words, the collision detection threshold setting unit 140 sets the collision detection threshold depending on whether cutting is in progress. For example, the collision detection threshold setting unit 140 determines whether cutting is in progress based on the load on the spindle motor 31 calculated by the load calculation unit 130, and sets the collision detection threshold according to this determination.
図3は、切削作業におけるスピンドルモータに掛かる負荷に関する電流波形の一具体例を示す図である。図3に示されるように、スピンドルモータ31の電流値は、急激に上昇してS点において最大となり、電流値が高いレベルを維持した状態で変動し、その後、急激に下降してE点において最小となっている。 Figure 3 shows a specific example of a current waveform related to the load on the spindle motor during cutting work. As shown in Figure 3, the current value of the spindle motor 31 rises sharply, reaches a maximum at point S, fluctuates while maintaining a high current level, and then drops sharply to a minimum at point E.
つまり、スピンドルモータ31の電流値が急激に上昇して、高いレベルを維持した状態で変動している期間は、切削中であり、電流値が0近郊で安定している期間は、切削中でない非切削中であることが分かる。 In other words, when the current value of the spindle motor 31 rises sharply and fluctuates while maintaining a high level, cutting is in progress, and when the current value remains stable near zero, cutting is not in progress.
ここで、衝突検知閾値設定部140は、負荷算出部130によって算出されたスピンドルモータ31に掛かる負荷に基づいて、切削中か否かを判定し、当該判定に応じた衝突検知閾値を設定すればよい。例えば、非切削中に対応する衝突検知閾値を第1閾値、及び切削中に対応する衝突検知閾値を第2閾値(第1閾値<第2閾値)として、予め適切な衝突検知閾値を記憶部160に記憶していても構わない。 Here, the collision detection threshold setting unit 140 determines whether cutting is in progress based on the load on the spindle motor 31 calculated by the load calculation unit 130, and sets a collision detection threshold according to this determination. For example, the collision detection threshold corresponding to non-cutting times may be set as a first threshold, and the collision detection threshold corresponding to cutting times may be set as a second threshold (first threshold < second threshold), and appropriate collision detection thresholds may be stored in advance in the storage unit 160.
また、ロボット20において実際に切削作業を実行して、切削中及び非切削中におけるスピンドルモータ31に掛かる負荷に対応するロボット20に掛かるトルクをトルク監視部120によって収集し、当該収集されたロボット20に掛かるトルクに基づいて適切な衝突検知閾値を記憶部160に記憶しても構わない。例えば、切削中における、スピンドルモータ31に掛かる最大負荷と最小負荷、及びロボット20に掛かるトルクに基づく衝突検知閾値(第2閾値)を記憶部160に記憶する。また、非切削中における、ロボット20に掛かるトルクに基づく衝突検知閾値(第1閾値)を記憶部160に記憶する。 In addition, cutting work may be actually performed by the robot 20, and the torque monitoring unit 120 may collect the torque applied to the robot 20 corresponding to the load on the spindle motor 31 during cutting and non-cutting. An appropriate collision detection threshold may then be stored in the memory unit 160 based on the collected torque applied to the robot 20. For example, the maximum and minimum loads applied to the spindle motor 31 during cutting and a collision detection threshold (second threshold) based on the torque applied to the robot 20 may be stored in the memory unit 160. In addition, a collision detection threshold (first threshold) based on the torque applied to the robot 20 during non-cutting may be stored in the memory unit 160.
なお、第1閾値及び第2閾値は、例えば、切削する対象となるワークの材質、切削する位置、及びロボット20や切削工具30の種類等の条件に応じて設定されるものであるため、これらの条件が変更される際に、記憶部160を更新するようにしても構わない。具体的には、異なる種類のワークを切削する際、最初の1回は、ロボット20に掛かるトルクをトルク監視部120によって収集して、適切な衝突検知閾値(第1閾値及び第2閾値)を算出すればよい。 The first and second thresholds are set according to conditions such as the material of the workpiece to be cut, the cutting position, and the type of robot 20 and cutting tool 30, so the memory unit 160 may be updated when these conditions change. Specifically, when cutting a different type of workpiece, the torque applied to the robot 20 can be collected by the torque monitoring unit 120 the first time and an appropriate collision detection threshold (first and second thresholds) can be calculated.
さらに、例えば、切削中においては、切削位置や角度、切削量及びタイミング等に応じて、スピンドルモータ31に掛かる負荷が異なったり、変動したりする場合があり、当該負荷に応じてロボット20に掛かるトルクにも影響がある。このため、切削中は、スピンドルモータ31に掛かる負荷に応じて、ロボット20に掛かるトルクに基づく衝突検知閾値をさらに詳細に設定することが好ましい。 Furthermore, for example, during cutting, the load on the spindle motor 31 may differ or fluctuate depending on the cutting position, angle, cutting amount, timing, etc., and this load also affects the torque applied to the robot 20. For this reason, during cutting, it is preferable to set the collision detection threshold based on the torque applied to the robot 20 in more detail depending on the load on the spindle motor 31.
衝突検知閾値設定部140は、上述したように、例えば、非切削中に対応する衝突検知閾値を第1閾値、及び切削中に対応する衝突検知閾値を第2閾値(第1閾値<第2閾値)として設定し、さらに、スピンドルモータ31に掛かる負荷率に応じた閾値を設定する。ここで、第1閾値は、非切削中に対応する衝突検知閾値であって、ロボット20の衝突を検知する閾値のうち下限閾値であり、第2閾値は、切削中に対応する衝突検知閾値であって、ロボット20の衝突を検知する閾値のうち上限閾値であるとする。そして、スピンドルモータ31に掛かる負荷率に応じた閾値は、下記(数1)を用いて算出すればよい。
スピンドルモータ31に掛かる負荷率に応じた閾値=(第2閾値-第1閾値)×負荷率+第1閾値 ・・・(数1)
As described above, the collision detection threshold setting unit 140 sets, for example, a first threshold that is a collision detection threshold corresponding to a non-cutting state, and a second threshold that is a collision detection threshold corresponding to a cutting state (first threshold < second threshold), and further sets a threshold according to the load rate applied to the spindle motor 31. Here, the first threshold is a collision detection threshold corresponding to a non-cutting state and is the lower limit of the thresholds for detecting a collision of the robot 20, and the second threshold is a collision detection threshold corresponding to a cutting state and is the upper limit of the thresholds for detecting a collision of the robot 20. The threshold according to the load rate applied to the spindle motor 31 may be calculated using the following (Equation 1).
Threshold value according to the load factor applied to the spindle motor 31=(second threshold value−first threshold value)×load factor+first threshold value (Equation 1)
さらに、スピンドルモータ31に掛かる負荷率は、例えば、スピンドルモータ31の回転開始から回転停止までの期間を所定期間単位で複数の区間に区切り、各区間におけるスピンドルモータ31に掛かる負荷(例えば、最大負荷及び最小負荷等)と、当該スピンドルモータ31が有する規定値(例えば、製品仕様として許容される最大負荷及び最小負荷等)とに基づいて、下記(数2)を用いて算出すればよい。
スピンドルモータ31に掛かる負荷率=(所定期間における最大負荷と最小負荷との差)/(予め規定された最大負荷と最小負荷との差) ・・・(数2)
Furthermore, the load rate applied to the spindle motor 31 may be calculated, for example, by dividing the period from when the spindle motor 31 starts to rotate until when it stops rotating into a plurality of intervals in units of a predetermined period, and using the following equation (2) based on the load applied to the spindle motor 31 in each interval (e.g., maximum load and minimum load) and the specified value of the spindle motor 31 (e.g., maximum load and minimum load allowed as product specifications).
Load factor applied to spindle motor 31=(difference between maximum load and minimum load in a predetermined period)/(difference between predetermined maximum load and minimum load) (Equation 2)
所定期間単位で複数の区間に区切られて、各区間におけるスピンドルモータ31に掛かる負荷(例えば、最大負荷及び最小負荷等)は、例えば、過去の実績として、メモリ等の記憶部に記憶され、スピンドルモータ31に掛かる負荷率を算出する際に用いられている。 The system is divided into multiple intervals in predetermined time periods, and the load on the spindle motor 31 in each interval (e.g., maximum load, minimum load, etc.) is stored in a storage unit such as a memory as past performance data, and is used when calculating the load rate on the spindle motor 31.
図4は、スピンドルモータに掛かる負荷に応じて設定される衝突検知閾値の一具体例を示す図である。図4に示されるように、衝突検知閾値設定部140は、非切削中の場合には第1閾値(下限閾値)、上記(数2)を用いて算出された負荷率が90%以上の場合には第2閾値(上限閾値)、及び負荷率が10%以上90%未満の場合には上記(数1)を用いて算出されるスピンドルモータ31に掛かる負荷率に応じた閾値を、衝突検知閾値として設定する。 Figure 4 shows a specific example of a collision detection threshold that is set according to the load on the spindle motor. As shown in Figure 4, the collision detection threshold setting unit 140 sets the collision detection threshold to a first threshold (lower limit threshold) when not cutting, a second threshold (upper limit threshold) when the load rate calculated using the above (Equation 2) is 90% or greater, and a threshold according to the load rate on the spindle motor 31 calculated using the above (Equation 1) when the load rate is 10% or greater but less than 90%.
なお、ここでは、スピンドルモータ31に掛かる負荷率を10%単位として、上記(数2)を用いて算出された結果の端数を繰り上げることとしているため、衝突検知閾値設定部140は、負荷率が10%未満の場合には負荷率を10%として算出された閾値を、衝突検知閾値として設定する。これにより、細かく頻繁に衝突検知閾値が変化することを回避し、演算処理や判定処理を簡略化することができるが、10%単位に限定されるものではない。例えば、ロボット20の衝突における当該ロボット20に掛かるトルクの変化が微細なものであれば、上記(数2)を用いて算出された結果について、10%よりも小さい単位で有効にし、要求される精度等に応じて適宜設定するようにすればよい。 Note that, since the load rate on the spindle motor 31 is assumed to be in 10% increments and the result calculated using the above (Equation 2) is rounded up, the collision detection threshold setting unit 140 sets the threshold calculated using a load rate of 10% as the collision detection threshold when the load rate is less than 10%. This prevents the collision detection threshold from changing frequently and finely, simplifying the calculation and judgment processes, but is not limited to 10% increments. For example, if the change in torque applied to the robot 20 when it collides is minute, the result calculated using the above (Equation 2) can be validated in increments smaller than 10%, and can be set appropriately depending on the required accuracy, etc.
図5は、スピンドルモータに掛かる負荷に応じて、衝突検知閾値が設定されるタイミングの一具体例を示す図である。図5に示されるように、スピンドルモータ31に掛かる負荷に応じた衝突検知閾値が設定され、ロボット20に掛かる実トルクと推定トルクとの差が当該衝突検知閾値を超えるか否かによって、ロボット20の衝突が判定される。 Figure 5 shows a specific example of the timing at which the collision detection threshold is set depending on the load on the spindle motor. As shown in Figure 5, the collision detection threshold is set depending on the load on the spindle motor 31, and a collision of the robot 20 is determined depending on whether the difference between the actual torque and estimated torque applied to the robot 20 exceeds the collision detection threshold.
具体的には、負荷算出部130は、各所定期間Tにおいて、サンプリングされた複数のスピンドルモータ31に掛かる負荷に基づいて、スピンドルモータ31に掛かる負荷を算出する。各所定期間Tにおいてサンプリングされた複数のスピンドルモータ31に掛かる負荷のうち、最大負荷と最小負荷とを抽出することによって、上記(数2)を用いて、各所定期間Tにおけるスピンドルモータ31に掛かる負荷を算出する。そして、衝突検知閾値設定部140は、負荷算出部130によって算出された各所定期間Tにおけるスピンドルモータ31に掛かる負荷に基づいて、上記(数1)を用いて、各所定期間Tにおける衝突検知閾値を設定する。すなわち、衝突検知閾値は、所定期間T毎に設定(更新)されることになる。 Specifically, the load calculation unit 130 calculates the load on the spindle motor 31 based on the loads on the multiple spindle motors 31 sampled during each predetermined period T. By extracting the maximum and minimum loads from the loads on the multiple spindle motors 31 sampled during each predetermined period T, the load on the spindle motor 31 during each predetermined period T is calculated using the above equation (2). The collision detection threshold setting unit 140 then sets the collision detection threshold for each predetermined period T using the above equation (1) based on the load on the spindle motor 31 during each predetermined period T calculated by the load calculation unit 130. In other words, the collision detection threshold is set (updated) for each predetermined period T.
図3に示されたように、スピンドルモータ31に掛かる負荷は、切削中に高いレベルで急激に変動するため、それに追従するように衝突検知閾値を設定すれば、ロボット20の衝突検知に関わる演算処理及び判定処理が複雑になったり、衝突検知閾値が急激に変動したりすることによって、適切に衝突検知を判定できない可能性がある。このため、上述したように、負荷算出部130は、各所定期間Tにおいて、サンプリングされた複数のスピンドルモータ31に掛かる負荷に基づいて、スピンドルモータ31に掛かる負荷を算出することによって、適切なタイミング(所定期間T毎)で衝突検知閾値を設定すること好ましい。なお、所定期間Tは、スピンドルモータ31に掛かる負荷の変動等を考慮して設定すればよい。 As shown in Figure 3, the load on the spindle motor 31 fluctuates rapidly during cutting. Therefore, if the collision detection threshold is set to follow this, the calculation and judgment processes related to collision detection by the robot 20 may become complicated, or the collision detection threshold may fluctuate rapidly, making it possible for a collision to be detected improperly. For this reason, as described above, it is preferable for the load calculation unit 130 to set the collision detection threshold at an appropriate timing (every predetermined period T) by calculating the load on the spindle motor 31 based on the loads on multiple spindle motors 31 sampled during each predetermined period T. Note that the predetermined period T may be set taking into account fluctuations in the load on the spindle motor 31, etc.
[ロボットの衝突検知方法]
次に、ロボットの衝突を検知する方法について、具体的に詳しく説明する。
[Robot collision detection method]
Next, a method for detecting a collision of the robot will be specifically described in detail.
図6は、本発明の一実施形態に係るロボットシステム10に含まれるロボット制御装置100が実行するロボットの衝突検知方法M100を示すフローチャートである。図6に示されるように、ロボットの衝突検知方法M100は、ステップS110~S180を含み、各ステップは、ロボット制御装置100に含まれるプロセッサによって実行される。 FIG. 6 is a flowchart showing a robot collision detection method M100 executed by a robot controller 100 included in a robot system 10 according to one embodiment of the present invention. As shown in FIG. 6, the robot collision detection method M100 includes steps S110 to S180, and each step is executed by a processor included in the robot controller 100.
ステップS110では、ロボット制御装置100は、ロボットが切削中か否かを判定する。具体例としては、衝突検知閾値設定部140は、負荷算出部130によって算出されたスピンドルモータ31に掛かる負荷に基づいて、切削中か否かを判定する。 In step S110, the robot control device 100 determines whether the robot is currently cutting. As a specific example, the collision detection threshold setting unit 140 determines whether the robot is currently cutting based on the load on the spindle motor 31 calculated by the load calculation unit 130.
ステップS110で非切削中であると判定された場合、ロボット制御装置100は、衝突検知閾値に第1閾値(下限閾値)を設定する(ステップS120)。 If it is determined in step S110 that cutting is not in progress, the robot controller 100 sets the collision detection threshold to the first threshold (lower limit threshold) (step S120).
ステップS110で切削中であると判定された場合、ロボット制御装置100は、スピンドルモータに掛かる負荷率を算出する(ステップS130)。具体例としては、衝突検知閾値設定部140は、スピンドルモータ31の回転開始から回転停止までのうちの各区間におけるスピンドルモータ31の最大負荷及び最小負荷と、当該スピンドルモータ31が有する規定値としての最大負荷及び最小負荷等とに基づいて、上述した(数2)を用いて算出すればよい。 If it is determined in step S110 that cutting is in progress, the robot control device 100 calculates the load factor on the spindle motor (step S130). As a specific example, the collision detection threshold setting unit 140 may use the above-mentioned (Equation 2) to calculate this based on the maximum and minimum loads of the spindle motor 31 in each section from when the spindle motor 31 starts to when it stops rotating, and the maximum and minimum loads, etc., that are specified values for the spindle motor 31.
ステップS140では、ロボット制御装置100は、ステップS130で算出された負荷率を判定する。 In step S140, the robot control device 100 determines the load factor calculated in step S130.
ステップS140で負荷率が90%以上であると判定された場合、ロボット制御装置100は、衝突検知閾値に第2閾値(上限閾値)を設定する(ステップS150)。 If it is determined in step S140 that the load rate is 90% or higher, the robot controller 100 sets the collision detection threshold to a second threshold (upper limit threshold) (step S150).
ステップS140で負荷率が90%未満であると判定された場合、ロボット制御装置100は、衝突検知閾値にステップS130で算出された負荷率に応じた閾値を設定する(ステップS160)。具体例としては、衝突検知閾値設定部140は、上述した(数1)を用いて算出された閾値を衝突検知閾値に設定すればよい。 If it is determined in step S140 that the load rate is less than 90%, the robot control device 100 sets the collision detection threshold to a threshold value corresponding to the load rate calculated in step S130 (step S160). As a specific example, the collision detection threshold setting unit 140 may set the collision detection threshold to a threshold value calculated using the above-mentioned (Equation 1).
ステップS170では、ロボット制御装置100は、ロボットに掛かる実トルクと推定トルクとの差を判定する。具体例としては、衝突判定部150は、トルク監視部120によって監視されている実際にロボット20に掛かるトルク(実トルク)と、ロボット20の衝突がない場合のロボット20の位置姿勢等に基づいて算出されるロボット20に掛かるトルク(推定トルク)との差について、ステップS120、S150又はS160で設定された衝突検知閾値と比較する。 In step S170, the robot control device 100 determines the difference between the actual torque applied to the robot and the estimated torque. As a specific example, the collision determination unit 150 compares the difference between the torque actually applied to the robot 20 (actual torque) monitored by the torque monitoring unit 120 and the torque applied to the robot 20 (estimated torque) calculated based on the position and posture of the robot 20 when there is no collision of the robot 20, with the collision detection threshold set in step S120, S150, or S160.
ステップS170で当該差が衝突検知閾値未満であると判定された場合、ロボット制御装置100は、ステップS110の処理に戻る。具体的には、衝突判定部150は、ロボット20の衝突を検知していないと判定する。 If it is determined in step S170 that the difference is less than the collision detection threshold, the robot control device 100 returns to the processing of step S110. Specifically, the collision determination unit 150 determines that a collision of the robot 20 has not been detected.
ステップS170で当該差が衝突検知閾値以上であると判定された場合、ロボット制御装置100は、ロボットの衝突を検知したと判定する(ステップS180)。具体的には、衝突判定部150は、ロボット20が障害物等に衝突したことを検知する。そして、ロボット制御装置100は、ロボット20及び切削工具30を停止するように制御する。 If it is determined in step S170 that the difference is equal to or greater than the collision detection threshold, the robot control device 100 determines that a robot collision has been detected (step S180). Specifically, the collision determination unit 150 detects that the robot 20 has collided with an obstacle or the like. The robot control device 100 then controls the robot 20 and cutting tool 30 to stop.
以上のように、本発明の一実施形態に係るロボット制御装置100、ロボットシステム10及びロボットの衝突検知方法M100によれば、負荷算出部130は、ロボット20のアームに取り付けられる切削工具30を駆動させるスピンドルモータ31に掛かる負荷を算出することによって状況を把握し、衝突検知閾値設定部140は、スピンドルモータ31に掛かる負荷に応じた衝突検知閾値を設定する。そして、衝突判定部150は、少なくとも監視されているロボット20に掛かるトルクと衝突検知閾値設定部140によって設定された衝突検知閾値とに基づいて、ロボット20の衝突を判定する。その結果、ロボット20の衝突を適切に検知して、すばやくロボット20を停止させることできるため、アームに取り付けられた切削工具30やロボット等の損傷を軽減及び防止することができる。 As described above, according to the robot control device 100, robot system 10, and robot collision detection method M100 according to one embodiment of the present invention, the load calculation unit 130 grasps the situation by calculating the load on the spindle motor 31 that drives the cutting tool 30 attached to the arm of the robot 20, and the collision detection threshold setting unit 140 sets a collision detection threshold according to the load on the spindle motor 31. The collision determination unit 150 then determines a collision of the robot 20 based on at least the torque applied to the monitored robot 20 and the collision detection threshold set by the collision detection threshold setting unit 140. As a result, a collision of the robot 20 can be appropriately detected and the robot 20 can be quickly stopped, thereby reducing and preventing damage to the cutting tool 30 attached to the arm, the robot, etc.
なお、本実施形態では、図5を用いて説明したように、衝突検知閾値は、所定期間T毎に設定(更新)されていたが、さらに、リアルタイムに検出されたスピンドルモータ31に掛かる負荷を考慮するようにしても構わない。上述したように、所定期間Tは、適宜設定すればよいが、所定期間Tにおいてスピンドルモータ31に掛かる負荷をサンプリングし、当該所定期間Tにおける負荷率及び衝突検知閾値を算出すると、所定期間T毎に算出された衝突検知閾値を設定(更新)するまでに、タイムラグが生じる場合がある。このため、衝突検知閾値を現時点の状況により適した値となるように、リアルタイムに検出されたスピンドルモータ31に掛かる負荷を考慮して、負荷率及び衝突検知閾値を算出する。 In this embodiment, as explained using FIG. 5, the collision detection threshold is set (updated) every predetermined period T, but it is also possible to take into account the load on the spindle motor 31 detected in real time. As described above, the predetermined period T can be set as appropriate, but when the load on the spindle motor 31 is sampled during the predetermined period T and the load rate and collision detection threshold for that predetermined period T are calculated, a time lag may occur before the collision detection threshold calculated for every predetermined period T is set (updated). For this reason, the load rate and collision detection threshold are calculated taking into account the load on the spindle motor 31 detected in real time so that the collision detection threshold is more appropriate for the current situation.
図7は、スピンドルモータに掛かる負荷に応じて、衝突検知閾値が設定されるタイミングの他の具体例を示す図である。図7に示されるように、スピンドルモータ31に掛かる負荷を反映した衝突検知閾値が設定されている。 Figure 7 shows another specific example of the timing at which the collision detection threshold is set depending on the load on the spindle motor. As shown in Figure 7, the collision detection threshold is set to reflect the load on the spindle motor 31.
具体的に、スピンドルモータ31に掛かる負荷率は、例えば、スピンドルモータ31の回転開始から回転停止までの期間を所定期間単位で複数の区間に区切り、各区間におけるスピンドルモータ31に掛かる負荷(例えば、最大負荷及び最小負荷等)に、さらに、リアルタイムに検出されたスピンドルモータ31に掛かる負荷を考慮する。そして、上述した(数2)と同様に、当該スピンドルモータ31が有する規定値(例えば、製品仕様として許容される最大負荷及び最小負荷等)とに基づいて、下記(数3)を用いて算出すればよい。
スピンドルモータ31に掛かる負荷率={(所定期間における2つの負荷)/2と所定期間における最小負荷との差}/(予め規定された最大負荷と最小負荷との差) ・・・(数3)
Specifically, the load factor applied to the spindle motor 31 is calculated by dividing the period from when the spindle motor 31 starts to rotate until when it stops into a plurality of intervals in predetermined units, and taking into consideration the load applied to the spindle motor 31 in each interval (e.g., maximum load, minimum load, etc.) and the load detected in real time on the spindle motor 31. Then, similar to the above-mentioned (Equation 2), the load factor can be calculated using the following (Equation 3) based on the specified values of the spindle motor 31 (e.g., maximum load, minimum load, etc. allowed as product specifications).
Load factor applied to spindle motor 31={(two loads in a predetermined period)/2 and the difference between the minimum load in the predetermined period}/(difference between a predetermined maximum load and a predetermined minimum load) (Equation 3)
なお、所定期間における2つの負荷とは、例えば、所定期間の複数区間においてそれぞれ取得されたスピンドルモータ31に掛かる負荷のうち、連続する2つの負荷、及び現在の負荷と現在からt秒前や直近の負荷を含んでもよい。 The two loads in a specified period may include, for example, two consecutive loads among the loads applied to the spindle motor 31 acquired in multiple sections of the specified period, as well as the current load and the load t seconds before or immediately before the present.
このように、リアルタイムに検出されたスピンドルモータ31に掛かる負荷を考慮することによって、スピンドルモータ31に掛かる負荷を反映した衝突検知閾値が設定され、より適切に現時点の状況を把握することができる。その結果、より適切に衝突検知閾値を設定することができ、ロボット20の衝突をより適切に検出することができる。 In this way, by taking into account the load on the spindle motor 31 detected in real time, a collision detection threshold that reflects the load on the spindle motor 31 can be set, making it possible to more accurately grasp the current situation. As a result, the collision detection threshold can be set more appropriately, and collisions of the robot 20 can be more accurately detected.
なお、本実施形態では、ロボット20のアームに取り付けられるエンドエフェクタとして切削工具30を例に挙げて、ロボット20が鋳物のバリ取りや溶接ビートを切削することを説明したが、これに限定されるものではない。例えば、ロボット20のアームに、エンドエフェクタとして適切な工具を取り付けて、穴あけ、面取り、エミンドル(切削加工の一種)、研磨、リーマ(穴あけの仕上げ)、カッティング等に、本発明を適用しても構わない。 In this embodiment, the robot 20 has been described as removing burrs from castings or cutting weld beads, using a cutting tool 30 as an example of an end effector attached to the arm of the robot 20, but this is not limited to this. For example, the present invention may be applied to drilling, chamfering, emindling (a type of cutting), polishing, reaming (finishing holes), cutting, etc., by attaching an appropriate tool as an end effector to the arm of the robot 20.
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。 The embodiments described above are intended to facilitate understanding of the present invention and are not intended to limit the scope of the present invention. The elements included in the embodiments, as well as their arrangement, materials, conditions, shape, size, etc., are not limited to those illustrated and can be modified as appropriate. Furthermore, configurations shown in different embodiments can be partially substituted or combined.
10…ロボットシステム、20…ロボット、21…サーボモータ、30…切削工具、31…スピンドルモータ、32…スピンドルモータ制御装置、100…ロボット制御装置、110…サーボモータ制御部、120…トルク監視部、130…負荷算出部、140…衝突検知閾値設定部、150…衝突判定部、160…記憶部、M100…ロボットの衝突検知方法、S110~S180…ロボットの衝突検知方法M100の各ステップ 10...Robot system, 20...Robot, 21...Servo motor, 30...Cutting tool, 31...Spindle motor, 32...Spindle motor control device, 100...Robot control device, 110...Servo motor control unit, 120...Torque monitoring unit, 130...Load calculation unit, 140...Collision detection threshold setting unit, 150...Collision determination unit, 160...Memory unit, M100...Robot collision detection method, S110-S180...Steps of robot collision detection method M100
Claims (3)
前記ロボットに掛かるトルクを監視するトルク監視部と、
前記ロボットのアームに取り付けられる工具を駆動させるスピンドルモータに掛かる負荷を、所定期間においてサンプリングされた複数の前記スピンドルモータに掛かる負荷に基づいて算出する負荷算出部と、
前記負荷算出部によって算出された前記スピンドルモータに掛かる負荷に応じた衝突検知閾値を設定する衝突検知閾値設定部と、
少なくとも前記監視されているトルクと前記設定された衝突検知閾値とに基づいて、前記ロボットの衝突を判定する衝突判定部と、を備え、
前記衝突検知閾値設定部は、前記工具がワークに接して実行される作業中でない非作業中に対応する第1閾値、前記作業中に対応する第2閾値、及び前記スピンドルモータに掛かる負荷率に応じた閾値のいずれかを設定する、
ロボット制御装置。 A robot control device for controlling the operation of a robot,
a torque monitoring unit that monitors a torque applied to the robot;
a load calculation unit that calculates a load applied to a spindle motor that drives a tool attached to an arm of the robot based on a plurality of loads applied to the spindle motor sampled over a predetermined period ;
a collision detection threshold setting unit that sets a collision detection threshold according to the load applied to the spindle motor calculated by the load calculation unit ;
a collision determination unit that determines a collision of the robot based on at least the monitored torque and the set collision detection threshold ,
the collision detection threshold setting unit sets one of a first threshold corresponding to a non-working state in which the tool is not in contact with a workpiece, a second threshold corresponding to the work being performed, and a threshold corresponding to a load rate applied to the spindle motor.
Robot control device.
請求項1に記載のロボット制御装置。 the collision detection threshold setting unit sets the collision detection threshold depending on whether or not the tool is in contact with a workpiece during an operation.
The robot control device according to claim 1 .
前記スピンドルモータを制御するスピンドルモータ制御装置と、
前記ロボットの動作を制御するとともに前記スピンドルモータ制御装置に動作指示するロボット制御装置と、を備え、
前記ロボット制御装置は、
前記ロボットに掛かるトルクを監視するトルク監視部と、
前記スピンドルモータに掛かる負荷を、所定期間においてサンプリングされた複数の前記スピンドルモータに掛かる負荷に基づいて算出する負荷算出部と、
前記負荷算出部によって算出された前記スピンドルモータに掛かる負荷に応じた衝突検知閾値を設定する衝突検知閾値設定部と、
少なくとも前記監視されているトルクと前記設定された衝突検知閾値とに基づいて、前記ロボットの衝突を判定する衝突判定部と、を含み、
前記衝突検知閾値設定部は、前記工具がワークに接して実行される作業中でない非作業中に対応する第1閾値、前記作業中に対応する第2閾値、及び前記スピンドルモータに掛かる負荷率に応じた閾値のいずれかを設定する、
ロボットシステム。 a spindle motor that drives a tool attached to the arm of the robot;
a spindle motor control device that controls the spindle motor;
a robot control device that controls the operation of the robot and instructs the spindle motor control device to operate;
The robot control device
a torque monitoring unit that monitors a torque applied to the robot;
a load calculation unit that calculates a load applied to the spindle motor based on a plurality of loads applied to the spindle motor sampled over a predetermined period ;
a collision detection threshold setting unit that sets a collision detection threshold according to the load applied to the spindle motor calculated by the load calculation unit ;
a collision determination unit that determines a collision of the robot based on at least the monitored torque and the set collision detection threshold ,
the collision detection threshold setting unit sets one of a first threshold corresponding to a non-working state in which the tool is not in contact with a workpiece, a second threshold corresponding to the work being performed, and a threshold corresponding to a load rate applied to the spindle motor.
Robot system.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022033451A JP7804490B2 (en) | 2022-03-04 | 2022-03-04 | Robot control device and robot system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022033451A JP7804490B2 (en) | 2022-03-04 | 2022-03-04 | Robot control device and robot system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023128823A JP2023128823A (en) | 2023-09-14 |
| JP7804490B2 true JP7804490B2 (en) | 2026-01-22 |
Family
ID=87972428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022033451A Active JP7804490B2 (en) | 2022-03-04 | 2022-03-04 | Robot control device and robot system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7804490B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016137529A (en) | 2015-01-26 | 2016-08-04 | 大同特殊鋼株式会社 | Cutting device |
| WO2021192071A1 (en) | 2020-03-25 | 2021-09-30 | 株式会社Fuji | Workpiece processing apparatus |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5893684B2 (en) * | 2014-07-09 | 2016-03-23 | ファナック株式会社 | Robot control device for preventing erroneous determination by collision determination unit |
-
2022
- 2022-03-04 JP JP2022033451A patent/JP7804490B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016137529A (en) | 2015-01-26 | 2016-08-04 | 大同特殊鋼株式会社 | Cutting device |
| WO2021192071A1 (en) | 2020-03-25 | 2021-09-30 | 株式会社Fuji | Workpiece processing apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023128823A (en) | 2023-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6226914B2 (en) | Servo motor stop control device that controls and stops the servo motor during an emergency stop | |
| EP1477284B1 (en) | Drive control method and drive controller | |
| JP5395720B2 (en) | Power failure control device | |
| CN110977972B (en) | Multi-joint robot collision detection method, computer-readable storage medium and robot | |
| US8457787B2 (en) | Method and control device for targeted reaction in the event of a contact between a machine element of a machine and an object | |
| US20120221137A1 (en) | Machine tool comprising a device for collision monitoring | |
| JP4261470B2 (en) | Control device | |
| US20200290207A1 (en) | Real-time identification of burr size and location for robotic deburring process | |
| JPH0775936A (en) | Machining system by drill | |
| JPH06284764A (en) | Servo motor position controller | |
| JPH096432A (en) | Control system abnormality detection device | |
| JPH07195256A (en) | Control device, machine tool using the same, torque measuring device, and tool breakage detection device | |
| JP3606595B2 (en) | Machine tool control device | |
| JP2001047342A (en) | Machine tool | |
| JPWO2020149316A1 (en) | Machine tool external processing system | |
| JP7804490B2 (en) | Robot control device and robot system | |
| JPH10143216A (en) | Collision detector for movable unit | |
| US20150266152A1 (en) | Motor control apparatus capable of protecting process face at the time of occurrence of abnormal load | |
| US10564630B2 (en) | Numerical controller | |
| JP7422215B2 (en) | articulated robot | |
| JP6923581B2 (en) | Control system for industrial robots | |
| JPH09305235A (en) | Method and device for controlling position of servomotor | |
| US10996655B2 (en) | Numerical controller | |
| JP2002328707A (en) | Numerical control unit | |
| JPH11165240A (en) | Feed axis control method and apparatus in numerical control |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250115 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20251029 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20251031 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251128 |
|
| 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: 20251217 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260109 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7804490 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |