Robot control system, method for controlling same, and program

By integrating drive and control units at the base of the robot arm, the system addresses the weight-related decrease in back driverability, enhancing mobility and response speed, allowing for efficient and human-like reflexive operations.

WO2025022824A1PCT designated stage expired Publication Date: 2025-01-30TOYOTA JIDOSHA KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/020473
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-24
Filing Date
2024-06-05
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

Conventional robot control systems face a decrease in back driverability due to the weight increase caused by actuators and peripheral wiring in each joint of the robot arm, leading to reduced mobility and efficiency.

Method used

The integration of drive portions and transmission units at the base of the robot arm, with rotation detection and control units calculating posture and inertial values to optimize driving force distribution, reducing the need for actuators at the joints and improving weight distribution.

Benefits of technology

This configuration enhances back driverability by reducing weight and enabling high-speed, reflexive movements similar to those of humans, with improved response speed and reduced noise contamination during data communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024020473_30012025_PF_FP_ABST
    Figure JP2024020473_30012025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention improves the back drivability of an arm part of a robot. In the present invention, a robot control system comprises: an arm part or a leg part that extends from a body part of a robot and has at least one joint part positioned away from a base by a first prescribed distance or greater; at least one drive part that generates a drive force for rotatably driving the joint part; and at least one transmitting part that is provided between the corresponding joint part and the drive part and that transmits the drive force of the drive part to the corresponding joint part. The drive part is compactly incorporated in the base of the arm part or the leg part.
Need to check novelty before this filing date? Find Prior Art

Description

Robot control system, control method, and program

[0001] The present disclosure relates to a robot control system for controlling a robot, a control method thereof, and a program.

[0002] 2. Description of the Related Art A robot control system is known in which a drive unit for driving each joint of an arm of a robot is provided at each joint (see, for example, Patent Document 1).

[0003] Japanese Patent Application Publication No. 08-286759

[0004] In the robot control system, each joint of the arm is provided with a drive unit. It is also assumed that the arm operates using, for example, machine learning. Furthermore, the arm is provided with peripheral components, such as wiring, required for such a drive unit. This increases the weight of the robot's arm, potentially reducing backdrivability.

[0005] The present disclosure has been made to solve these problems, and its main purpose is to provide a robot control system, a control method thereof, and a program that can improve the backdrivability of a robot's arm section.

