Robot control apparatus and robot system
Patent Information
- Application Number
- JP2024574169
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2025-05-29
- Publication Date
- 2025-10-22
AI Technical Summary
Robots face challenges in transporting objects without causing them to fall due to fluctuations in holding force, which can lead to increased cycle times when holding force decreases or unnecessary speed reductions when it increases.
A robot control device that adjusts the jerk and acceleration limits based on the holding force, using a processor and storage device to manage the transportation route, ensuring the object is transported without falling while minimizing cycle time.
The solution prevents objects from falling even with decreased holding force, reduces costs by not requiring excessive suction force, and shortens cycle times when holding force increases, while maintaining efficient transportation.
Abstract
Description
Robot control device and robot system
[0001] The present disclosure relates to a robot control device and a robot system, and more particularly to a robot control device that controls the operation of a robot that holds and transports an object, and a robot system that includes a robot control device and a robot.
[0002] Patent Documents 1, 2, and 3 describe technologies for preventing a robot from dropping an object when holding and transporting the object by controlling acceleration or by modifying the shape of the robot hand.
[0003] Patent Document 1 describes a loading device in which the operating mode of an industrial robot is set according to the condition of the loaded goods. Specifically, in the loading device described in Patent Document 1, when the specification parameters of the goods to be loaded according to the instruction device are within predetermined values, the control device operates the industrial robot to handle the goods at normal acceleration. On the other hand, when the specification parameters of the goods to be loaded exceed the predetermined values, the loading device operates the industrial robot at a lower acceleration than during normal handling operations. This operation of the loading device prevents problems such as the falling of the held goods due to insufficient gripping capacity of the handle when loading large goods, and increased errors in the stacking position.
[0004] Patent Document 2 describes a simulation device for easily and accurately simulating the holding operation of a device that holds a workpiece. Specifically, Patent Document 2 describes a simulation device that simulates whether an article can be held by a holding unit provided on a robot, and includes a holding success / failure determination unit that determines whether the holding unit can hold the article based on the movement speed or acceleration of the holding unit and the movement path of the holding unit, and on the mass of the article.
[0005] Patent Document 3 describes a food holding device that can securely hold food in a limited work space and improve the efficiency of food packing work. Specifically, Patent Document 3 describes a food holding device in which food bodies are contained in bags. This holding device includes multiple pairs of holding members configured to sandwich and hold, along a predetermined direction, the tops of multiple food bags stacked in a predetermined direction at predetermined positions. Two pairs of holding members adjacent to each other in the predetermined direction are located at different positions in a direction perpendicular to the predetermined direction.
[0006] JP 6-286875 A JP 2018-103339 A JP 2019-922 A
[0007] When a robot hand holds and transports an object such as luggage, the force with which the object is held (hereinafter referred to as holding force) may fluctuate depending on the shape of the object, the state in which the object is being held, or the surrounding conditions. If the holding force decreases, there is a possibility that the object will fall during transport due to a change in speed. If the object is transported at a low speed to prevent it from falling even when the holding force decreases, the cycle time will be longer. On the other hand, if the holding force increases, there is no need to transport it at a low speed. For this reason, there is a demand for a robot control device and a robot system that can transport an object without dropping it and without unnecessarily increasing the cycle time, even if the holding force fluctuates.
[0008] A first representative aspect of the present disclosure is a robot control device that controls the operation of a robot that lifts an object placed at a first point and places the object at a second point, comprising: at least one processor; and at least one storage device that can store information regarding a transport path of the object from the first point to the second point and a program executed by the at least one processor, wherein the at least one processor, based on the program, sets a jerk of the robot to a limit value or less when accelerating or decelerating the object in a horizontal direction on the transport path, and changes the limit value of the jerk according to the holding force with which the robot holds the object.
[0009] A second representative aspect of the present disclosure is a robot system including the robot control device of the first aspect and a robot controlled by the robot control device.
[0010] BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a configuration diagram showing a configuration example of a robot system according to an embodiment of the present invention. Fig. 2 is a diagram explaining the transport of luggage between pallets by a suction hand. Fig. 3 is a diagram showing a transport path of luggage by a suction hand. Fig. 4 is a functional block diagram of a motor control unit including a function of controlling a jerk limit value by a negative pressure value. Fig. 5 is a functional block diagram of a motor control unit including a function of controlling a speed correction value and an acceleration limit value by a negative pressure value. Fig. 6 is a configuration diagram showing a suction hand equipped with an acceleration sensor. Fig. 7 is a flowchart showing the control operation of a robot control device. Fig. 8 is a block diagram showing a configuration example when the robot control device is configured using a computer.
[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present disclosure will be described in detail below with reference to the accompanying drawings. Fig. 1 is a block diagram showing an example of the configuration of a robot system according to an embodiment of the present disclosure.
[0012] 1, the robot system 10 includes a robot 100 that transports an object, and a robot controller 200 that controls the operation of the robot 100. The robot 100 and the robot controller 200 are connected via a cable.
[0013] The robot 100 includes a robot mechanism 101 and a suction hand 102 attached to the tip of the robot mechanism 101 .
[0014] The robot mechanism 101 has a plurality of joint axes, each of which is provided with a motor. Each motor is controlled by an operation command from the robot control device 200. By controlling each motor, the robot mechanism 101 can move the suction hand 102 in the vertical and horizontal directions.
[0015] The suction hand 102 includes a vacuum generator, a regulator that generates negative pressure, and a pressure gauge that measures the negative pressure. The suction hand 102 includes a plurality of suction pads (also called vacuum pads) 1021, the interior of which is kept at negative pressure by the vacuum generator and the regulator. The suction pads 1021 are kept at negative pressure inside, and the suction pads 1021 suck the surface of the load, thereby enabling the load to be transported.
[0016] The following describes the transport operation of the suction hand using FIGS. 2 and 3 . FIG. 2 is a diagram illustrating the transport of the bag-shaped item 300 between pallets using the suction hand. FIG. 3 is a diagram illustrating the transport path of the item using the suction hand. In FIG. 3 , positions A1, A2, A3, B3, B2, and B1 indicate positions where the suction pad 1021 located at the center of the suction hand 102 comes into contact with the bag-shaped item 300. Positions A1, A2, A3, B3, B2, and B1 change when the item being transported changes, and the transport path of the item also changes. The robot control device 200 controls the movement operation of the suction hand 102 by the robot mechanism unit 101 and the suction and release operations of the suction hand 102. As shown in FIGS. 2 and 3 , the suction hand 102 transports the bag-shaped item 300 placed on the pallet 400A to the pallet 400B along the transport path of the item 300 in the order of positions A1, A2, A3, B3, B2, and B1. The suction hand 102 performs a suction operation at position A1, and a release operation at position B1. In this embodiment, the first point refers to, for example, position A1 on pallet 400A. In this embodiment, the second point refers to, for example, position B1 on pallet 400B.
[0017] The transport path from position A1 to position B1 includes a section where the speed fluctuation of the suction hand 102 is small, a section where the speed fluctuation of the suction hand 102 is large, and a section where the speed fluctuation of the suction hand 102 is mixed with large and small fluctuations. The sections where the speed fluctuation of the suction hand 102 is small are between position A1 and position A2 and between position B2 and position B1. The sections where the speed fluctuation of the suction hand 102 is large are between position A2 and position A3 and between position B3 and position B2. The section where the speed fluctuation of the suction hand 102 is mixed with large and small fluctuations is between position A3 and position B3.
[0018] The reason why the speed fluctuation is large between positions A2 and B2 is that the distance between positions A2 and B2 is longer than the distance between positions A1 and A2 or between positions B2 and B1, and the speed needs to be increased or decreased rapidly. The reason why the speed fluctuation of the suction hand 102 is sometimes large and sometimes small between positions A3 and B3 is that it is sometimes desired to increase the amount of speed fluctuation in consideration of the cycle time, etc.
[0019] Between positions A1 and A2, there is an acceleration / deceleration section where vertical conveyance starts from a stop, then decelerates vertically, and then stops. Between positions B2 and B1, there is an acceleration / deceleration section where vertical conveyance starts from a stop, then decelerates vertically, and then stops. Between positions A2 and A3, there is an acceleration section where horizontal conveyance starts from a stop at position A2, and accelerates horizontally. Between positions B3 and B2, there is a deceleration section where deceleration occurs horizontally, and then stops at position B2. Between positions A3 and B3, there is an acceleration / deceleration section where acceleration / deceleration occurs horizontally.
[0020] The suction hand 102 is equipped with a regulator that controls the negative pressure, but the negative pressure may fluctuate depending on the shape of the load being transported, the state of gripping by the suction hand 102, and the surrounding conditions. When the negative pressure fluctuates, the force with which the suction hand 102 suctions the load 300 (hereinafter referred to as suction force) fluctuates. The value of the negative pressure indicates the suction force that acts as a holding force. When the load being transported is bag-shaped, the surface of the load is more likely to bend and return to its original shape along the transport path than when it is box-shaped, causing the value of the negative pressure to fluctuate more easily than when it is box-shaped.
[0021] Between positions A2 and A3 and between positions B3 and B2, where speed fluctuations are large, if the negative pressure decreases and the suction force of the suction hand 102 decreases, the impact force due to the change in acceleration is large, and the load may fall. For example, if the speed command shown in FIG. 4 is input as a step command, the acceleration command becomes an impulse command, and if a sudden impact force is applied during transport and the suction force decreases, the load may fall. On the other hand, if the negative pressure increases and the suction force of the suction hand 102 increases, the load is less likely to fall, even if the impact force due to the change in acceleration is large. Therefore, between positions A2 and A3 and between positions B3 and B2, the jerk command (jerk is also called jerk) is set to a limit value or less, and this limit value is controlled by the negative pressure value output from the pressure gauge of the suction hand 102. If the negative pressure decreases and the suction force, which is the holding force of the suction hand 102, decreases, the limit value is reduced to prevent the load from falling. On the other hand, if the negative pressure increases and the suction force of the suction hand 102, which serves as a holding force, increases, the limit value is increased to further shorten the cycle time. Hereinafter, this limit value will be referred to as the jerk limit value. An example of this control will be described later using the functional block diagram shown in FIG. 4.
[0022] Between positions A1 and A2 and between positions B2 and B1, where speed fluctuations are small, even if the suction force of the suction hand 102 decreases due to a decrease in negative pressure, the distance is short, resulting in a small change in acceleration, making it unlikely that the load will fall due to an impact force. However, if a large force is applied to the load due to a large acceleration, the load may fall. If the negative pressure increases and the suction force of the suction hand 102 increases, the load is unlikely to fall even if the acceleration is high. Therefore, between positions A1 and A2 and between positions B2 and B1, the acceleration command is set to a limit value or less, and this limit value is controlled by the negative pressure value output from the pressure gauge of the suction hand 102. If the negative pressure decreases and the suction force, which serves as the holding force of the suction hand 102, decreases, the limit value is reduced to prevent the load from falling. On the other hand, if the negative pressure increases and the suction force, which serves as the holding force of the suction hand 102, increases, the limit value is increased to further shorten the cycle time. Hereinafter, this limit value is referred to as the acceleration limit value. An example of this control will be described later using the functional block diagram shown in FIG. 5.
[0023] Between positions A3 and B3, the speed fluctuation of the suction hand 102 may be large or small. When the speed fluctuation is large, the load may fall depending on the amount of negative pressure fluctuation. Therefore, when the amount of negative pressure fluctuation is greater than the threshold, the jerk command is set to a value equal to or less than the jerk limit value, and this jerk limit value is controlled by the value of the negative pressure, as is the case between positions A2 and A3 and between positions B3 and B2. When the amount of negative pressure fluctuation is equal to or less than the threshold, the acceleration command is set to a value equal to or less than the acceleration limit value, and this acceleration limit value is controlled by the value of the negative pressure, as is the case between positions A1 and A2 and between positions B2 and B1. The amount of negative pressure fluctuation corresponds to the amount of fluctuation in the holding force. In this way, between positions A3 and B3, control of the jerk command to a value equal to or less than the jerk limit value or control of the acceleration command to a value equal to or less than the acceleration limit value is switched depending on the amount of negative pressure fluctuation.
[0024] Between positions A3 and B3, the acceleration command is set to be equal to or less than the acceleration limit value, and instead of or in addition to controlling this acceleration limit value based on the negative pressure value output from the pressure gauge of the suction hand 102, the speed may be changed based on the negative pressure value output from the pressure gauge of the suction hand 102. Even if the negative pressure decreases and the suction force of the suction hand 102, which serves as the holding force, decreases, the likelihood of the load falling is low if the change in speed is sufficiently small. Simply changing the speed based on the negative pressure value output from the pressure gauge of the suction hand 102 can prevent the load from falling. Therefore, a speed correction value is added to reduce the speed change in the speed command. On the other hand, if the negative pressure increases and the suction force of the suction hand 102 increases, the load is unlikely to fall even if the speed change is large. Therefore, a speed correction value is added to increase the speed change in the speed command, further shortening the cycle time. In this way, the speed correction value is controlled based on the negative pressure value output from the pressure gauge of the suction hand 102. An example of this control will be described later using the functional block diagram shown in FIG. 5. Similar control can be performed between positions A1 and A2, and between positions B2 and B1.
[0025] The following describes the function of robot controller 200, which sets the jerk command equal to or less than the jerk limit value and controls this jerk limit value using the value of negative pressure, using the functional block diagram of FIG. 4. FIG. 4 is a functional block diagram of a motor control unit including the function of controlling the jerk limit value using the value of negative pressure. Motor control unit 200A shown in FIG. 4 is included in robot controller 200 and controls the motor of robot mechanism unit 101. As shown in FIG. 4, motor control unit 200A includes a subtractor 201, an acceleration command generator 202, a subtractor 203, a jerk command generator 204, a jerk variable limiter 205, an integrator 206, a torque command generator 207, and a subtractor 208.
[0026] The subtractor 201 subtracts the input speed command ω ref and the speed response ω res The difference between these values is calculated and output to the acceleration command generator 202 as the velocity deviation.
[0027] The speed command is generated based on a program that operates the motor that drives the joint axis of the robot mechanism unit 101. The speed response is the detected speed detected by a rotary encoder associated with the motor.
[0028] The acceleration command generator 202 multiplies the velocity deviation by the velocity gain Kω to obtain an acceleration command a ref is output to the subtractor 203.
[0029] The subtractor 203 calculates the acceleration command a ref and acceleration response a res The difference between these is calculated and output as an acceleration deviation to the jerk command generating unit 204. The acceleration response can be calculated by differentiating the velocity response.
[0030] The jerk command generator 204 multiplies the acceleration deviation by the acceleration gain K1a to generate a jerk command J ref is output to the variable jerk limiter 205.
[0031] The jerk variable limiter 205 is configured to limit the jerk command J ref The jerk of the jerk command J' is suppressed to be equal to or less than the jerk limit value. refis output to the integrator 206. The variable jerk limiter 205 controls this jerk limit value based on the negative pressure value output from the pressure gauge of the suction hand 102.
[0032] The integrator 206 calculates the jerk command J'. ref is integrated to obtain an acceleration command a' in which the jerk is suppressed to be equal to or less than the jerk limit value. ref and outputs it to the torque command generation unit 207.
[0033] The torque command generator 207 generates an acceleration command a′. ref is multiplied by the acceleration gain K2a to obtain the torque command τ ref The subtractor 208 outputs the torque command τ ref and torque response τ res The difference between these values is calculated and output as an operation command to the motor of the joint axis of the robot mechanism unit 101. The torque response can be calculated by measuring the current value of the motor and multiplying the measured current value by a torque multiplier.
[0034] Next, using the functional block diagram of FIG. 5 , the function of the robot controller 200 to set an acceleration command equal to or less than an acceleration limit value, control this acceleration limit value using the negative pressure value, and calculate a speed correction value for correcting the speed command using the negative pressure value will be described. FIG. 5 is a functional block diagram of a motor control unit including a function to control the speed correction value and the acceleration limit value using the negative pressure value. The motor control unit 200B shown in FIG. 5 is included in the robot controller 200 and controls the motor of the robot mechanism unit 101. As shown in FIG. 5 , the motor control unit 200B includes an adder 211, a subtractor 212, an acceleration command generator 213, a variable acceleration limiter 214, a torque command generator 215, and a subtractor 216.
[0035] The adder 211 receives the speed command ω ref and the speed correction value ω ass The sum of these is output to the subtractor 212 as a corrected speed command.
[0036] The subtractor 212 outputs the corrected speed command ω ref and the speed response ω resThe difference between the speed response and the rotational speed response is calculated and output as a speed deviation to the acceleration command generator 213. The speed response is the detected speed detected by a rotary encoder associated with the motor.
[0037] The acceleration command generator 213 multiplies the velocity deviation by the velocity gain Kω to obtain an acceleration command a ref is output to the acceleration variable limiter 214.
[0038] The acceleration variable limiter 214 is configured to ref The acceleration of the acceleration command a' is suppressed to be equal to or less than the acceleration limit value. ref to the torque command generating unit 215. The variable acceleration limiter 214 controls the acceleration limit value based on the negative pressure value output from the pressure gauge of the suction hand 102.
[0039] The torque command generator 215 generates an acceleration command a′. ref is multiplied by the acceleration gain Kb to obtain the torque command τ ref is output to the subtractor 216.
[0040] The subtractor 216 calculates the torque command τ ref and torque response τ res The difference between these values is calculated and output as an operation command to the motor of the joint axis of the robot mechanism unit 101. The torque response can be calculated by measuring the current value of the motor and multiplying the measured current value by a torque multiplier.
[0041] The correction value calculation unit 217 calculates the speed correction value ω ass is calculated from the negative pressure value output from the pressure gauge of the suction hand 102.
[0042] The configuration of the functional blocks of the motor control units 200A and 200B described above is one example, and the configuration other than the configuration in which the jerk limit value of the jerk variable limiter 205 and the acceleration limit value and speed correction value of the acceleration variable limiter 214 are controlled by the negative pressure value output from the pressure gauge of the suction hand 102 is not limited to the configuration shown in Figures 4 and 5. For example, although P control is performed in the configurations shown in Figures 4 and 5, other control, such as PI control, may also be performed. Furthermore, in the configurations shown in Figures 4 and 5, in order to perform torque control, a torque command τref and torque response τ res The difference between the torque response τ res Torque command τ ref may be used as an operation command so that torque control is not performed.
[0043] In addition, in the configurations shown in FIGS. 4 and 5, the speed response ω res , acceleration response a res In the past, the acceleration response was calculated using the velocity detected by the rotary encoder, but the acceleration may be detected by an acceleration sensor attached to the suction hand 102, and the velocity may be calculated by integrating the detected acceleration, and the acceleration response and velocity response may be obtained. FIG. 6 is a configuration diagram showing a suction hand equipped with an acceleration sensor. The suction hand 102A is equipped with an acceleration sensor 110. The robot control device 200 integrates the acceleration detected by the acceleration sensor 110 to calculate the velocity, and the acceleration response and velocity response may be obtained.
[0044] The control operation of the robot control device will be described below. Fig. 7 is a flowchart showing the control operation of the robot control device. As shown in Fig. 3, the robot control device 200 controls the suction hand 102 to convey the bag-shaped item 300 along a conveying path in the order of positions A1, A2, A3, B3, B2, and B1. In the following description, it is assumed that horizontal conveyance is performed between positions A3 and B3 by varying the speed command correction value and acceleration limit based on fluctuations in negative pressure, as shown in Fig. 5.
[0045] In step S10, the robot control device 200 moves the suction hand 102 onto the pallet 400A using the robot mechanism unit 101, and as shown in Figure 2, creates negative pressure inside the suction pad of the suction hand 102 on the pallet 400A, causing the cargo 300 to be adsorbed onto the suction hand 102.
[0046] In step S11, as shown in FIG. 5, the robot control device 200 varies the speed correction value and the acceleration limit value based on the fluctuation of the negative pressure, and controls the robot mechanism unit 101 to raise the suction hand 102 from position A1 to position A2 and stop it at position A2.
[0047] In step S12, the robot control device 200 varies the jerk limit value based on the variation in negative pressure, as shown in FIG. 4, and controls the robot mechanism unit 101 to transport the suction hand 102 from position A2 to position A3 with horizontal acceleration.
[0048] In step S13, the robot control device 200 varies the speed correction value and the acceleration limit value based on the fluctuation in negative pressure, as shown in Figure 5, and controls the robot mechanism unit 101 to transport the suction hand 102 horizontally from position A3 to position B3.
[0049] In step S14, as shown in FIG. 4, the robot control device 200 varies the jerk limit value based on the variation in negative pressure, and controls the robot mechanism unit 101 to horizontally decelerate and transport the suction hand 102 from position B3 to position B2, and stops it at position B2.
[0050] In step S15, as shown in FIG. 5, the robot control device 200 varies the speed correction value and the acceleration limit value based on the fluctuation in negative pressure, and controls the robot mechanism unit 101 to lower the suction hand 102 from position B2 to position B1, and stops it at position B1 on the pallet 400B.
[0051] 2, the robot control device 200 applies normal pressure to the inside of the suction pad of the suction hand 102 on the pallet 400B, thereby detaching the load 300 from the suction hand 102. Through the operations from step S10 to step S16, the load 300 is transported from the pallet 400A onto the pallet 400B.
[0052] The components included in the robot control device of the above-described embodiment can be realized by hardware, software, or a combination thereof. "Implemented by software" here means that the components are implemented by a computer reading and executing a program. To realize the components included in the robot control device by software or a combination thereof, the robot control device includes a processor such as a CPU (Central Processing Unit). The processor functions as an execution unit. The robot control device may also include multiple processors operating in parallel. The robot control device also includes an auxiliary storage device such as an HDD (Hard Disk Drive) that stores various programs such as application software or an OS (Operating System), and a main storage device such as a RAM (Random Access Memory) that stores programs required by the processor to execute the functions shown in FIG. 4 or FIG. 5 and the operations shown in FIG. 7 and data temporarily required by the programs. The robot control device may also include multiple main storage devices. The data stored therein is, for example, information regarding the transport route from a first position A1 to a second position B1. This information includes coordinate information for positions A1, A2, A3, B3, B2, and B1. The positions A1, A2, A3, B3, B2 and B1 are changed when the transported luggage changes, and the transport route of the luggage is also changed.
[0053] The robot controller has a processor that reads application software or an OS from the auxiliary storage device, and then loads the loaded application software or OS into the main storage device while performing arithmetic processing based on the application software or OS. Furthermore, the processor controls various hardware components of the robot controller based on the results of this arithmetic processing. This realizes the functional blocks of this embodiment.
[0054] Fig. 8 is a block diagram showing an example of the configuration of a robot control device configured as a computer. As shown in Fig. 8, the computer serving as the robot control device includes a memory 221 serving as a main storage device, a CPU 222, an I / O unit 223 for connecting to the robot 100 via a cable, a disk device 224 such as an HDD serving as an auxiliary storage device, and a display unit 225. The display unit 225 displays the number of times the package has been transported, the fluctuation value of the negative pressure, etc.
[0055] The components included in the robot control device can be realized by hardware including electronic circuits, etc. When the robot control device is configured by hardware, some or all of the functions of the components included in the robot control device can be configured by integrated circuits (ICs), such as application specific integrated circuits (ASICs), gate arrays, field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), etc.
[0056] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, programmable ROMs (PROMs), erasable PROMs (EPROMs), flash ROMs, and random access memories (RAMs)). The program may also be supplied to a computer by various types of transitory computer-readable media.
[0057] As described above, the present embodiment can provide the following advantages: (1) Because the object does not fall even if the suction force decreases, there is no need to use a robot hand with a strong suction force, which reduces costs and prevents the object from being deformed by the increased suction force.
[0058] (2) When the attraction force increases, the speed correction value, acceleration limit value, and jerk limit value can be increased, thereby shortening the cycle time.
[0059] (3) Even if the suction force decreases, by reducing the acceleration limit value and the jerk limit value, it is possible to suppress vibration of the object being transported during the transport operation and prevent the object from falling.
[0060] (4) Even if the adhesive force decreases, by reducing the jerk limit value, it is possible to prevent the object from falling without applying a reaction force close to an impact force to the robot.
[0061] (Modifications) In the above-described embodiment, an example was given in which a suction hand was used as a robot hand to transport luggage. However, the robot hand is not limited to a suction hand, and a hand gripper using negative or positive pressure, a hand gripper using fluid, or the like may also be used as the robot hand. Furthermore, a magnetic hand that uses magnetic force to perform suction may also be used as the robot hand.
[0062] (Example 1) In a hand gripper with fingers that bend when pressure is applied, if multiple systems share a negative pressure source, sufficient pressure cannot be applied, resulting in a weakened gripping force. Because there is a correlation between the applied pressure value and gripping force, it is possible to sense the applied pressure value and change the speed correction value, acceleration limit value, and jerk limit value based on the calculated gripping force.
[0063] (Example 2) A fluid-based hand gripper injects fluid into the gripper and charges it with magnetism or electricity, changing the fluid's viscosity and hardness, allowing it to grasp objects. One method for changing viscosity is to move a neodymium magnet or other magnetic material closer to or farther away from the fluid using a servo motor. Neodymium magnets have high coercivity and are not prone to natural demagnetization. However, multiple movements with a servo motor can demagnetize the neodymium magnet as the servo motor itself heats up. Demagnetization reduces the viscosity, which can lead to a decrease in gripping force. Other methods include using electrical properties to generate magnetism or using a fluid whose viscosity changes when charged with electricity. However, both methods require electricity for the robot hand. Power can be supplied by using the robot's servo amplifier or an external power source such as a DC stabilized power supply. However, satisfactory gripping force may not be achieved if the robot shares a ground with a robot that requires high power wiring, or if the state of the fluid when electricity is passed through the wires fluctuates due to fluctuations in the power supply, such as when the electricity is turned on or off. In both cases, magnetic flux density or fluid resistance, and current fluctuations due to interference from other environments can be observed using magnetic sensors or current sensors, and from these values, fluctuations in the gripping force that becomes the holding force can also be calculated.Since these values can be used as reference values to determine the speed correction value, acceleration limit value, and jerk limit value mentioned above, the method described in the above embodiment is also effective in gripping hands that use fluids, etc.
[0064] (Third Example) A magnetic hand uses electromagnetic force to attract and transport metal parts and the like. While a gripping hand requires a wide transport path depending on the size of the hand, a magnetic hand can transport parts even in a narrow transport path by using magnetic force to attract and transport. As with the second example, even with electromagnetic force, the holding force varies depending on factors such as heat or current fluctuations. Furthermore, even for circular or corrugated objects whose holding surface is not flat, the electrical resistance and magnetic flux density vary depending on the holding area. Therefore, the holding force can be calculated from values obtained from a current sensor, voltage sensor, or magnetic sensor. These values can be used as reference values for determining the speed correction value, acceleration limit value, and jerk limit value in the methods described in the above embodiments. Therefore, the methods described in the above embodiments are also effective for magnetic hands using electromagnetic force.
[0065] The effect of the robot control device and robot system of the embodiment and modified example described above is that even if the holding force fluctuates, the cycle time does not increase more than necessary and the object can be transported without dropping.
[0066] Although the present disclosure has been described above, the present disclosure is not limited to the individual embodiments and modifications described above. Various additions, substitutions, changes, partial deletions, etc. are possible to these embodiments and modifications within the scope of the gist of the present disclosure, or within the scope of the gist of the present disclosure derived from the content of the claims and their equivalents. Furthermore, these embodiments and modifications can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these.
[0067] The following supplementary notes are further disclosed regarding the above-described embodiment and modified examples: (Supplementary Note 1) A robot control device (200) for controlling the operation of a robot (100) that lifts an object placed at a first point and places the object at a second point, comprising: at least one processor (222); and at least one storage device (221) capable of storing information about a transport path of the object from the first point to the second point and a program executed by the at least one processor, wherein the at least one processor (222) sets a jerk of the robot to a limit value or less based on the program when accelerating or decelerating the object in a horizontal direction on the transport path, and changes the limit value of the jerk in accordance with a holding force with which the robot holds the object.
[0068] (Supplementary Note 2) The robot control device according to Supplementary Note 1, wherein the at least one processor (222) changes the speed of the robot or changes a limit value of the acceleration of the robot according to the holding force when moving the object horizontally on the transport path.
[0069] (Supplementary Note 3) The robot control device according to Supplementary Note 1 or 2, wherein the at least one processor (222) changes a limit value of the acceleration of the robot according to the holding force when the object moves vertically on the transport path.
[0070] (Supplementary Note 4) The robot control device according to any one of Supplementary Notes 1 to 3, wherein the holding force changes over time.
[0071] (Supplementary Note 5) The robot control device according to any one of Supplementary Notes 1 to 3, wherein the holding force varies over time, and the at least one processor (222) sets the jerk of the robot to be equal to or less than the limit value of the jerk when moving the object horizontally on the transport path if a fluctuation amount of the holding force is greater than a threshold value.
[0072] (Supplementary Note 6) The robot control device according to any one of Supplementary Notes 1 to 5, wherein the object is a bag-shaped piece of luggage (300).
[0073] (Supplementary Note 7) A robot system (10) comprising the robot control device (200) according to any one of Supplementary Notes 1 to 6, and a robot (100) controlled by the robot control device.
[0074] (Supplementary Note 8) The robot system according to Supplementary Note 7, wherein the robot includes a robot hand that holds the object by suction.
[0075] REFERENCE SIGNS LIST 10 Robot system 100 Robot 101 Robot mechanism 102 Suction hand 110 Acceleration sensor 200 Robot control device 201 Subtractor 202 Acceleration command generation unit 203 Subtractor 204 Jerk command generation unit 205 Jerk variable limiter 206 Integrator 207 Torque command generation unit 208 Subtractor 211 Adder 212 Subtractor 213 Acceleration command generation unit 214 Acceleration variable limiter 215 Torque command generation unit 216 Subtractor 217 Correction value calculation unit
Claims
1. A robot control device that controls an operation of a robot that lifts an object placed at a first point and places the object at a second point, at least one processor; at least one storage device capable of storing information regarding a transport path of the object from the first location to the second location and a program executed by the at least one processor; Equipped with The at least one processor, based on the program, When accelerating or decelerating the object in a horizontal direction along the transport path, a jerk of the robot is set to a limit value or less; A robot control device that changes the limit value of the jerk in accordance with a holding force by which the robot holds the object.
2. The at least one processor The robot control device according to claim 1 , wherein when the object is moved horizontally along the transport path, the speed of the robot or a limit value of the acceleration of the robot is changed according to the holding force.
3. The at least one processor The robot control device according to claim 1 , wherein when the object is moved in a vertical direction along the transport path, a limit value of the acceleration of the robot is changed in accordance with the holding force.
4. The robot control device according to claim 1 , wherein the holding force varies with time.
5. The holding force varies over time, The at least one processor 4. The robot control device according to claim 1, wherein, when the object is moved horizontally on the transport path, if a fluctuation amount of the holding force is greater than a threshold value, the jerk of the robot is set to be equal to or less than the limit value of the jerk.
6. The robot control device according to claim 1 , wherein the object is a bag-like piece of luggage.
7. A robot system comprising: the robot control device according to any one of claims 1 to 3; and a robot controlled by the robot control device.
8. The robot system according to claim 7 , wherein the robot includes a robot hand that holds the object by suction.