The present application claims priority from Japanese Patent application serial no. 2023-080693, filed on May 16, 2023, the content of which is hereby incorporated by reference into this application.
The present invention relates to a robot control system, a robot control method, and a robot control device.
Recently, labor shortage due to declining birthrate and aging population, dangerous work in a disaster area, and the like have been arising as social problems. For the purpose of solving these problems, it is expected to utilize a robot in various works even in an environment other than in a factory or the like maintained so that the robot can safely and efficiently work (hereinbelow, referred to as “unstructured environment”).
In order for a robot having an arm and a moving part to autonomously carry out its work under the unstructured environment such as the disaster area, in addition to arm control for skillfully maneuvering an operation object, movement control for properly moving close to the operation object is required. Examples of robots having achieved such control functions are, for example, a two-wheel drive carriage, a crawler-type robot, a four-legged robot, a humanoid robot (humanoid), an unmanned aerial vehicle (UAV), and the like equipped with a manipulator.
As an example of this kind of robot, a mobile manipulator disclosed in Nonpatent Literature 1 has been known. Nonpatent Literature 1 proposes a robot control method of preparing an arm controller (arm controller) and a movement controller (base controller) for a mobile manipulator (Legged Mobile Manipulator) separately and obtaining a control law (control instruction) for the moving part based on a behavior of an arm using deep reinforcement learning (Deep reinforcement learning).
Nonpatent Literature 1: Y. Ma, F. Farshidian, T. Miki, J. Lee and M. Hutter, “Combining Learning-based Locomotion Policy with Model-based Manipulation for Legged Mobile Manipulators,” arXiv:2201.03871v1, 2022.
There are various target motions to be performed by a robot in an unstructured environment including, for example, a motion of changing a position or a posture of the operation object such as gripping, carrying, installing the operation object, opening/closing a door, a lever operation, and the like, and a motion of processing the operation object such as welding, painting, cutting, assembling, and the like.
According to Nonpatent Literature 1, since the arm controller and the movement controller are independent from one another, it is possible to have the arm perform a new target motion only by changing the control law for the arm controller. It is also possible to implement a new target motion rather easily since already established arm motion generation technology can be utilized to change the control law for the arm.
However, the control method for the moving part according to Nonpatent Literature 1 has a problem that the moving part can be stably controlled only under the conditions taken into consideration when learning the control law for the moving part. Accordingly, when there are many combinations of an arm state and a moving part state for performing the target motion, it is difficult to obtain an appropriate control law for the moving part. For example, when performing a control by changing the posture of the moving part to increase a reachable range of the arm, it is difficult to obtain the appropriate control law for the moving part because too many combinations of the states must be taken into consideration if an effect of inertia force of the moving arm.
Therefore, an object of the present invention is to provide a robot control system, a robot control method, and a robot control device allowing for easily obtaining an appropriate moving part control law even when there are many combinations of arm states and moving part states to achieve the target motion.
To solve the above-described problems, a robot control system according to an embodiment of the present invention includes: a robot including an arm; and a moving part and a control device that controls the robot, in which the control device includes a motion planning part that outputs a target motion associated with a motion of the arm and an allowable range for the motion of the moving part corresponding to the target motion, an arm control part that outputs an arm control instruction associated with the target motion and an arm state transition, and a movement control part that generates a movement control instruction associated with the motion of the moving part to fall within the allowable range using the arm state transition, and in which the robot has the arm controlled by the arm control instruction and has the moving part controlled by the movement control instruction.
According to the robot control system, the robot control method, and the robot control device of the present invention, it is possible to easily obtain an appropriate moving part control law even when there are many combinations of the arm states and the moving part states to achieve the target motion.
In the following, example embodiments of the present invention will be described with reference to accompanying drawings. The present invention is not limited to the following embodiments, and various values and the like in the embodiments are merely embodiments. In the present description and drawings, the same components or components having the same function shall be denoted with the same symbol, and description thereof shall be omitted.
The four-legged robot 2A and the humanoid robot 2B include a driving mechanism for driving the arms 21 and the legs 22a at each articulation. The unmanned aerial vehicle 2C includes a driving mechanism for driving the arm 21 at each articulation, and includes a driving mechanism for controlling a posture of the moving part 22 at each rotor blade 22c. At this point, there may be fewer driving part in the arm 21 or the leg 22a than the articulations so that a single driving part controls a plurality of articulations. Moreover, the numbers of the articulations provided in the arm 21 and the leg 22a or the numbers of the arms 21, the legs 22a, and the rotor blades 22c are not limited to the examples shown in
Now, a method of controlling the arm 21 of the robot 2 is described. First, the motion planning part 11 of the control device 1 instructs to the arm control part 12 a target motion to be performed by the arm 21. The target motion corresponds to every motion that can be performed by the arm 21. For example, the target motion can be movement (gripping, transport, installation, operation, and the like), processing (coating, cutting, welding, assembling, wiping, and the like), observation (instrument reading, surface inspection, appearance inspection, and the like) of the operation object.
Based on the target motion instructed by the motion planning part 11, the arm control part 12 generates a motion sequence to achieve the target motion. Any technique can be applied to generating the motion sequence. For example, a rule-based control technique based on a program generated in advance, or a learning-type control technique based on a learned control law may be applied.
The motion sequence generated by the arm control part 12 is input to the arm 21 at an arbitrary control cycle Ta as an arm control instruction C1, and the arm 21 moves on the basis on the arm control instruction C1. The arm control instruction C1 is an instruction to rotate or translate each articulation of the arm 21, e.g., specifies a temporal change in an angle, an angular speed, an angular acceleration (torque) of each articulation. In a case in which the arm control part 12 generates a motion based on a difference between the arm control instruction C1 and an actual state of the arm 21 or a state of the peripheral environment, the arm control part 12 can use information from various sensors included in the robot 2.
Now, a method of controlling the moving part 22 of the robot 2 is described. In a case of the robot 2 including the arm 21 and the moving part 22, the movement control part 13 of the control device 1 controls the moving part 22 to follow a target state (e.g., a position or a posture of the base 22b) instructed from the motion planning part 11 to achieve the target motion of the arm 21. At this point, the movement control part 13 needs to control the moving part 22 taking into consideration the effect of the inertia force by moving the arm 21.
In order to control the moving part 22 to follow the target state, it suffices to derive a control input so that a difference between the actual state and the target state of the moving part 22 is small. By setting a problem to minimize the control input as much as possible, the following optimal control problem is obtained for a predetermined evaluation period [t0,tf].
wherein φ and L are evaluation functions, x is a state vector, u is an input vector, xref is a target state vector, and P, Q, R are weight matrices. Including a variant pertaining to the state of the moving part 22 in X and xref results in achievement of control to follow the target state. Moreover, a term defined in the evaluation function L is not limited to Formula 2. For example, there can be added a term that evaluates an amount of power consumption, a term that evaluates safety for avoiding a collision of the robot 2 with itself or its peripheral environment, and the like. It should be noted that a target track of a state vector x can be defined by a trajectory of time series change of the target state vector xref.
To solve the optimal control problem of Formulae 1 to 3, it is required to estimate a time evolution of the state vector x. Thus, the following constraint conditions can be defined for the optimal control problem of Formulae 1 to 3.
wherein Formula 4 represents a kinetic model of the robot 2, Formula 5 represents an initial condition, Formula 6 represents an equality constraint, and Formula 7 represents an inequality constraint.
A series of optimized control input can be derived in advance by solving the optimal control problems of Formulae 1 to 7 offline before starting control of the robot 2. On the other hand, when controlling the robot 2 in an unstructured environment, the state may not necessarily transit as estimated offline in advance due to an error of the kinetic model or an influence from disturbance.
Therefore, the present embodiment uses a control technique in which, in each control cycle Tl, assuming a robot state observed at the time as the initial condition presented by Formula 5, the movement control part 13 solves the optimal control problems of Formulae 1 to 7 for a period from the current time to to a time tf that is a finite time ahead and uses only the results from to among obtained control inputs as a control instruction C. This technique is generally referred to as a model predictive control.
Although the following examples are described assuming a case of using a general model predictive control, it is possible to use another control technique associated with the optimal control problems of Formulae 1 to 7. For example, when the error of the kinetic model or the influence from the disturbance is extremely small and when the robot 2 is controlled on a simulator, a series of control inputs can be determined by the results of the optimal control problems of Formulae 1 to 7 solved offline. Otherwise, it is also possible to employ a hierarchical calculation method of calculating a force and a torque generated at a center of gravity of the robot 2 and then calculating the control input to be output to each articulation or rotor blade 22c, a method of obtaining some of parameters (e.g., weight matrix, evaluation period, target state) in the optimal control problems of Formulae 1 to 7 through machine learning, or the like. Moreover, the model predictive control includes a gradient-based technique using Differential Dynamic Programming, Multiple shooting method, and the like and a sampling-based technique using Monte Carlo method, path integral, and the like, and any of these techniques may be used. Furthermore, a value of time tf in the optimal control problems of Formulae 1 to 7 is arbitrary, and setting a larger value allows for calculating the control instruction C considering the future state more. On the other hand, it is also possible to setting tf=t0+Tl for the control cycle Tl of the movement control part 13 and calculating the control instruction C taking into consideration only the next control input to the robot 2 and change of the state thereby.
In the following, as a specific example, description is given with reference to a case of applying the optimal control problems of Formulae 1 to 7 to the four-legged robot 2A. When the four-legged robot 2A is to be controlled, the kinetic model of Formula 4 may be represented as below.
wherein pcom, lcom are functions that represent translational momentum and angular momentum of the center of gravity of the four-legged robot 2A and that depend on a position xb, a rotation θb, a translational speed vb, and a rotational speed ωb of the base 22b, articulation angles θl and θa and articulation angular speeds ωl and ωa of the leg 22a and the arm 21. Furthermore, nl and na are the numbers of contact points of the leg 22a and the arm 21, rl,i and ra,i are lengths from the center of gravity to contact points i of the leg 22a and the arm 21, fl,i and fa,i are contact forces generated at the contact points i of the leg 22a and the arm 21, Tl,i and Ta,i are contact torques generated at the contact points I of the leg 22a and the arm 21, and mg is a force generated at the center of gravity by the gravity force.
It should be noted that the way of describing the kinetic model is not limited to Formulae 8 and 9. For example, such a case can be employed that a term associated with centrifugal force or Coriolis force is added to Formula 8 to describe the kinetic model in more detail or that a term associated with inertia force of the leg 22a to reduce a computation amount.
Moreover, when the four-legged robot 2A is to be controlled, the equality constraint and the inequality constraint of Formulae 6 and 7 may be represented as below.
(When leg contact point i is not in contact condition.)
(When leg contact point i is not in contact condition.)
(When leg contact point i is in contact condition.)
wherein vl,i is a speed of the contact point i of the leg 22a, fl,ix, fl,iy, fl,iz are forces generated at the contact point i in tangential directions x, y and a normal direction z with respect to a contact surface. Formulae 10 and 11 define conditions that the contact point i does not slide on the contact surface. Moreover, the equality constraint of Formula 6 and the inequality constraint of Formula 7 can be added or deleted in accordance with performance and the target motion of the four-legged robot 2A. For example, the upper and lower limits of the articulation angle and the articulation angular speed of the leg 22a can be added as the inequality constraints.
By solving the optimal control problems of Formulae 1 to 7 using the kinetic model of Formulae 8 and 9 and the equality constraint and the inequality constraint of Formulae 10 to 12 in the case in which the four-legged robot 2A is to be controlled as described above, it is made possible to calculate such an articulation angle θl (or articulation angular speed ωl, articulation angular acceleration αl) of the leg 22a that any of the states xb, vb, θb, and ωb of the base 22b of the four-legged robot 2A follows the target state xb,ref, vb,ref, θb,ref, or ωb,ref and output the result to the moving part 22 as a movement control instruction C2.
Now, when performing the model predictive control based on the optimal control problems of Formulae 1 to 7 in the actual environment, there can be a difference in the states of the four-legged robot 2A or the peripheral environment between a predicted value and a measured value due to the effect of the kinetic model or the disturbance. Thus, it is possible to feed back to the movement control part 13 information from a sensor provided to the four-legged robot 2A (e.g., an articulation state obtained from an encoder provided to the articulation of the leg 22a, a posture obtained from an inertia measurement unit provided to the base 22b, and the like) and use the information for correction of the control instruction C or as the initial condition of Formula 5.
Furthermore, by setting an arm state transition θa* (or articulation angular speed transition ωa*, articulation angular acceleration transition αa*) generated by the arm control part 12 as an articulation angle θa (or articulation angular speed ωa, articulation angular acceleration αa) of the arm 21 appearing in the kinetic model of Formulae 8 and 9, or by adding Formulae 13, 14, and 15 as equality constraints of Formula 6 in the optimal control problems of Formulae 1 to 7, it is made possible to generate the movement control instruction C2 taking into consideration the effect of the inertia force of the arm 21.
There can be a case in which any of Formulae 13, 14, and 15 is omitted. If load is applied to the end effector 21a of the arm 21, it is also possible to add an equality constrain associated with a force fa generated in the end effector 21a. At this point, in the process that the arm control part 12 calculates the arm control instruction C1, in a case in which the arm control part 12 can obtain the arm state transition θa* in the evaluation period [t0,tf] such as, for example, a case in which the arm control part 12 uses the model predictive control or uses learning-type control based on prediction of an environmental state, the obtained arm state transition θa* can be output to the movement control part 13 as it is. On the other hand, in the process that the arm control part 12 calculates the arm control instruction C1, in a case in which the arm control part 12 does not obtain the arm state transition θa* in the evaluation period [t0,tf], for example, the arm control part 12 can estimate the arm state transition θa* by extrapolating a future control instruction CF with reference to a control instruction CP in the past.
Setting a weight Qi of a state variant xi appearing in Formula 2 to be larger in the optimal control problems of Formulae 1 to 7 can increase followability of the state variant xi with respect to a target state xi,ref. On the other hand, with the optimal control problem based on the set parameter (e.g., weight matrix, evaluation period, target state, and the like), it may not be possible to derive the solution to have the state of the moving part 22 follow the target state. In that case, the state of the moving part 22 may deviate from the target state leading to failure of the target motion of the arm 21, or the moving part 22 may not be able to keep a stable posture to fall down. Otherwise, even if the state of the moving part 22 can follow the target state, there may be a large load applied to the articulation of the leg 22a for the moving part 22 to retain the target state, resulting in consumption of excessive power or early degradation of the driving part. A method of adjusting a parameter in advance so that the state of the moving part 22 can follow the target state and the load on the driving part is reduced is also conceivable.
However, in a situation in which full information about the state of the operation object or the peripheral environment is not available in advance or in which their state may dynamically change, it is difficult to prepare an effective parameter for every situation in advance. Moreover, it is also not practical to perform an arithmetic operation online in real time during control of the robot 2.
To solve this problem, the present embodiment proposes the following method of setting an allowable range in advance with respect to a state variant in the optimal control problems of Formulae 1 to 7 based on characteristics of the target motion of the arm 21.
In the first place, in performing the target motion of the arm 21, it is not essential for the state of the moving part 22 to strictly follow the target state. For example, in a case in which the target motion is processing of the operation object and the required quality is satisfied if only the result of the processing is within a certain range, it suffices to control the moving part 22 to perform the processing within the range. Moreover, also in a case in which the arm control part 12 controls the arm 21 based on a feedback of information of the sensor provided to the robot 2, if only the state of the moving part 22 is within the certain range, the arm control instruction C1 may be corrected on the bases of the difference between the actual state and the target state of the moving part 22 to achieve the target motion.
Accordingly, by considering the characteristics of the target motion of the arm 21, it is made possible to set the allowable range for achieving the target motion of the arm 21 in advance with respect to the state variant. This makes it possible to select the state of the moving part 22 within a range that satisfies the allowable range and increases a probability of deriving the solution to achieve the target motion of the arm 21. Furthermore, it can be expected to reduce the load on the power consumption or the driving part when controlling the moving part 22.
Examples of the method of setting the allowable range for the state variant x to achieve the target motion of the arm 21 are, for example, the following two.
A first allowable range setting method is a method in which the following formula is added as the inequality constraint of Formula 7 in the optimal control problems of Formulae 1 to 7.
wherein, xi is a state variant for setting an allowable range, and xmin and xmax are a lower limit and an upper limit of xi required for achieving the target motion of the arm 21. At this point, the state variant xi may be a variant other than the state of the moving part 22. For example, the position or the posture of the contact point of the arm 21 may be set as the state variant xi. Moreover, the allowable range of Formula 13 may be set with respect to a plurality of state variants. It should be noted that the lower limit xmin and the upper limit xmax may be input by a user via the allowable range input part 31 or may be automatically generated by the motion planning part 11 using machine learning or the like.
A second allowable range setting method is a method of adjusting the weight matrix in the evaluation function of Formula 2 in the optimal control problems of Formulae 1 to 7. For example, since the followability to the target state xi,ref can be reduced by reducing the weight Qi associated with the state variant xi, it is possible to derive the movement control instruction C2 capable of achieving the target motion of the arm 21 by setting Qi so that Formula 13 is satisfied when the optimal control problems of Formulae 1 to 7 is solved. It should be noted that the weight Qi in this case may be input by the user via the allowable range input part 31 or may be automatically generated by the motion planning part 11 using machine learning or the like.
Moreover, it is also possible to combine these two allowable range setting methods. For example, it is possible to adjust easiness of change of xi within the set allowable range using Qi after explicitly setting the allowable range of Formula 13 with respect to xi.
Although the specific example was described with reference to the four-legged robot 2A in the present embodiment, the example can be extended to a case in which the robot 2 is the humanoid robot 2B or the unmanned aerial vehicle 2C by replacing the kinetic model in Formula 4 or the equality constraint and the inequality constraint in Formulae 6 and 7 in accordance with the form of the robot 2.
For example, when controlling the humanoid robot 2B, the kinetic models of Formulae 8 and 9 and the constraint conditions of Formulae 10, 11, and 12 as they are by setting the number of contacts in the leg 22a and the arm 21 to nl and na and handling the base 22b and its head collectively as a body.
Moreover, when controlling the unmanned aerial vehicle 2C, it suffices to represent the kinetic model of Formula 4 with a translational motion equation (Formula 17) in an inertial system and a rotational motion equation (Formula 18) in a body frame with its origin at the center of gravity of the unmanned aerial vehicle 2C.
wherein, pcom, lcom are functions that represent the translational momentum and the angular momentum of the center of gravity of the unmanned aerial vehicle 2C and that depend on the position xb, the rotation angle θb, the translational speed vb, and the rotational speed ωb of the base 22b and the articulation angle θa and the articulation angular speed ωa of the arm 21. Furthermore, na is the number of the contact points of the base 22b, ra,i is the length from the center of gravity to the contact point i of the arm 21, fa,i is the contact force generated at the contact point i of the arm 21, τa,i is the contact torque generated at the contact point i of the arm 21, and mg is the force generated at the center of gravity by the gravity force. Moreover, R is a rotation matrix for transforming from the body frame to the inertial system, and Fw and τw are the thrust and the torque generated to the unmanned aerial vehicle 2C by the rotation of the rotor blade 22c. The thrust Fw and the torque τw are proportional to a square of the number of rotations ωb of the rotor blade 22c.
It should be noted that the way of describing the kinetic model of the unmanned aerial vehicle 2C is not limited to Formulae 17 and 18, and it is possible, for example, to add a term associated with air resistance to the translational motion equation of Formula 17,or to add a term associated with viscous resistance of the air to the rotational motion equation of Formula 18. Moreover, although the constraint condition of Formulae 6 and 7 does not necessarily have to be given, for example, the upper limit of the number of rotations ωw of the rotor blade 22c can be given as the inequality constraint of Formula 7.
As described above, by solving the optimal control problems of Formulae 1 to 7 using the kinetic models of Formulae 17 and 18, it is made possible to calculate the number of rotations ωw (or the thrust of each rotor blade 22c, such an angular speed of each rotor blade 22c, or the like) of the rotor blade 22c of the unmanned aerial vehicle 2C that any of the states xb, vb, θb, and ωb of the base 22b follows the target states xb,ref, vb,ref, θb,ref, ωb,ref and output the result to the moving part 22 as the moving part control instruction.
Next, a specific operation of the robot control system 100 in a case in which the robot 2 is the four-legged robot 2A is described with reference to
To achieve the target motion shown in
To satisfy the required quality of the target motion, a target posture can be set with respect to the posture (xbx, xby, xbz, θbx, θby, θbz) of the base 22b of the robot 2 so as to satisfy (xbx,ref, xby,ref, xbz,ref, θbx,ref, θby,ref, θbz,ref)=(vx,0t, xby,0, xbz,0, θbx,0, θby,0, θbz,0). In the above-described expressions, xbx,ref represents a target posture so that the base 22b moves in the x direction at a constant speed vx0, and others represent target postures to retain their initial values.
In addition, to satisfy the required quality of the target motion of coating, xay,min<xay<xay,max can be set to a position xay of the end effector 21a of the arm 21 in the y direction as the inequality constraint of Formula 13. Here, as long as the required quality is satisfied, the inequality constraint of Formula 13 may be set to other state variants such as the position or the posture of the base 22b. Moreover, in a case in which coating shift in a vertical direction (z direction) of the wall surface W is allowable, an inequality constraint xaz,min<xaz<xaz,max can be set with respect to a position xaz in the z direction of the end effector 21a of the arm 21. Otherwise, assuming that the diffusion of the coating material due to change in xay can influence the coating shift with respect to the vertical direction of the wall surface W, xay−z,min<Axay+Bxaz<xay−z,max can be set as the inequality constraint. In the above-described expression, A and B are constants of proportionality.
A procedure of achieving the target motion with the robot control system 100 shown in
First, the motion planning part 11 instructs the arm control part 12 to perform the target motion. At the same time, the motion planning part 11 outputs the target posture with respect to the base 22b and the allowable range with respect to the position of the end effector 21a of the arm 21 to the movement control part 13.
Subsequently, the arm control part 12 outputs the arm control instruction C1 for achieving the target motion to the atm 21 at a control cycle Ta. At the same time, the arm control part 12 outputs information about the arm state transition θa* to the movement control part 13. In a case of this target motion, it is possible to output the information about the state of the articulation J of the arm 21 that does not change over time as the information about the arm state transition θa*. At this time, although the actual control is performed to change an angle of the articulation Je of the arm 21 based on the feedback of the sensor information, it is assumed that the change in the inertial force due to the change in the angle of the articulation Je is small and its influence to the dynamics of the moving part 22 is small.
Then, the movement control part 13 calculates the movement control instruction C2 that follows the target posture of the base 22b while considering the information about the arm state transition θa* using the model predictive control based on the optimal control problems of Formulae 1 to 7, and outputs the result to the moving part 22 at a control cycle Tb. This allows the moving part 22 to be appropriately controlled on the basis of the information about the arm state transition θa*.
First, a robot control result in a case in which the movement control part 13 of the control device 1 does not consider an allowable range for the position xay of the end effector 21a is described. In this case, as shown in the left view of
However, in the state of the left view of
Next, the control result in a case in which the movement control part 13 of the control device 1 considers the allowable range for the position xay of the end effector 21a. In this case, although the posture of the base 22b of the robot 2 is rotated in the direction of θbx as shown in the right view of
At this point, as shown in the right view of
Although spray coating is used as the target motion in
As described above, according to the robot control system of the present embodiment, it is possible to easily obtain an appropriate moving part control law even when there are many combinations of the arm states and the moving part states to achieve the target motion by setting the allowable range for the state variant in advance.
Next, the robot control system 100 according to Second embodiment of the present invention is described with reference to
To achieve the target motion, the arm control part 12 firstly recognizes the state of the operation object Ob from image information I1 of the peripheral environment imaged by a camera 23 included in the robot 2. Consequently, a future track of the operation object Ob is predicted on the basis of time series information about the operation object Ob and the target track of the arm 21 for gripping the operation object Ob is generated. This is equivalent to the method of controlling the arm 21 for gripping the operation object Ob moving on a belt conveyor or the like. Therefore, the existing control technique for the arm 21 can be used for controlling the arm control part 12 as it is by moving the moving part 22 connected to the arm 21 instead of moving the operation object Ob.
Here, the arm control part 12 shall be able to evaluate from the time series image information I1 of the operation object Ob captured by the camera 23 whether the arm 21 can grip the operation object Ob when the moving part 22 moves from the current position at a certain speed. In that case, it shall be possible to determine an upper limit vbx,max of the speed of the moving part 22 for the arm 21 to grip the operation object Ob. At this point, the shorter a distance ra−o between the end effector 21a of the arm 21 and the operation object Ob is, the smaller vbx,max becomes, because it becomes difficult to forestall the end effector 21a of the arm 21 in accordance with a predicted track of the operation object Ob. Thus, because vbx,max changes depending on ra−o, the allowable range set to achieve the target motion also changes on the basis of ra−o.
As described above, the target posture at a time t+Δt with respect to the posture (xbx, xby, xbz, θbx, θby, θbz) of the base 22b can be set as (xbx,ref, xby,ref, xbz,ref, θbx,ref, θby,ref, θbz,ref)=(xbx,t+vbx,max(t)Δt, xby,0, xbz,0, θbx,0, θby,0, θbz,0). Here, xbx,t is the position of the base 22b on the x axis at the time t, and vbx,max(t) is the upper limit of the speed of the moving part 22 at the time t. In addition, the allowable range for the arm 21 to grip the operation object Ob can be set as vbx,min<vbx<vbx,max as the inequality constraint of Formula 13 with respect to the translational speed vbx of the base 22b. Here, any speed lower than vbx,max may be set for vbx,min. In this case, vbx,min=vbx,max/2 is set to guarantee the minimum moving speed.
First, the motion planning part 11 instructs the arm control part 12 to perform the target motion. Next, the arm control part 12 generates the arm control instruction C1 based on the image information I1 imaged by the camera 23 and outputs the arm control instruction C1 to the arm 21 at the control cycle Ta. At the same time, the arm control part 12 generates the arm state transition θa* and the transition of the allowable range vbx,max based thereon and outputs the arm state transition θa* to the movement control part 13 and the allowable range transition to the motion planning part 11. The arm state transition θa* can be generated, for example, assuming that the operation object Ob moves at a constant speed, by predicting the target track to be taken by the arm 21 in the future.
Subsequently, the motion planning part 11 determines the target posture with respect to the posture of the base 22b and the allowable range for vbx on the basis of the allowable state transition and outputs the them to the movement control part 13. The movement control part 13 then calculates the movement control instruction C2 that follows the target posture of the base 22b considering the information about the arm state transition θa* and using the model predictive control based on the optimal control problems of Formulae 1 to 7, and outputs the result to the moving part 22 at the control cycle Tb. At this point, if the movement control instruction C2 changes, the position of the operation object Ob captured by the camera 23 also changes, and therefore the arm control instruction C1 generated by the arm control part 12 is modified. Therefore, in the process that the movement control part 13 calculates the movement control instruction C2 based on the optimal control problems of Formulae 1 to 7, the arm state transition θa* is changed.
To take a correct arm state transition θa* into consideration, it is also possible to successively modify the arm state transition θa* in the process of the optimization calculation with the optimal control problems of Formulae 1 to 7. For example, the arm state transition θa* can be modified at a low calculation cost by approximating the arm state as a function pertaining to the distance ra−o between the end effector 21a of the arm 21 and the operation object Ob. On the other hand, when using the model predictive control, because the calculation of the movement control instruction C2 based on the updated arm state transition θa* is performed at the control cycle Tb, it is possible to calculate the movement control instruction C2 that does not largely deviate from an optimal solution even if the arm state transition θa* is not correct to some extent.
Here, in a case in which the control cycle Ta of the arm control part 12 and the control cycle Tb of the movement control part 13 are different from one another, update cycles of the arm state transition θa* and the allowable range transition may be either of Ta or Tb. The cycle at which the motion planning part 11 outputs the target posture and the allowable range to the movement control part 13 may be equal to Ta or Tb or may be any other cycle.
There is a possible case in which the arm control part 12 cannot perform the target motion because the distance between the robot 2 and the operation object Ob is too large. In that case, it is possible to employ a method of feeding back the image information I1 of the camera 23 to the motion planning part 11 and starting an instruction of the target motion to the arm control part 12 at a timing at which the distance between the robot 2 and the operation object Ob is reduced below a certain reference value. At this point, it is possible to instruct the target position or the target posture to the movement control part 13 so as to move toward the operation object Ob at a certain speed until starting the instruction of the target motion with respect to the arm control part 12.
First, a control result 10a in a case in which the movement control part 13 of the control device 1 does not consider the allowable range for the translational speed vbx of the base 22b is described. The arm 21 can grip the operation object at the position xm by the posture of the base 22b of the robot 2 follows the target posture as shown in the left view of
Next, a control result 10b in a case in which the movement control part 13 of the control device 1 considers the allowable range for the translational speed vbx of the base 22b is described. It is noted here that, in addition to the allowable range for the moving speed vbx of the base 22b, xbz,min<xbz<xbz,max is given as an allowable range for the position xbz of the base 22b in the z direction. As compared to the case in which the allowable range is not considered as shown in the left view of
Although gripping of a static object is taken as an example of the target motion in this embodiment, the allowable range can be set in a similar procedure target motion is replaced by gripping of a dynamic object, installation of the gripped object, or pressing of a switch button. Moreover, in a case in which an external force is applied to the end effector 21a of the arm 21 by gripping of the operation object Ob or contact with the peripheral environment, it is possible to control the moving part taking into consideration the external force generated in the arm 21 such as by measuring the external force with the force sensor included in the arm 21 and setting the measurement to fa appearing in the kinetic model of Formula 9. Otherwise, it is also possible to describe the state transition of the operation object Ob and the peripheral environment in the kinetic model of Formula 9 and thereby considering their behaviors more correctly.
Moreover, the system of this embodiment including the camera 23 can determine the target state of the base 22b and the target position of the contact point of the leg 22a by feeding back the information from the camera 23 to the movement control part 13 and thereby recognizing obstacles and geographical features in the peripheral environment.
Next, the robot control system 100 according to Third Embodiment of the present invention is described with reference to
At the allowable range input part 31, information about the allowable range is input by the user via a keyboard, a touch panel, a joystick, or the like, and the information about the allowable range is output to the motion planning part 11. Specifically, the information is input as a weight matrix in the inequality constraint of Formula 13 and the optimal control problem in Formulae 1 to 3 with respect to a state variant. At this point, the values input as the upper and lower limits in the inequality of Formula 13 may be a constant like the allowable range for the target motion in First Embodiment or may be a function that depends on a certain variant.
The operation part 32 obtains a result of the robot 2 having been controlled under the information about the input allowable range by the information from the sensor 24, and computes information to be presented to the user based on the obtained information. It should be noted that the operation part 32 is a function part achieved by a computer different from the computer that constitutes the control device 1 or a function part achieved by the same computer as the control device 1.
The display part 33 is a display device such as a liquid crystal display that displays the information computed by the operation part 32.
If the state variant to which the allowable range is set does not fall in the allowable range 33b, if the robot 2 falls down while performing the target motion, or if the robot 2 runs out of power before achieving the target motion, NG is displayed on a result of target motion 33d and the user can correct the allowable range 33b based on the information. It is also possible to correct the allowable range or the target state pertaining to a moving speed 33c of the base 22b output from the motion planning part 11 to the moving part control part 13 on the basis of the information about the moving speed 33c of the body or an estimated completion time 33e of the target motion displayed on the display part 33. At this point, the configuration of the display part 33 is not limited to what is shown in
The configuration of the robot control system 100 in
Next, the robot control system 100 according to Fourth Embodiment of the present invention is described with reference to
At a movement command input part 35, the movement command (position, posture, translational speed, and the like of the base 22b) and the allowable range represented as the inequality constraint of Formula 13 are input by the allowable range input part 31. At the movement control part 13, the movement control instruction C2 taking the arm state transition θa* into consideration is calculated using the optimal control problems of Formulae 1 to 7 based on the moving part motion command and the allowable range, and output to the moving part 22 at the control cycle Tb.
In this embodiment, because the arm motion command is input by the user, the allowable range to achieve the target motion depends on an operation of the user. For example, a target motion is assumed in which an instrument is imaged with the camera 23 included in the arm 21 by the user operating the arm 21 while the moving part 22 of the robot 2 is moving at a constant speed and the user reads information of the instrument from an image taken by the camera 23 displayed on the display part 33. In this case, as the base 22b of the robot 2 vertically vibrates on a large scale during movement, the information of the instrument cannot be correctly read from the image taken by the camera 23. Thus, achievement of such a target motion that improves image quality of the camera 23 can be assisted by the user modifying the allowable range for the vertical vibration based on the image quality of the camera 23 displayed on the display part 33 and inputting the result to the movement command input part 35.
Although instrument reading is taken as an example of the target motion in this embodiment, the allowable range can be set in a similar procedure even if the user operates the arm 21 on the basis of the target motion such as gripping, installation, passing, throwing of the operation object, or pressing of the switch button.
Number | Date | Country | Kind |
---|---|---|---|
2023-080693 | May 2023 | JP | national |