[0006] In order to achieve the above object, one aspect of the present disclosure is a robot control system comprising: an arm or leg extending from a robot main body and having at least one joint at a position spaced apart from a base by a first predetermined distance or more; at least one drive unit generating a drive force for rotationally driving the joint; and at least one transmission unit provided between a corresponding joint and the drive unit and transmitting the drive force of the drive unit to the corresponding joint, wherein the drive units are collectively provided at the base of the arm or leg. This aspect may further comprise: at least one rotation detection unit detecting rotation information of the drive unit; a first control unit calculating an attitude value of the robot based on the rotation information of the drive unit detected by the rotation detection unit; and at least one second control unit issuing a drive instruction to the corresponding drive unit based on the attitude value of the robot calculated by the first control unit, wherein the drive unit, the rotation detection unit, and the first and second control units may be collectively provided at the base of the arm or leg. In this aspect, the second control unit may output a current value to the first control unit in accordance with a torque applied to the corresponding drive unit, the first control unit may calculate an attitude value of the robot based on the current value from the second control unit and rotation information of the drive unit from the rotation detection unit, and the second control unit may issue a drive instruction to the corresponding drive unit based on the attitude value of the robot calculated by the first control unit. In this aspect, the first control unit may calculate an acceleration based on rotational position information of the drive unit detected by the rotation detection unit, calculate an attitude value of the robot based on rotational position information of each drive unit from the rotation detection unit, calculate an inertia value of the robot based on the calculated attitude value, calculate an inertia compensation value of the drive unit based on the calculated acceleration and inertia value, and output the calculated attitude value and inertia compensation value to the corresponding second control unit, and the second control unit may issue a drive instruction to the corresponding drive unit based on the attitude value and inertia compensation value from the first control unit.In this aspect, the robot may further include a third control unit provided at a position that is a second predetermined distance or more away from a base of the arm unit or leg, and the second control unit may issue a drive instruction to the corresponding drive unit in accordance with a command from either the first control unit or the third control unit. In this aspect, the second control unit may issue a drive instruction to the corresponding drive unit in accordance with a command from the first control unit when a collision of an object with the robot is detected, and may issue a drive instruction to the corresponding drive unit in accordance with a command from the third control unit when a collision of an object with the robot is not detected. One aspect of the present disclosure for achieving the above-mentioned object is a control method for a robot control system comprising: an arm or leg extending from a main body of a robot and having at least one joint at a position spaced a predetermined distance or more from a base; at least one drive unit generating a drive force for rotationally driving the joint; at least one transmission unit provided between a corresponding joint and the drive unit and transmitting the drive force of the drive unit to the corresponding joint; at least one rotation detection unit detecting rotation information of the drive unit; a first control unit; and at least one second control unit, wherein the drive unit, the rotation detection unit, the first control unit, and the at least one second control unit are collectively provided at the base of the arm or leg, the control method including: a step in which the first control unit calculates an attitude value of the robot based on the rotation information of the drive unit from the rotation detection unit; and a step in which the second control unit issues a drive instruction to the corresponding drive unit based on the attitude value of the robot calculated by the first control unit.One aspect of the present disclosure for achieving the above-mentioned object is a program for a robot control system comprising: an arm or leg extending from a main body of a robot and having at least one joint at a position that is a predetermined distance or more away from a base; at least one drive unit that generates a drive force that rotationally drives the joint; at least one transmission unit that is provided between a corresponding joint and the drive unit and that transmits the drive force of the drive unit to the corresponding joint; at least one rotation detection unit that detects rotation information of the drive unit; a first control unit; and at least one second control unit, wherein the drive unit, the rotation detection unit, the first control unit, and the at least one second control unit are collectively provided at the base of the arm or leg, the program causing a computer to execute the following steps: a process in which the first control unit calculates an attitude value of the robot based on the rotation information of the drive unit from the rotation detection unit; and a process in which the second control unit issues a drive instruction to the corresponding drive unit based on the attitude value of the robot calculated by the first control unit.

[0007] According to the present disclosure, it is possible to provide a robot control system, a control method thereof, and a program that can improve the backdrivability of an arm section of a robot.

[0008] FIG. 1 is a perspective view showing a schematic configuration of an arm section of a robot according to the present embodiment; FIG. 2 is a block diagram showing a schematic system configuration of a robot control system according to the present embodiment; FIG. 3 is a flowchart showing a flow of a control method for the robot control system according to the present embodiment; FIG. 4 is a block diagram showing a schematic system configuration of a robot control system according to the present embodiment; and FIG. 5 is a flowchart showing a flow of a control method for the robot control system according to the present embodiment.

[0009] Hereinafter, this embodiment will be described with reference to the drawings. Note that, although the following description will be made of an example in which the present invention is applied to the arm portion of a robot, the present invention can also be applied to the leg portion of a robot in the same manner as the arm portion, and therefore the description thereof will be omitted.

[0010] 1 is a perspective view showing a schematic configuration of an arm of a robot according to this embodiment. The arm 1 according to this embodiment extends from a robot main body 2 (hereinafter referred to as the robot main body). The robot main body 2 is configured as a base, but is not limited to this and may be configured as the torso of a humanoid robot, for example. The arm 1 is configured as an arm robot having one or more joints 3 via links or the like at a position at least a first predetermined distance from the base.

[0011] Each joint 3 may be configured to rotate around at least one of a yaw axis, a pitch axis, and a roll axis, which are orthogonal to one another. For example, as shown in FIG. 1 , the arm 1 has a wrist joint 31, an elbow joint 32, and a shoulder joint 33.

[0012] The shoulder joint 33 is provided at the base of the arm unit 1, and the wrist joint 31 and elbow joint 32 are provided at a position that is at least a predetermined distance away from the base of the arm unit 1. The wrist joint 31, elbow joint 32, and shoulder joint 33 are each configured to rotate around two axes, but are not limited to this, and may be configured to rotate around one axis or three or more axes, for example.

[0013] An end effector 11 capable of grasping an object is provided at the tip of the arm unit 1. A plurality of actuators 4 that generate driving forces to drive each joint unit 3 are collectively provided at the base of the arm unit 1.

