Robot control device and robot control method
Patent Information
- Application Number
- PCT/JP2025/042174
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-19
- Filing Date
- 2025-12-03
- Publication Date
- 2026-09-24
Smart Images

Figure JP2025042174_24092026_PF_FP_ABST
Abstract
Description
Robot control device and robot control method
[0001] The present invention relates to a robot control device and a robot control method. This application claims priority under Japanese Patent Application No. 2025-046037, filed on 19 March 2025, the contents of which are incorporated herein by reference.
[0002] In the case of remotely controlling a robot, it is generally assumed that the robot can faithfully reproduce human movements, and human movements are mapped to the robot. Often, the only consideration is the size ratio between the robot and the human. The human operator and the robot have different mechanisms, such as joint positions, range of motion, and link lengths.
[0003] Special Publication No. 2009-521751
[0004] It is not always beneficial for a robot to perform tasks in the same task space as its operator. The task space is the space in which the robot actually performs its tasks (see, for example, Patent Document 1). For instance, depending on the task space, the robot's tracking ability may be poor, preventing the positional constraints imposed during control from being met, and thus the task may fail.
[0005] The same can be said for the robot's posture. Performing tasks in the same joint posture as a human, i.e., in the configuration space, is not always optimal. The configuration space is a multidimensional space defined by the robot's degrees of freedom (see, for example, Patent Document 1). However, conventional technology has problems with the robot's operability and tracking ability.
[0006] The present invention has been made in view of the above-mentioned problems, and aims to provide a robot control device and a robot control method that can reduce the need for humans to take into account the characteristics of the robot and improve the operability and tracking ability of the robot.
[0007] To achieve the above objective, the robot control device and robot control method according to this invention employ the following configuration: (1) A robot control device according to one aspect of the present invention comprises: an acquisition unit that acquires input information of a robot; an identification unit that identifies the work of the robot from the input information; a characteristic estimation unit that estimates robot characteristics suitable for the work from the identified robot work and the state information of the robot; and a command generation unit that generates a robot operation command converted from the input information to satisfy the estimated robot characteristics.
[0008] (2) In a robot control device according to one embodiment of (1) above, the characteristic estimation unit may include an importance calculation unit that calculates the ratio of the importance of position to the importance of force from the input information, and a reproduction strategy determination unit that determines a reproduction strategy for the input information from the ratio of importance.
[0009] (3) In a robot control device according to one embodiment of (1) or (2) above, the command generation unit may include a conversion unit that converts the estimated robot characteristics into a cost function, and a calculation unit that calculates the robot motion command by performing inverse kinematics calculations using the cost function.
[0010] (4) In a robot control device according to one embodiment of (3) above, the calculation unit may calculate the robot motion command by adding the cost function to the cost function of the inverse kinematics and performing calculations of the inverse kinematics.
[0011] (5) In a robot control device according to one embodiment of (3) above, the calculation unit may calculate the robot motion command by setting the cost function of inverse kinematics as the first priority task and adding the cost function as the second priority task, and performing calculations of inverse kinematics.
[0012] (6) In a robot control device according to one aspect of (2) above, the importance calculation unit may give importance to position tracking when the input information is an input subject to position constraints, may give importance to force limiting when the input information is an input subject to force constraints, or may give importance to both when the input information is an input subject to both position constraints and force constraints.
[0013] (7) In a robot control device according to one embodiment of (2) above, the robot motion command may be generated by performing inverse kinematics calculations using a cost function obtained by transforming the robot characteristics, so as to be a movement that utilizes at least one of the task space, which is the space in which the robot actually performs a task that satisfies the task characteristics based on the importance calculated by the importance calculation unit, and the configuration space, which is a multidimensional space defined by the degrees of freedom of the robot.
[0014] (8) In a robot control device according to one aspect of (7) above, the cost function may be expressed using the current position, the position in the optimal task space, a constant, a Jacobian, the time part of the Jacobian, the acceleration of the robot's joints, and the velocity of the robot's joints when the optimal task space is known, or it may be expressed using the current posture of the robot, the posture in the optimal configuration space, a constant, and the acceleration of the robot's joints when the optimal configuration space is known.
[0015] (9) In a robot control device according to one aspect of (7) above, the cost function may be expressed using a constant, a Jacobian, the time part of the Jacobian, the acceleration of the robot's joints, the velocity of the robot's joints, and the direction of the position in the optimal task space when the optimal direction of the task space is known, or it may be expressed using the acceleration of the robot's joints and the direction of the robot's posture in the optimal configuration space when the optimal direction of the configuration space is known, and the direction of the position in the optimal task space or the direction of the posture in the optimal configuration space may be calculated during operation.
[0016] (10) A robot control method according to one aspect of the present invention includes an acquisition step in which an acquisition unit acquires input information of a robot; an identification step in which an identification unit identifies the work of the robot from the input information; a characteristic estimation step in which a characteristic estimation unit estimates robot characteristics suitable for the work from the identified robot work and the state information of the robot; and a command generation step in which a command generation unit generates a robot operation command converted from the input information to satisfy the estimated robot characteristics.
[0017] According to the embodiments described in (1) to (10) above, the need for humans to take into account the characteristics of the robot can be reduced, and the operability and tracking ability of the robot can be improved.
[0018] This figure shows an example configuration of a robot control system according to the embodiment. This figure shows a schematic of the processing flow when remotely controlling a robot using a conventional method. This is an example showing how the robot performs work. This figure shows a schematic of the processing flow when remotely controlling a robot according to this embodiment. This is an image diagram illustrating the current value x and the optimal task space. This is an image diagram illustrating the current posture q and the optimal configuration space. This is a flowchart of the processing performed by the robot control device of the embodiment.
[0019] Embodiments of the present invention will be described below with reference to the drawings. In the drawings used in the following description, the scale of each component has been appropriately changed to make each component recognizable. In all drawings used to describe the embodiments, components having the same function are given the same reference numerals, and repeated explanations are omitted. Furthermore, in this application, "based on XX" means "based on at least XX," and includes cases where it is based on another element in addition to XX. Furthermore, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on XX after calculations or processing have been performed on it. "XX" is any element (for example, any information).
[0020] <Overview> In this embodiment, control is also performed while considering the optimal task space and configuration space for the robot. In this embodiment, the robot's performance is improved by moving the robot's workspace to the optimal task space and configuration space for the robot (for example, by working slightly above where a human would work, or by changing the posture of the upper body).
[0021] <Robot Control System> Figure 1 is a diagram showing an example of the configuration of a robot control system according to this embodiment. As shown in Figure 1, the robot control system 1 includes, for example, an operation unit 2, a robot control device 3, a robot 4, an environmental sensor 5, and an image display device 6.
[0022] The operation unit 2 includes, for example, a sensor 21 and a communication unit 22. The environmental sensor 5 includes, for example, a sensor 51 and an output unit 52.
[0023] The robot control device 3 includes, for example, an acquisition unit 31, a identification unit 32, a characteristic estimation unit 33, a command generation unit 34, an image generation unit 35, an output unit 36, and a storage unit 37. The characteristic estimation unit 33 includes, for example, an importance calculation unit 331 and a work space determination unit 332. The command generation unit 34 includes, for example, a conversion unit 341 and a calculation unit 342.
[0024] Robot 4 includes, for example, a communication unit 41, a drive unit 42, an arm 44, and a hand 45. The arm 44 is equipped with a sensor 441. The hand 45 is equipped with a sensor 451.
[0025] The operating unit 2 and the robot control device 3 are connected to each other via a wired or wireless network. The robot control device 3 and the robot 4 are connected to each other via a wired or wireless network. The environmental sensor 5 and the robot control device 3 are connected via a wired or wireless network. The image display device 6 and the robot control device 3 are connected via a wired or wireless network.
[0026] (Operation Unit) The operation unit 2 is, for example, a data glove, and is worn on the operator's hand. The data glove includes, for example, a plurality of sensors 21 and a communication unit 22. Note that the operation unit 2 may be, for example, a device such as a game controller. The operation unit 2 detects a result of an operation performed by an operator and outputs the result to a robot control device 3.
[0027] The sensors 21 are, for example, bending sensors, valgus sensors, sensors for measuring the curvature of the palm (palmar arch), and the flexion and abduction of the wrist. The sensors 21 detect movements of the user's hand and fingers as joint angle data. Note that detection of the joint angles may be performed by the operation unit 2, or may be performed by the robot control device 3.
[0028] The communication unit 22 outputs detection data detected by the sensor 21 to the robot control device 3.
[0029] (Environment Sensor) The environment sensor 5 acquires environment information. The environment sensor 5 is installed, for example, in a robot work space (task space). There may be a plurality of environment sensors 5. The environment sensor 5 may be provided in the robot 4.
[0030] The sensor 51 is, for example, an RGB (red-green-blue) camera. The sensor 51 may be a depth camera that can also acquire depth information, or the sensor 51 may be an RGB camera and a distance sensor.
[0031] The output unit 52 outputs detection data detected by the sensor 51 to the robot control device 3.
[0032] (Image Display Device) The image display device 6 displays, for example, an image of a robot work space (task space) output by the robot control device 3. The image display device 6 may be, for example, an HMD (Head Mounted Display). The operator remotely operates the robot 4 by operating the operation unit 2 while viewing the image displayed on the image display device 6.
[0033] (Robot) The robot 4 may have one arm or two arms, and may include a body, legs, and the like. The robot 4 performs work (task) in accordance with instructions from the robot control device 3 in response to the movement of the operator operating the operation unit 2.
[0034] The communication unit 41 outputs detection results detected by the sensors (441, 451) to the robot control device 3. The communication unit 41 acquires operation commands from the robot control device 3.
[0035] The communication unit 41 outputs detection results detected by the sensors (441, 351) to the robot control device 3. The communication unit 41 acquires operation commands from the robot control device 3.
[0036] The drive unit 42 includes, for example, an actuator and a drive circuit, and is attached to each joint of, for example, the arm 44 and the hand 45.
[0037] The arm 44 includes joints. One end of the arm 44 is connected to, for example, a base (body), and the hand 45 is connected to the other end via a joint. A plurality of sensors 441 are attached to the arm 44. The arm 44 is structured to enable movement of the hand 45.
[0038] The sensors 441 are, for example, posture sensors that detect joint angles of the arm 44, encoders, 6-axis sensors, or the like.
[0039] The hand 45 includes, for example, two or more finger portions. The hand 45 may include a palm. Each finger portion includes a joint. A plurality of sensors 451 are attached to the hand 45. The hand 45 is configured to be capable of gripping an object.
[0040] The sensors 441 are, for example, tactile sensors that detect force applied to finger portions or a palm, torque sensors that detect three-axis force applied to fingers and torque around each axis, or the like.
[0041] (Robot Control Device) The robot control device 3 controls the robot 4 in accordance with a result of an operation performed by an operator on the operation unit 2, while also taking into consideration an optimal task space and configuration space for the robot 4. Note that the task space is a space in which the robot actually performs tasks. Further, the configuration space is a multidimensional space defined by the degrees of freedom of the robot.
[0042] The acquisition unit 31 acquires input information for the robot 4 from the operation unit 2. The acquisition unit 31 acquires detection data (status information of the robot 4) detected by sensor 441 and detection data (status information of the robot 4) detected by sensor 451. The acquisition unit 31 also acquires environmental data detected by the environmental sensor 5.
[0043] The identification unit 32 identifies which step of the task is currently being performed based on the input information acquired by the acquisition unit 31 and the scenario stored in the storage unit 37. The identification unit 32 also identifies the type and content of the task performed by the robot 4 based on the input information acquired by the acquisition unit 31. The identification unit 32 may also use environmental data detected by the environmental sensor 5 to identify the task. For example, the identification unit 32 may use a pre-trained model that utilizes environmental data, input instructions, and training data to identify the type and content of the task performed by the robot 4.
[0044] The characteristic estimation unit 33 estimates robot characteristics suitable for a task based on the task of the robot 4 identified by the identification unit 32 and the state information of the robot 4 based on information acquired from sensors (441, 451). Robot characteristics refer to, for example, the characteristics of the tasks that are considered important at each step of the task.
[0045] The importance calculation unit 331 calculates the ratio of importance of position to importance of force based on the input information, for example, at predetermined intervals, by referring to the scenario stored in the memory unit 37. The scenario stores prior information, such as constraint conditions, which indicate what is emphasized at each step of the work. Constraint conditions will be described later. The ratio may be 100% importance of position and 0% importance of force, or 0% importance of position and 100% importance of force. The importance calculation unit 331 determines, for example, that position tracking should be emphasized if the input information is subject to a position constraint, that force limiting should be emphasized if the input information is subject to a force constraint, and that both should be emphasized if the input is subject to both a position constraint and a force constraint.
[0046] The workspace determination unit 332 determines a workspace (reproduction strategy) that matches at least one of the characteristics of position and force based on the input information, based on the importance ratio calculated by the importance calculation unit 331. When the robot 4 performs work, it has at least one of the task spaces and configuration spaces that have the best tracking ability, at least one of the task spaces and configuration spaces that have the best force reproduction rate, and at least one of the task spaces and configuration spaces that can achieve (reproduce) both in a good balance. Alternatively, the workspace determination unit 332 calculates the direction toward these during the work. The workspace determination unit 332 is an example of a "reproduction strategy determination unit".
[0047] The command generation unit 34 generates robot motion commands by solving inverse kinematics in a manner that satisfies the robot characteristics estimated from the input information, that is, by taking into account the characteristics that are considered important.
[0048] The conversion unit 341 calculates and converts a cost function based on at least one of the task space and configuration space with the best reproducibility determined by the workspace determination unit 332. This is because, in order to be drawn into the space (task space, configuration space), it must be defined as a cost function. In other words, the conversion unit 341 converts the estimated robot characteristics into a cost function. The cost function will be described later.
[0049] The calculation unit 342 calculates the robot motion command by directly adding the cost function obtained by the conversion unit 341 to the cost function of the inverse kinematics and performing the inverse kinematics calculation. Alternatively, the calculation unit 342 calculates the robot motion command by adding the cost function obtained by the conversion unit 341 to the cost function of the inverse kinematics with task priority set to second, and performing the inverse kinematics calculation. The cost function of the inverse kinematics and the method of adding to this cost function will be described later.
[0050] The image generation unit 35 generates an image to be displayed on the image display device 6, for example, based on an image captured by the environmental sensor 5.
[0051] The output unit 36 outputs the robot motion commands generated by the command generation unit 34 to the robot 4. The output unit 36 also outputs the images generated by the image generation unit 35 to the image display device 6.
[0052] The memory unit 37 stores the scenario for the operation. A scenario is pre-information about the trajectory of the task and what is emphasized at each step. A separate scenario is stored for each operation. The scenario may be stored on a server, for example, or on the cloud. The memory unit 37 stores algorithms, programs, formulas, thresholds, identification information for identifying sensors, etc., used by each functional unit of the robot control device 3.
[0053] <Outline of the Processing Flow> An outline of the processing flow of the conventional technology (Figure 2) and the processing flow of this embodiment (Figure 4) will be explained.
[0054] (Flow of Conventional Technology) Figure 2 will be used to explain the general flow of processing when remotely controlling a robot using a conventional method. Figure 2 is a diagram showing the general flow of processing when remotely controlling a robot using a conventional method. In Figure 2, the work is, for example, tightening a bolt using a torque wrench as shown in Figure 3. Figure 3 is an example showing the work performed by the robot. Reference numeral g31 denotes the hand 45, reference numeral g32 denotes the torque wrench, reference numeral g33 denotes the bolt, and reference numeral g34 denotes the box.
[0055] The operator remotely controls the robot by operating the control unit (St901). The control unit constrains the trajectory for bolt tightening according to the operation (for example, rotating in a circular trajectory) (St902). The control unit solves the inverse kinematics to calculate the robot's motion command (St903). The control unit controls the robot's movement based on the motion command (St904). In this conventional method, the trajectory constraint in St902 may not be satisfied if the robot's task space or configuration space is not appropriate.
[0056] (Flow of this embodiment) The general flow of processing during remote robot operation in this embodiment will be explained using Figure 4. Figure 4 is a diagram showing the general flow of processing during remote robot operation in this embodiment. In Figure 4, the work performed is, for example, tightening bolts using a torque wrench as shown in Figure 3.
[0057] The operator remotely controls the device by operating the control unit 2 (St1).
[0058] The robot control device 3 constrains the trajectory for bolt tightening according to the operation content (for example, rotating in a circular trajectory) (St2).
[0059] The characteristic estimation unit 33 determines which step of the operation is currently being performed based on the scenario stored in the memory unit 37 and the operation information (input information) obtained when a person operates the operation unit 2, and identifies the characteristics that should be given importance at that time. In other words, the characteristic estimation unit 33 determines the importance level. (St3)
[0060] The characteristic estimation unit 33 identifies movements to utilize the task space or configuration space that satisfy the characteristics of the task to be considered important (St4). Movements to utilize the task space or configuration space that satisfy the characteristics of the task to be considered important include, for example, moving to a different work location, adjusting the position of the target object with the unused hand 45, changing the posture of the elbow of the arm 44, and adjusting the posture of the upper body of the robot 4. There are various options for what kind of movements to take.
[0061] The robot control device 3 calculates the motion command for the robot 4 by solving the inverse kinematics, adding movements that take into account the characteristics of the operation currently being performed (St5).
[0062] The robot control device 3 controls the movement of the robot 4 based on the movement command (St6).
[0063] According to this embodiment, these processes result in operation that also takes into account the task space and configuration space.
[0064] In this embodiment, a fixed scenario, such as in a factory, is assumed, and it is assumed that the robot 4 knows its trajectory in advance. For example, in the operation shown in Figure 3, the structure of the robot 4's hand 45 and arm 44 differs from that of a human hand or arm in terms of size and structure, so there may be positions and angles that are more suitable for the robot 4 than the angles and positions instructed by the operator. Also, depending on the positional relationship between the target object and the robot 4 in the work space, there may be positions and postures where the angle and height of the hand 45 and arm 44 differ from the instructions, resulting in better tracking and a higher force reproduction limit. For this reason, the scenario in this embodiment is a trajectory that is set in advance, including the structure, degrees of freedom, size, and positional relationship of the robot 4 in the work environment. The scenario may be created by simulation or by operating the actual machine.
[0065] In this embodiment, the robot 4 is pre-equipped with task spaces and configuration spaces that are appropriate to its characteristics, such as a task space or configuration space that provides the best tracking ability, the best force reproduction, or a balance between both. Alternatively, in this embodiment, the direction toward these optimal task spaces and configuration spaces is calculated during operation.
[0066] If these are predetermined, they are defined based on thresholds, for example, in the case of a task space or configuration space with good tracking capabilities, such as a workspace for a robot that can track with a tracking error of 5 mm or less.
[0067] When calculations are performed during operation, indicators representing operability, such as maneuverability and dynamic maneuverability, are calculated near the current robot posture, and the direction with the highest maneuverability is determined. Note that the task space and configuration space are not necessarily defined as spaces, but may also appear as characteristics of the posture of the robot arm 44, such as the optimal elbow posture.
[0068] When executing a task, the robot grasps the characteristics of the task and performs work in the optimal task space or configuration space according to the characteristics. Alternatively, the task is performed by appropriately changing the task space or configuration space in accordance with the work process. The characteristics of the task, that is, what should be prioritized in each scene of the task, can be determined from input information to the robot. For example, when an input with a position constraint is received, it is determined that followability should be prioritized; when an input with a force constraint is received, force reproducibility is prioritized; when a command with both constraints is received, both are prioritized.
[0069] <Constraint Conditions, Input> Here, inputs to which a position constraint is imposed and inputs to which a force constraint is imposed will be described. The following equation (1) is an optimization problem for calculating a candidate u for joint acceleration of a robot that minimizes a cost function in the acceleration dimension (a cost function in inverse kinematics).
[0070]
[0071] In equation (1), q ・・ is joint acceleration, q ・ is joint velocity, J is the Jacobian, x cmd is a target value obtained by remote control, λ is a constant, argmin||・|| is a minimum point set. The superscript ・ represents the first-order differentiation and indicates velocity, and the superscript ・・ represents the second-order differentiation and indicates acceleration. J (superscript ・ ) is the time derivative of the Jacobian. In equation (1), the constraint condition is represented by the following equation (2) or (3).
[0072]
[0073]
[0074] In the case of the constraint condition of equation (2), it is interpreted as a case where force should be prioritized. Note that in equation (2), F (double-lined character) low is the lower limit of force, F (double-lined character) high is the upper limit of force, T represents transposition, (J T ) † is J TIt is the inverse or pseudo-inverse of . In the case of the constraint condition in equation (3), it is interpreted as a case where position is important. Note that in equation (3), d low is the lower limit of position, d high is the upper limit of the position, w n ξ is a constant, and ξ is a constant such that ξ > 1.
[0075] <Examples of methods for adding characteristics that are important to inverse kinematics> Robot 4 has at least one of the task space and configuration space with the best tracking ability, at least one of the task space and configuration space with the best force reproduction ability, and at least one of the task space and configuration space that can achieve a good balance of both. Alternatively, Robot 4 calculates and has a direction toward these spaces on the fly. The action of pulling into these spaces is defined as a cost function and realized by incorporating it into inverse kinematics (IK).
[0076] The cost function is f best Therefore, if the optimal task space is known, the current position x and the position x in the optimal task space are used. best Using this, we define acceleration as shown in equation (4) below, and the cost function f best The equation is given by (5) below. Note that α is a constant. Figure 5 is an illustrative diagram to explain the current value x and the optimal task space. Note that x best This is the value in the optimal task space g11.
[0077]
[0078]
[0079] Furthermore, if the optimal configuration space is known, the acceleration can be defined as in equation (6) below, and the cost function f best The equation is given by (7) below. Note that α is a constant. Figure 6 is an illustrative diagram to explain the current attitude q and the optimal configuration space. Note that q best This represents the optimal orientation in the configuration space g21.
[0080]
[0081]
[0082] Also, the direction x of the position in the optimal task space dir If the cost function f is known, best The equation is given by (8) below. Note that α is a constant.
[0083]
[0084] Furthermore, the orientation q in the optimal configuration space dir If the cost function f is known, best The equation is given by (9) below. Note that α is a constant.
[0085]
[0086] In this embodiment, these cost functions f are determined based on the characteristics that are considered important. best It is incorporated into the following. For example, the calculation unit 342 adds the cost function f to the cost function of inverse kinematics (equation (1)) as shown in equation (10). best You can also include it by directly adding it.
[0087]
[0088] In equation (10), η is a constant. The calculation unit 342 calculates the cost function u of the task with the first task priority using the following equation (11) (same as equation (1)). 1 Let the cost function f best The cost function u of the task with task priority 2 is given by equation (12) below. 2 It would be good to include it as such.
[0089]
[0090]
[0091] In this way, by incorporating a cost function when solving the inverse kinematics, it is possible to add characteristics that are considered important. As a result, according to this embodiment, the robot can perform tasks in at least one of the task spaces and configuration spaces with the best tracking ability, at least one of the task spaces and configuration spaces with the best force reproduction ability, and at least one of the task spaces and configuration spaces that achieve a good balance of both.
[0092] <Processing Procedure> Next, an example of a processing procedure performed by the robot control device 3 will be described. Figure 7 is a flowchart of the processing performed by the robot control device of this embodiment. Note that the example in Figure 7 is an example of a processing procedure when the optimal task space or configuration space is known.
[0093] (Step S1) The acquisition unit 31 acquires input information for the robot 4 from the operation unit 2.
[0094] (Step S2) The identification unit 32 identifies which step of the work is currently about to be performed based on the input information acquired by the acquisition unit 31 and the scenario stored in the storage unit 37. The identification unit 32 identifies the type of work and the content of the work performed by the robot 4 based on the input information acquired by the acquisition unit 31.
[0095] (Step S3) The importance calculation unit 331 calculates the ratio of the importance of position to the importance of force based on the input information, for example, at predetermined intervals by referring to the scenario stored in the memory unit 37.
[0096] (Step S4) The workspace determination unit 332 determines a workspace that matches at least one of the characteristics of position and force based on the input information, based on the importance ratio calculated by the importance calculation unit 331.
[0097] (Step S5) The conversion unit 341 calculates and converts the cost function based on at least one of the task space and configuration space with the best reproducibility determined by the work space determination unit 332.
[0098] (Step S6) The calculation unit 342 directly adds the cost function obtained by the conversion unit 341 to the cost function of the inverse kinematics and performs the inverse kinematics calculation to calculate the robot motion command. Alternatively, the calculation unit 342 adds the cost function obtained by the conversion unit 341 to the cost function of the inverse kinematics with task priority 2, performs the inverse kinematics calculation to calculate the robot motion command.
[0099] (Step S7) The output unit 36 controls the operation of the robot 4 by outputting the robot operation command generated by the command generation unit 34 to the robot 4.
[0100] In this embodiment, the above process is repeated at predetermined intervals. The robot control device 3 then understands the characteristics of the task, that is, what should be emphasized at each stage of the task, from the input information to the robot 4, depending on which step of the overall work the currently performed task is. Then, when executing the task, the robot control device 3 controls the robot by solving the inverse kinematics using a cost function so that the task is performed in at least one of the optimal task space and configuration space according to the characteristics of the task that it has understood. Alternatively, the robot control device 3 changes at least one of the optimal task space and configuration space according to the process of the work and performs the task.
[0101] The processing procedures and content described above are merely examples and are not limited to them. Other processing methods may be used, for example, by using environmental data in the processing.
[0102] As described above, it is necessary to move the robot 4 to a different work location or change its posture, taking into account the characteristics of the task. For this reason, in this embodiment, these actions are performed simultaneously when solving the inverse kinematics for the task. For this reason, in this embodiment, these actions are also pre-defined as cost functions, and these costs are added as appropriate when considering them and the inverse kinematics calculation is performed.
[0103] As a result, according to this embodiment, humans do not need to take into account the characteristics of the robot. The robot understands the points that humans consider important and acts accordingly, reducing the burden on humans during operation. Furthermore, according to this embodiment, the operator can feel the robot's responsiveness and strength, thus experiencing improved operability.
[0104] Furthermore, if there are other task characteristics that you want to prioritize (for example, if you want to prioritize operating speed), you can use the same method by giving the robot 4 an additional task space that suits those characteristics.
[0105] Furthermore, a program to implement all or part of the functions of the robot control device 3 in this invention may be recorded on a computer-readable recording medium, and all or part of the processing performed by the robot control device 3 may be performed by loading the program recorded on this recording medium into a computer system and executing it. Herein, "computer system" includes hardware such as an OS and peripheral devices. Furthermore, "computer system" also includes a WWW system equipped with a homepage provisioning environment (or display environment). Furthermore, "computer-readable recording medium" refers to portable media such as flexible disks, magneto-optical disks, ROMs, CD-ROMs, and storage devices such as hard disks built into a computer system. Moreover, "computer-readable recording medium" also includes volatile memory (RAM) inside a computer system that acts as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line, which holds the program for a certain period of time. Alternatively, some or all of these components may be implemented by hardware (including circuitry) such as LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), GPU (Graphics Processing Unit), or SOC (System On Chip), or by the collaboration of software and hardware.
[0106] Furthermore, the above program may be transmitted from a computer system that stores the program in a memory device or the like to another computer system via a transmission medium or by transmission waves within the transmission medium. Here, the "transmission medium" for transmitting the program refers to a medium that has the function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Also, the above program may be for the purpose of realizing a part of the functions described above. Furthermore, it may be a so-called differential file (differential program) that can realize the above functions in combination with a program already recorded in the computer system.
[0107] Although embodiments for carrying out the present invention have been described above using examples, the present invention is not limited in any way to these embodiments, and various modifications and substitutions can be made without departing from the spirit of the present invention.
[0108] 1...Robot control system, 2...Operation unit, 3...Robot control device, 4...Robot, 5...Environmental sensor, 6...Image display device, 21...Sensor, 22...Communication unit, 51...Sensor, 52...Output unit, 31...Acquisition unit, 32...Specification unit, 33...Characteristic estimation unit, 34...Command generation unit, 35...Image generation unit, 36...Output unit, 37...Storage unit, 331...Importance calculation unit, 332...Workspace determination unit, 341...Conversion unit, 342...Calculation unit, 41...Communication unit, 42...Drive unit, 44...Arm, 45...Hand, 441...Sensor, 451...Sensor
Claims
1. A robot control device comprising: an acquisition unit for acquiring input information for a robot; an identification unit for identifying the robot's task from the input information; a characteristic estimation unit for estimating robot characteristics suitable for the task from the identified robot's task and the robot's state information; and a command generation unit for generating robot motion commands converted from the input information to satisfy the estimated robot characteristics.
2. The robot control device according to claim 1, comprising: a characteristic estimation unit, an importance calculation unit that calculates the ratio of importance of position to importance of force from the input information; and a reproduction strategy determination unit that determines a reproduction strategy for the input information from the importance ratio.
3. The robot control device according to claim 1 or 2, wherein the command generation unit comprises: a conversion unit that converts the estimated robot characteristics into a cost function; and a calculation unit that calculates the robot motion command by performing inverse kinematics calculations using the cost function.
4. The robot control device according to claim 3, wherein the calculation unit calculates the robot motion command by adding the cost function to the cost function of the inverse kinematics and performing calculations of the inverse kinematics.
5. The robot control device according to claim 3, wherein the calculation unit calculates the robot motion command by adding the cost function of inverse kinematics as the first priority task and the cost function as the second priority task, and performing calculations of inverse kinematics.
6. The robot control device according to claim 2, wherein the importance calculation unit gives importance to position tracking when the input information is an input subject to position constraints, gives importance to force limiting when the input information is an input subject to force constraints, and gives importance to both when the input information is an input subject to both position constraints and force constraints.
7. The robot control device according to claim 2, wherein the robot motion command is generated by performing inverse kinematics calculations using a cost function obtained by transforming the robot characteristics, so as to be a movement that utilizes at least one of the task space, which is the space in which the robot actually performs a task that satisfies the task characteristics based on the importance calculated by the importance calculation unit, and the configuration space, which is a multidimensional space defined by the degrees of freedom of the robot.
8. The robot control device according to claim 7, wherein the cost function is expressed using the current position, the position in the optimal task space, a constant, a Jacobian, the time part of the Jacobian, the acceleration of the robot's joints, and the velocity of the robot's joints, when the optimal task space is known, and is expressed using the current posture of the robot, the posture in the optimal configuration space, a constant, and the acceleration of the robot's joints, when the optimal configuration space is known.
9. The robot control device according to claim 7, wherein the cost function is expressed using a constant, a Jacobian, the time part of the Jacobian, the acceleration of the robot's joints, the velocity of the robot's joints, and the direction of the position in the optimal task space when the optimal task space orientation is known, and is expressed using the acceleration of the robot's joints and the direction of the robot's posture in the optimal configuration space when the optimal configuration space orientation is known, and the direction of the position in the optimal task space orientation or the direction of the posture in the optimal configuration space is calculated during the operation.
10. A robot control method comprising: an acquisition step in which an acquisition unit acquires input information for a robot; an identification step in which an identification unit identifies the work of the robot from the input information; a characteristic estimation step in which a characteristic estimation unit estimates robot characteristics suitable for the work from the identified robot work and the state information of the robot; and a command generation step in which a command generation unit generates robot motion commands converted from the input information to satisfy the estimated robot characteristics.