[0014] The actuator 4 is a specific example of a drive unit. The actuator 4 is configured as, for example, a servo motor. Each actuator 4 generates a drive force that rotationally drives the rotation axis of the corresponding joint unit 3. In the example shown in FIG. 1 , eight actuators 4 that generate drive forces that rotate two axes, namely, the wrist joint 31, the elbow joint 32, and the shoulder joint 33, are collectively provided at the base of the arm unit 1.

[0015] 1, for example, a belt 5 is looped between each rotation shaft of the elbow joint 32 and the corresponding drive shaft of each actuator 4. The belt 5 is a specific example of a transmission unit. The drive shaft of each actuator 4 transmits driving force to each rotation shaft of the elbow joint 32 via the belt 5.

[0016] Similarly, a belt 5 is hung between each rotation shaft of the shoulder joint 33 and the corresponding drive shaft of the actuator 4. The drive shaft of each actuator 4 transmits drive force to each rotation shaft of the shoulder joint 33 via the belt 5. A wire 6 is hung between each rotation shaft of the wrist joint 31 and the corresponding drive shaft of the actuator 4. The drive shaft of each actuator 4 transmits drive force to each rotation shaft of the wrist joint 31 via the wire 6.

[0017] In the above example, the belt 5 and the wire 6 are used as the transmission unit, but the present invention is not limited to this. The transmission unit may be, for example, a chain, a gear, a shaft, or any other transmission member capable of transmitting the driving force of the actuator 4.

[0018] The encoder 7 is a specific example of a rotation detection unit. The encoder 7 is provided integrally with the actuator 4. The encoder 7 detects the rotation position of the drive shaft of the actuator 4. Note that the rotation detection unit is not limited to the encoder 7, and may be another angle sensor.

[0019] In conventional robot control systems, actuators are provided at each joint of the arm. Furthermore, the arm is also provided with peripheral components, such as wiring, required for the actuators. This increases the weight of the arm, potentially reducing backdrivability.

[0020] In contrast, in the robot control system 10 according to this embodiment, as described above, the actuators 4 are provided in a concentrated manner at the base of the arm unit 1. This eliminates the need to provide actuators and their peripheral components at the tip or middle of the arm unit 1. This leads to a significant reduction in the weight of the arm unit 1, and improves the backdrivability of the arm unit 1.

[0021] The improvement of back drivability is, for example, the improvement of T s , I a , C a , K. a By physically or virtually reducing one or more of the f It means to make something smaller. In the above equation (1), Ts is the static friction force, θ is the actuator output shaft angle, Ka is the stiffness coefficient, and Ca is the viscosity coefficient. Ia is the inertia coefficient, for example, the nominal value of the moment of inertia of the motor. FIG. 2 is a block diagram showing a schematic system configuration of a robot control system according to this embodiment. As shown in FIG. 2, the robot control system according to this embodiment includes first to sixth actuators 41 to 46, first to sixth encoders 71 to 76, a lower-level CPU 20, and first to sixth servo amplifiers 21 to 26. Note that, although an example consisting of six actuators, encoders, and servo amplifiers will be described below, this is not limiting, and any number of actuators, encoders, and servo amplifiers may be used.

[0022] The first actuator 41 generates a driving force for the first rotation axis of the wrist joint 31. The second actuator 42 generates a driving force for the second rotation axis of the wrist joint 31. The third actuator 43 generates a driving force for the first rotation axis of the elbow joint 32. The fourth actuator 44 generates a driving force for the second rotation axis of the elbow joint 32. The fifth actuator 45 generates a driving force for the first rotation axis of the shoulder joint 33. The sixth actuator 46 generates a driving force for the second rotation axis of the shoulder joint 33.

[0023] The first encoder 71 detects the rotational position of the drive shaft of the first actuator 41. The first encoder 71 outputs the detected rotational position of the drive shaft of the first actuator 41 to the subordinate CPU 20 and the first servo amplifier 21.

[0024] The second encoder 72 detects the rotational position of the drive shaft of the second actuator 42. The second encoder 72 outputs the detected rotational position of the drive shaft of the second actuator 42 to the subordinate CPU 20 and the second servo amplifier 22.

[0025] The third encoder 73 detects the rotational position of the drive shaft of the third actuator 43. The third encoder 73 outputs the detected rotational position of the drive shaft of the third actuator 43 to the subordinate CPU 20 and the third servo amplifier 23.

[0026] The fourth encoder 74 detects the rotational position of the drive shaft of the fourth actuator 44. The fourth encoder 74 outputs the detected rotational position of the drive shaft of the fourth actuator 44 to the subordinate CPU 20 and the fourth servo amplifier 24.

[0027] The fifth encoder 75 detects the rotational position of the drive shaft of the fifth actuator 45. The fifth encoder 75 outputs the detected rotational position of the drive shaft of the fifth actuator 45 to the subordinate CPU 20 and the fifth servo amplifier 25.

[0028] The sixth encoder 76 detects the rotational position of the drive shaft of the sixth actuator 46. The sixth encoder 76 outputs the detected rotational position of the drive shaft of the sixth actuator 46 to the subordinate CPU 20 and the sixth servo amplifier 26.

[0029] The lower CPU (Central Processing Unit) 20 is a specific example of the first control unit. The lower CPU 20 performs high-speed calculations using, for example, an FPGA (Field-Programmable Gate Array). Note that the first control unit may be configured with a processor such as a GPU (Graphics Processing Unit) that performs higher-speed processing instead of a CPU.

[0030] The subordinate CPU 20 calculates the posture value of the arm unit 1 of the robot based on the rotational positions (rotation angles) of the first to sixth actuators 41 to 46 from the first to sixth encoders 71 to 76. More specifically, the subordinate CPU 20 performs kinematic calculations based on the rotational positions of the first to sixth actuators 41 to 46 from the first to sixth encoders 71 to 76, and calculates the coordinate values ​​of each link of the arm unit 1 as the posture value.

[0031] The subordinate CPU 20 outputs the calculated posture values ​​of the robot arm 1 to the first to sixth servo amplifiers 21 to 26. The subordinate CPU 20 transmits the posture values ​​of the robot arm 1 to the first to sixth servo amplifiers 21 to 26 by high-speed serial communication such as SCI (Serial Communication Interface) or SSI (Serial Synchronous Interface).

[0032] This allows the first to sixth servo amplifiers 21 to 26 to quickly acquire the posture values ​​of the robot's arm portion 1 with a delay of at most one sample of the control period (several tens of μs), and as described below, can issue drive instructions to the first to sixth actuators 41 to 46 at high speed.

[0033] The first to sixth servo amplifiers 21 to 26 are a specific example of a second control unit. The first to sixth servo amplifiers 21 to 26 are provided integrally with the first to sixth actuators 41 to 46, respectively, as shown in Fig. 1. The first to sixth servo amplifiers 21 to 26 issue drive instructions to the corresponding first to sixth actuators 41 to 46, respectively, based on the posture values ​​of the robot arm unit 1 output from the lower CPU 20.

[0034] The first to sixth actuators 41 to 46 rotate the first and second rotation axes of the wrist joint 31, the first and second rotation axes of the elbow joint 32, and the first and second rotation axes of the shoulder joint 33, respectively, in response to drive instructions from the first to sixth servo amplifiers 21 to 26.

[0035] As described above, in the robot control system 10 according to this embodiment, the first to sixth actuators 41 to 46, the first to sixth encoders 71 to 76, the lower CPU 20, and the first to sixth servo amplifiers 21 to 26 are all collectively arranged at the base of the arm portion 1.

[0036] This not only improves the backdrivability of the arm 1, but also shortens the distances between the first to sixth actuators 41 to 46, the first to sixth encoders 71 to 76, the subordinate CPU 20, and the first to sixth servo amplifiers 21 to 26, enabling high-speed data communication and high-speed calculation, thereby increasing the response speed of the robot. It also reduces the introduction of noise during the high-speed data communication.

[0037] Although the lower CPU 20 alone may be placed at a position slightly away from the base of the arm portion 1, it is more preferable to place it concentrated at the base of the arm portion 1 in order to suppress the intrusion of noise during the high-speed data communication.

[0038] The arm unit 1 of the robot according to this embodiment can perform, for example, reflexive high-speed movements similar to those of a human due to the improved backdrivability of the arm unit 1 and the increased response speed.

[0039] More specifically, when a collision of an object with the robot arm 1 is detected, an operation process for avoiding the collision is preset by a program or the like in the first to sixth servo amplifiers 21 to 26. The first to sixth servo amplifiers 21 to 26 may detect a collision of an object with the robot based on, for example, a difference from a command value, the torque values ​​of the first to sixth actuators 41 to 46, the sensor value of the contact sensor, etc.

[0040] First, the subordinate CPU 20 calculates the posture value of the robot based on the rotational positions of the first to sixth actuators 41 to 46 from the first to sixth encoders 71 to 76. The first to sixth servo amplifiers 21 to 26 issue drive instructions to the first to sixth actuators 41 to 46, respectively, based on the posture value of the robot's arm unit 1 (posture of the entire robot) calculated by the subordinate CPU 20.

[0041] At this time, the first to sixth servo amplifiers 21 to 26 each determine the amount and direction of movement of the first to sixth actuators 41 to 46 and the amount of adjustment of the impedance of the tip of the arm section 1 according to a preset program, and issue the above-mentioned drive instructions.

[0042] In this way, the first to sixth servo amplifiers 21 to 26 each perform impedance control by calculating the impedance of the entire robot based on the posture of the entire robot and adjusting the impedance. By performing such impedance control, the robot can perform high-speed movements similar to those of a human, such as catching a basketball.

[0043] The impedance target value based on the ball speed and mass may be calculated at a slower cycle by the host CPU 27, which will be described later.

[0044] Next, a control method for the robot control system according to this embodiment will be described with reference to a flowchart shown in FIG.

[0045] The first to sixth encoders 71 to 76 detect the rotational positions of the drive shafts of the first to sixth actuators 41 to 46, respectively, and output the detected positions to the subordinate CPU 20 and the first to sixth servo amplifiers 21 to 26 (step S101).

[0046] The lower CPU 20 calculates the posture value of the robot arm 1 based on the rotational positions of the first to sixth actuators 41 to 46 from the first to sixth encoders 71 to 76, and outputs it to the first to sixth servo amplifiers 21 to 26 (step S102).

[0047] The first to sixth servo amplifiers 21 to 26 issue drive instructions to the first to sixth actuators 41 to 46, respectively, based on the attitude values ​​of the robot arm 1 from the slave CPU 20 (step S103).

[0048] The first to sixth actuators 41 to 46 rotate the first and second rotation axes of the wrist joint 31, the first and second rotation axes of the elbow joint 32, and the first and second rotation axes of the shoulder joint 33 in response to drive instructions from the first to sixth servo amplifiers 21 to 26, respectively (step S104).

[0049] Embodiment 2 In this embodiment, the posture value of the robot's arm unit 1 is calculated taking into consideration not only the rotational positions of the first to sixth actuators 41 to 46 but also the torques acting on the first to sixth actuators 41 to 46, and drive instructions are issued to the first to sixth actuators 41 to 46 based on the posture value.

[0050] The first to sixth encoders 71 to 76 respectively detect the rotational positions of the drive shafts of the first to sixth actuators 41 to 46. The first to sixth encoders 71 to 76 respectively output the detected rotational positions of the drive shafts of the first to sixth actuators 41 to 46 to the subordinate CPU 20 and the first to sixth servo amplifiers 21 to 26.

[0051] In this embodiment, the first to sixth servo amplifiers 21 to 26 further output current values ​​(analog signals) to the subordinate CPU 20 in accordance with the torques acting on the corresponding first to sixth actuators 41 to 46 .

[0052] The subordinate CPU 20 calculates the posture value of the robot arm 1 based on the rotational positions of the first to sixth actuators 41 to 46 from the first to sixth encoders 71 to 76 and the current value corresponding to the torque. The first to sixth servo amplifiers 21 to 26 issue drive instructions to the corresponding first to sixth actuators 41 to 46, respectively, based on the posture value of the robot arm 1 output from the subordinate CPU 20.

[0053] The first to sixth actuators 41 to 46 rotate the first and second rotation axes of the wrist joint 31, the first and second rotation axes of the elbow joint 32, and the first and second rotation axes of the shoulder joint 33, respectively, in response to drive instructions from the first to sixth servo amplifiers 21 to 26.

[0054] This allows the first to sixth servo amplifiers 21 to 26 to issue drive commands to the first to sixth actuators 41 to 46, taking into consideration not only the rotational positions of the first to sixth actuators 41 to 46 but also the torques acting on the first to sixth actuators 41 to 46. For example, when the robot collides with an object, the first to sixth servo amplifiers 21 to 26 can each determine not only to escape in the opposite direction to the collision, but also the escape vector. This allows the robot to perform reflexive avoidance actions, just like a person.

[0055] Third Embodiment In this embodiment, not only the posture value of the arm unit 1 of the robot but also the inertia compensation values ​​of the first to sixth actuators 41 to 46 are calculated, and drive instructions are issued to the first to sixth actuators 41 to 46.

[0056] The first to sixth encoders 71 to 76 respectively detect the rotational positions of the drive shafts of the first to sixth actuators 41 to 46. The first to sixth encoders 71 to 76 respectively output the detected rotational positions of the drive shafts of the first to sixth actuators 41 to 46 to the subordinate CPU 20 and the first to sixth servo amplifiers 21 to 26.

[0057] In the third embodiment, the subordinate CPU 20 further calculates the acceleration of the robot's arm unit 1 based on the rotational positions of the first to sixth actuators 41 to 46 from the first to sixth encoders 71 to 76. The subordinate CPU 20 also calculates the attitude value of the robot's arm unit 1 based on the rotational positions of the first to sixth actuators 41 to 46 from the first to sixth encoders 71 to 76. The subordinate CPU 20 also calculates the inertia value of the robot's arm unit 1 based on the calculated attitude value of the robot's arm unit 1.

[0058] The slave CPU 20 calculates inertia compensation values ​​for the first to sixth actuators 41 to 46 based on the calculated acceleration and inertia values ​​of the robot's arm unit 1. The slave CPU 20 outputs the calculated posture values ​​and inertia compensation values ​​for the robot's arm unit 1 to the corresponding first to sixth servo amplifiers 21 to 26. Note that the first to sixth servo amplifiers 21 to 26 may each calculate the inertia compensation values ​​for the first to sixth actuators 41 to 46 based on the acceleration and inertia values ​​of the robot's arm unit 1.

[0059] The first to sixth servo amplifiers 21 to 26 issue drive instructions to the corresponding first to sixth actuators 41 to 46, respectively, based on the attitude value and inertia compensation value of the robot arm 1 output from the subordinate CPU 20.

[0060] The first to sixth actuators 41 to 46 rotate the first and second rotation axes of the wrist joint 31, the first and second rotation axes of the elbow joint 32, and the first and second rotation axes of the shoulder joint 33, respectively, in response to drive instructions from the first to sixth servo amplifiers 21 to 26.

[0061] According to the third embodiment, drive instructions can be given to the first to sixth actuators 41 to 46 taking into consideration not only the overall posture of the robot but also the inertia compensation values ​​of the first to sixth actuators 41 to 46, thereby enabling more precise control.

[0062] 4 is a block diagram showing a schematic system configuration of a robot control system 40 according to this embodiment. The robot control system 40 according to this embodiment further includes a host CPU 27 that controls the normal operation of the robot.

[0063] The host CPU 27 is a specific example of a third control unit. The host CPU 27 is provided at a position that is at least a second predetermined distance away from the base of the arm unit 1 (for example, at the center of the body or the head of the robot). The host CPU 27 is controlled by, for example, a robot operating system (ROS). The host CPU 27 may not be a CPU, but may instead be configured as a processor such as a GPU that performs higher speed processing. The host CPU 27 is connected to the first to sixth servo amplifiers 21 to 26.

[0064] The first to sixth servo amplifiers 21 to 26 transmit the rotational positions of the drive shafts of the first to sixth actuators 41 to 46 from the first to sixth encoders 71 to 76 to the host CPU 27. The host CPU 27 calculates how the first to sixth actuators 41 to 46 should rotate, and issues the corresponding commands to the first to sixth servo amplifiers 21 to 26.

[0065] As described above, commands are input to the first to sixth servo amplifiers 21 to 26 from both the upper CPU 27 and the lower CPU 20. Therefore, the first to sixth servo amplifiers 21 to 26 issue drive instructions to the corresponding first to sixth actuators 41 to 46 in accordance with commands from either the upper CPU 27 or the lower CPU 20.

[0066] Here, the host CPU 27 and the first to sixth servo amplifiers 21 to 26 communicate data via, for example, serial communication, CAN (Controller Area Network) communication, EtherCAT (Ethernet for Control Automation Technology) communication, etc. Typically, this data communication is performed on the order of several milliseconds. Therefore, the responsiveness of the robot is limited, making it difficult for the robot to perform high-speed reflexive movements similar to those of a human, for example.

[0067] On the other hand, as described above, high-speed data communication and high-speed calculation processing are possible between the first to sixth actuators 41 to 46, the first to sixth encoders 71 to 76, the subordinate CPU 20, and the first to sixth servo amplifiers 21 to 26, thereby increasing the response speed of the robot, and enabling it to perform high-speed reflexive movements similar to those of a human.

[0068] From the above, it is preferable that the lower CPU 20 executes the robot's reflexive high-speed movements, and the upper CPU 27 executes the other normal robot movements.

[0069] For example, when the first to sixth servo amplifiers 21 to 26 detect a collision of an object with the robot based on the sensor value of the contact sensor 28, they issue drive instructions to the first to sixth actuators 41 to 46 so that the robot avoids the object with a reflexive high-speed movement in response to a command from the subordinate CPU 20. This allows the robot to perform a reflexive high-speed movement similar to that of a human, thereby mitigating the collision with the object.

[0070] On the other hand, if the first to sixth servo amplifiers 21 to 26 do not detect a collision of an object with the robot based on the sensor value of the contact sensor 28, etc., they issue drive instructions to the first to sixth actuators 41 to 46 in response to commands from the upper CPU 27.

[0071] FIG. 5 is a flowchart showing the flow of the control method of the robot control system according to this embodiment.

[0072] Normally, the first to sixth servo amplifiers 21 to 26 issue drive instructions to the first to sixth actuators 41 to 46 in response to commands from the host CPU 27 (step S201).

[0073] When the first to sixth servo amplifiers 21 to 26 detect a collision of an object using the contact sensor 28 or the like (YES in step S202), they issue drive instructions to the first to sixth actuators 41 to 46 in response to a command from the lower CPU 20 (step S203).

[0074] This allows the robot to perform high-speed reflexive movements similar to those of a human, thereby mitigating collisions with objects. At this time, the priority of the entire robot control system is controlled so that there is no problem even if the first to sixth servo amplifiers 21 to 26 do not follow commands from the host CPU 27.

[0075] When the first to sixth servo amplifiers 21 to 26 determine based on the sensor value of the contact sensor 28 that a collision between the robot and the object has been avoided or that the collision state has ended (YES in step S204), they immediately return to the above processing (step S201).

[0076] Although several embodiments of the present disclosure have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims.

[0077] The present disclosure can also be implemented by causing a processor to execute a computer program to perform the processes shown in FIG. 3 or FIG. 5, for example.

[0078] 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., flexible disks, magnetic tapes, 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)).

[0079] The program may be provided to the computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can provide the program to the computer via a wired communication path such as an electric wire or an optical fiber, or via a wireless communication path.

[0080] Each component of the robot control system 10, 40 according to each of the above-described embodiments can be realized not only by a program, but also in part or in whole by dedicated hardware such as an ASIC (Application Specific Integrated Circuit) or FPGA.

[0081] This application claims priority based on Japanese Patent Application No. 2023-120061, filed on July 24, 2023, the disclosure of which is incorporated herein in its entirety.

[0082] REFERENCE SIGNS LIST 1 Arm section, 2 Main body section, 3 Joint section, 4 Actuator, 5 Belt, 6 Wire, 7 Encoder, 10 Robot control system, 11 End effector, 20 Lower CPU, 21-26 First to sixth servo amplifiers, 27 Upper CPU, 28 Contact sensor, 31 Wrist joint, 32 Elbow joint, 33 Shoulder joint, 40 Robot control system, 41-46 First to sixth actuators, 71-76 First to sixth encoders

Claims

1. A robot control system comprising: an arm or leg extending from a robot body and having at least one joint at a position that is at least a first predetermined distance away from a base; at least one drive unit that generates a drive force to rotate the joint; and at least one transmission unit that is provided between a corresponding joint and the drive unit and transmits the drive force of the drive unit to the corresponding joint, wherein the drive units are collectively provided at the base of the arm or leg.

2. A robot control system as described in claim 1, further comprising at least one rotation detection unit which detects rotation information of the drive unit, a first control unit which calculates an attitude value of the robot based on the rotation information of the drive unit detected by the rotation detection unit, and at least one second control unit which issues drive instructions to the corresponding drive unit based on the attitude value of the robot calculated by the first control unit, wherein the drive unit, the rotation detection unit, and the first and second control units are collectively provided at the base of the arm unit or leg unit.

3. A robot control system as described in claim 2, wherein the second control unit outputs a current value to the first control unit according to the torque applied to the corresponding drive unit, the first control unit calculates an attitude value of the robot based on the current value from the second control unit and rotation information of the drive unit from the rotation detection unit, and the second control unit issues drive instructions to the corresponding drive unit based on the robot attitude value calculated by the first control unit.

4. A robot control system as described in claim 2, wherein the first control unit: calculates acceleration based on rotational position information of the drive unit detected by the rotation detection unit; calculates an attitude value of the robot based on rotational position information of each drive unit from the rotation detection unit; calculates an inertia value of the robot based on the calculated attitude value; calculates an inertia compensation value of the drive unit based on the calculated acceleration and inertia value; and outputs the calculated attitude value and inertia compensation value to a corresponding second control unit; and the second control unit issues drive instructions to the corresponding drive unit based on the attitude value and inertia compensation value from the first control unit.

5. A robot control system according to any one of claims 2 to 4, further comprising a third control unit provided at a position at least a second predetermined distance away from the base of the arm or leg, wherein the second control unit issues drive instructions to the corresponding drive unit according to commands from either the first control unit or the third control unit.

6. A robot control system as described in claim 5, wherein the second control unit, when detecting a collision of an object with the robot, issues a drive instruction to the corresponding drive unit in response to a command from the first control unit, and when not detecting a collision of an object with the robot, issues a drive instruction to the corresponding drive unit in response to a command from the third control unit.

7. A control method for a robot control system comprising: an arm or leg extending from a robot main body and having at least one joint at a position spaced a predetermined distance or more from a base; at least one drive unit generating a drive force for rotating the joint; at least one transmission unit provided between a corresponding joint and the drive unit and transmitting the drive force of the drive unit to the corresponding joint; at least one rotation detection unit detecting rotation information of the drive unit; a first control unit; and at least one second control unit, wherein the drive unit, the rotation detection unit, the first control unit, and the at least one second control unit are collectively provided at the base of the arm or leg, the control method comprising: a step in which the first control unit calculates an attitude value of the robot based on the rotation information of the drive unit from the rotation detection unit; and a step in which the second control unit issues a drive instruction to the corresponding drive unit based on the robot attitude value calculated by the first control unit.

8. A program for a robot control system comprising: an arm or leg extending from a robot main body and having at least one joint at a position a predetermined distance or more away from a base; at least one drive unit generating a drive force for rotating the joint; at least one transmission unit provided between a corresponding joint and the drive unit and transmitting the drive force of the drive unit to the corresponding joint; at least one rotation detection unit detecting rotation information of the drive unit; a first control unit; and at least one second control unit, wherein the drive unit, the rotation detection unit, the first control unit, and the at least one second control unit are collectively provided at the base of the arm or leg, the program causing a computer to execute the following steps: the first control unit calculates an attitude value of the robot based on the rotation information of the drive unit from the rotation detection unit; and the second control unit issues a drive instruction to the corresponding drive unit based on the robot attitude value calculated by the first control unit.

Citation Information

Patent Citations

  • Robot driving control method for compensating statical friction

    JP1996286759A

  • Semiconductor device

    JP2023120061A

  • JP1987016306U

  • Robot finger, 4-finger robot hand and 5-finger robot hand

    JP2004306224A