WO2026014246A1 - モバイルロボット - Google Patents
モバイルロボットInfo
- Publication number
- WO2026014246A1 WO2026014246A1 PCT/JP2025/022920 JP2025022920W WO2026014246A1 WO 2026014246 A1 WO2026014246 A1 WO 2026014246A1 JP 2025022920 W JP2025022920 W JP 2025022920W WO 2026014246 A1 WO2026014246 A1 WO 2026014246A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mobile robot
- command
- manipulator
- commands
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
Definitions
- This disclosure relates to a mobile robot.
- Mobile robots are used in factories and other places. Some mobile robots are equipped with a manipulator equipped with an arm (multiple links) with multiple joints, and a cart on which the manipulator is mounted, with the manipulator being movable by driving the cart. Such mobile robots are required to be able to quickly move to their target location while preventing the manipulator from tipping over.
- Non-Patent Documents 1 and 2 disclose a mobile robot that can prevent tipping over while moving by controlling the motion of five-degree-of-freedom inverted pendulum hardware to which a two-degree-of-freedom inverted pendulum model is applied, and the translational speed of the mobile platform (hereinafter referred to as the cart).
- Non-Patent Documents 1 and 2 control the translational speed of the cart on the condition that the displacement of the zero moment point (hereinafter referred to as ZMP) from a target position (for example, the center position of the cart) is constrained to zero. As a result, tipping over due to translational motion of the cart is prevented, but it is not sufficient in terms of followability to changes in the target speed.
- ZMP zero moment point
- the present disclosure aims to provide a mobile robot equipped with a cart and a manipulator that is controlled so that the cart can easily follow changes in the target speed while utilizing the movement of the manipulator to prevent tipping over.
- the mobile robot comprises a wheeled carriage, a manipulator with an arm having multiple joints, and a robot controller for controlling the carriage and the manipulator.
- the robot controller comprises a target carriage state acquisition unit that acquires a target carriage state, which is a target state of the carriage for causing the mobile robot to travel according to a travel plan; a motion generation unit that calculates commands that minimize the value of an objective function that allows the position of the mobile robot's zero moment point to move within a predetermined range set within the mobile robot's support area and includes a term for the error amount between the target state and a predicted state of the mobile robot over a certain future time range, and generates, based on the commands, joint commands that are motion commands for motor drivers that drive the joints of the manipulator and wheel commands that are motion commands for motor drivers that drive the wheels; and an execution control unit that operates the mobile robot by periodically executing the motion generation unit.
- the mobile robot disclosed herein is equipped with a cart and a manipulator, and is controlled to ensure good tracking of the cart in response to changes in the target speed while utilizing the movement of the manipulator to prevent tipping.
- FIG. 1 is a schematic diagram illustrating the general configuration of a mobile robot 1 according to a first embodiment.
- FIG. FIG. 2 is a block diagram illustrating the hardware configuration of a control unit 30 that controls the operation of the mobile robot 1.
- FIG. 2 is a functional block diagram showing an example of the configuration of a control unit 30.
- FIG. 10 is a schematic diagram illustrating a coarse-grained model motion planning unit 34.
- FIG. 1 is a schematic diagram illustrating the movement of the zero moment point (ZMP).
- ZMP zero moment point
- 10 is a flowchart illustrating a procedure for calculating an optimization problem in a coarse-grained model motion planning unit 34.
- FIG. 10 is a block diagram illustrating the configuration of an action generation unit 31 according to a second embodiment.
- FIG. 11 is a block diagram illustrating a configuration of an action generation unit 31 according to a third embodiment.
- FIG. 13 is a block diagram illustrating the configuration of an action generation unit 31 according to a fourth embodiment.
- a “manipulator” may be a device that has an end effector, a camera, etc. at the tip of multiple links connected by multiple joints.
- a “travel plan” is a plan for a route, speed, etc., created for a future time range required for the purpose of travel.
- a “travel plan” may be created before the start of a trip, or it may be a plan that is dynamically created and modified while traveling.
- a “travel plan” may be a plan created outside the mobile robot and given to the mobile robot, or it may be a plan created by the mobile robot itself.
- the position of the zero moment point (ZMP) is allowed to change within a "predetermined range.”
- the means for allowing the ZMP position to change within a predetermined range may be an inequality constraint, or by including an error term for the ZMP position in the objective function.
- the parameters of the objective function can be appropriately set using experimental techniques, given the specifications of the mobile robot and limitations on running acceleration.
- “Target state, predicted state over a certain time range in the future” generally refers to the state at each of multiple time steps within that time range, but also includes the case where the number of time steps within that time range is one.
- the "command” in the “command that minimizes the value of the objective function” includes a command sequence (a group of commands that are sequential in time).
- the "motor driver” may be a control system that drives a motor so as to minimize an error relative to a target value, for example, a value given by an input command. Specific control methods in this control system may be torque control, position control, speed control, or a combination of these.
- the motion generator can create commands that include values of a type that is compatible with the control method of the motor driver.
- the mobile robot 1 includes a cart 10, a manipulator 20, a control unit 30, and an imaging unit 40.
- the cart 10 has wheels W (WA, WB) that allow it to translate or rotate, and the manipulator 20 is mounted on top of it.
- the manipulator 20 includes multiple joints and multiple links, as described below.
- the control unit 30 controls the cart 10 and the manipulator 20 according to a travel plan.
- the trolley 10 is roughly rectangular, but is not limited to this.
- the X-axis, Y-axis, and Z-axis are set as the coordinate system of the trolley 10.
- the X-axis direction is the front-to-rear direction of the trolley 10
- the Y-axis is the left-to-right direction of the trolley 10
- the Z-axis is the height direction of the trolley 10.
- This left-to-right direction is also the width direction of the trolley 10.
- the height direction of the trolley 10 coincides with the vertical direction.
- the cart 10 is equipped with a movement mechanism 11.
- the movement mechanism 11 has two drive wheels WA, two driven wheels WB, and two rotational drive sources (motors, not shown) that independently drive the two drive wheels WA.
- the drive wheels WA and driven wheels WB are sometimes collectively referred to as "wheels W.”
- the drive wheels WA and driven wheels WB are in contact with the floor surface LF, thereby supporting the mobile robot 1 and moving the cart 10.
- the rectangle connecting the four contact points of the drive wheels WA and driven wheels WB constitutes the support area SA.
- the cart 10 may have three or more wheels W so that the manipulator 20 can be stably placed on it, and the area connecting the contact points of the three or more wheels W may constitute the support area.
- the drive wheels WA are rotationally driven by a rotary drive source (not shown). For example, by rotating the two drive wheels WA at a constant rotational speed, the trolley 10 can be made to move linearly (translationally). Furthermore, by making the rotational speeds of the two drive wheels WA different (differential), the trolley 10 can be made to turn.
- the driven wheels WB are not rotationally driven by a rotary drive source, but are capable of rotating due to the frictional force with the floor surface LF caused by the drive of the drive wheels WA. Furthermore, the rotation axis of the driven wheels WB can change direction freely within a horizontal plane. In other words, the driven wheels WB are swivel casters (swivel casters).
- the manipulator 20 also includes multiple joints J, multiple links L, and an end effector H.
- a link L is the portion between two adjacent joints J.
- Each of the multiple joints J is configured to be rotatable about a rotation axis AX (in Figure 1, the symbol AX is shown for only some of the joints J). This allows the manipulator 20 to move the end effector H to any position by rotating the joints J.
- the end effector H is a device configured to be able to hold an object, and may be, for example, a robot hand or a suction pad.
- the imaging unit 40 is mounted on the manipulator 20 and captures images of the area around the manipulator 20.
- the control unit 30 has a computer 100.
- the computer 100 has a processor 102, memory 104, storage 106, input device 108, output device 110, storage medium reader 112, and communication I/F (Interface) 114.
- processor 102 processor 102
- memory 104 storage 106
- input device 108 output device 110
- storage medium reader 112 storage medium reader 112
- communication I/F Interface
- Storage 106 stores a control program 118 for controlling the mobile robot 1.
- Processor 102 is capable of executing various programs and controlling each element. Specifically, processor 102 reads the program from storage 106 and executes the program using memory 104 as a working area. In other words, processor 102 controls each element and performs various arithmetic operations in accordance with the program stored in storage 106.
- Memory 104 can temporarily store programs and various data as a working area.
- Storage 106 is, for example, a ROM (Read Only Memory), HDD (Hard Disc Drive), or SSD (Solid State Drive), and stores various programs and data. These programs include not only application programs such as the control programs mentioned above, but also the operating system.
- the input device 108 is a device for making various inputs to the computer 100.
- the input device 108 includes operation switches and operation buttons, and may also include pointing devices such as keyboards and mice used in personal computers.
- the output device 110 is a device for outputting various types of information from the computer 100, and includes, for example, a display, indicator lamps, speakers, etc.
- a touch panel display can also be used as the output device 110, in which case the touch panel display also functions as the input device 108.
- the input device 108 and output device 110 may be detachable when the mobile robot 1 is in operation. Without the input device 108 and output device 110, operational commands and other information for the mobile robot 1 may be input and the operational status and other information of the mobile robot 1 may be output via wireless communication via the communication I/F 114.
- the storage medium reader 112 is a device that reads data stored on various storage media and writes data to storage media.
- Examples of storage media include CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, Blu-ray Disc, and USB (Universal Serial Bus) memory.
- the communication I/F 114 is an interface for communicating with other devices.
- Standards such as Ethernet (registered trademark) and FDDI (Fiber Distributed Data Interface) are used for communication.
- each joint J rotates around its respective rotation axis AX as a result of a drive source (not shown) being controlled by the motor driver MD via the control unit 30.
- the end effector H also has a drive source (not shown) controlled by the motor driver MD via the control unit 30, and performs predetermined gripping, suction, manipulation, movement, processing, etc. on an object.
- the drive wheels WA rotate as a rotational drive source (not shown) is controlled by the control unit 30.
- control unit 30 of the mobile robot 1 is broadly composed of an action generation unit 31, an execution control unit 32, and a target cart state generation unit 33, which are implemented within the computer 100 by the control program 118.
- the target bogie state generation unit 33 can generate target bogie state information including the target state of the bogie 10 (target translational velocity v ref , angular velocity ⁇ ref , etc.) in accordance with the travel plan (target bogie trajectory) of the bogie 10.
- the motion generation unit 31 receives this target bogie state information and outputs command signals (joint command signals, wheel command signals) for controlling the bogie 10 and the manipulator 20.
- the motor driver MD receives this command signal, generates a drive signal, and drives various rotational drive units (not shown).
- the motor driver MD may also have the function of feeding back signals indicating the current state of the various rotational drive units to the motion generation unit 31.
- the execution control unit 32 operates the mobile robot 1 by periodically operating the motion generation unit 31.
- the motion generation unit 31 may, for example, be composed of a coarse-grained model motion planning unit 34 and a whole-body motion generation unit 35.
- the coarse-grained model motion planning unit 34 converts the motion of the manipulator 20 into a coarse-grained model (e.g., an inverted pendulum model) and generates a motion plan for the coarse-grained model.
- the coarse-grained model motion planning unit 34 generates and outputs, as commands, adjusted state quantities of the coarse-grained model and adjusted state quantities of the carriage 10 that allow the position of the zero moment point of the mobile robot 1 to move within a predetermined range set within the mobile robot's support domain and minimize the value of an objective function that includes a term for the error amount between the target state and predicted state of the mobile robot 1 over a certain future time range.
- the commands output by the coarse-grained model motion planning unit 34 can be adjusted model state commands (e.g., adjusted pendulum angles q pitch_c , q roll_c , adjusted pendulum angular velocities ⁇ q pitch_c , ⁇ q roll_c ) that command adjusted state quantities of the coarse-grained model, and adjusted bogie state commands (e.g., adjusted translational velocity v c , adjusted angular velocity ⁇ c ) that command adjusted state quantities of the bogie 10.
- the coarse-grained model is a virtual mechanism in which the total mass of multiple mass points is made equal to the mass of the manipulator 20, has fewer links than the manipulator 20, and moves the manipulator 20 with fewer degrees of freedom.
- the whole-body movement generation unit 35 generates and outputs various commands to be supplied to the motor driver MD in accordance with the commands supplied from the coarse-grained model movement planning unit 34.
- the whole-body movement generation unit 35 can include a center of gravity command generation unit 36 and a whole-body command generation unit 37.
- the center of gravity command generator 36 outputs a manipulator center of gravity command, which is an operation command related to the center of gravity of the manipulator 20, in accordance with the adjusted model state command.
- the manipulator center of gravity command may include, for example, a manipulator center of gravity position command ⁇ p(cmd, CoG) related to the position of the center of gravity of the manipulator 20, and a manipulator center of gravity velocity command ⁇ p ⁇ (cmd, CoG) related to the velocity of the center of gravity.
- the whole-body command generation unit 37 outputs joint command signals and wheel command signals for controlling the motor driver MD based on the manipulator center of gravity command and the adjustment carriage state command.
- the coarse-grained model motion planning unit 34 will be described in more detail with reference to Figure 4.
- the coarse-grained model motion planning unit 34 uses an inverted pendulum model as the coarse-grained model to coarse-grain the manipulator 20.
- the inverted pendulum model In the inverted pendulum model, the roll and pitch rotate independently.
- ZMP zero moment point
- the ZMP can be calculated, for example, using the method described below.
- gravity F1 and inertial force F2 act on the center of gravity GP1 of the entire mobile robot 1.
- Inertial force F2 is the resultant of the inertial force associated with the mobile robot 1's forward/backward acceleration, the centrifugal force associated with its turning, and the inertial force associated with the movement of link L due to the drive of multiple joints J.
- the point where the direction of resultant force F3 of gravity F1 and inertial force F2 intersects with the floor LF is called the zero moment point (ZMP).
- ZMP zero moment point
- C Z1 , C Z2 , and C Z3 are scalar quantities determined from geometric characteristics.
- the scalar quantities C Z1 , C Z2 , and C Z3 may be determined by identification or calculated using design values. Furthermore, by using [Equation 2], it can be transformed into the following equations for the state quantities and input quantities.
- the centrifugal acceleration a L can be approximated as follows using the turning velocity ⁇ (actual angular velocity or predicted angular velocity predicted as a current value) and the target translational velocity v ref so that the centrifugal acceleration a L is linearly related to the state quantity:
- C Z4 , C Z5 , and C Z6 are scalar quantities determined from geometric characteristics.
- the scalar quantities C Z4 , C Z5 , and C Z6 may be determined by identification or may be calculated using design values.
- [Equation 7] can be transformed into the following equations for state quantities and input quantities. Since v ref is time-varying, d b also becomes time-varying.
- ⁇ ref and v ref are command values sent from the target vehicle state generation unit 33, which is a higher-level controller, and k is a discrete time.
- the input amount u that reduces the tracking error of the command within a finite time while keeping the norm of the input amount small can be expressed by the objective function of the following equation 11.
- K(x, zb) and K(y, zb) are adjustment parameters introduced to mitigate modeling errors.
- Equation 14 The above explanation can be summarized into a single optimization problem as shown in [Equation 14] below.
- the ZMP position is allowed to move within a specified range.
- the means for allowing the ZMP position to move within a specified range can be an inequality constraint such as the above [Equation 13], or by including an error term for the ZMP position in the objective function.
- the ZMP position can be allowed to move within a specified range by appropriately setting the parameters of the objective function using experimental techniques, given the specifications of the mobile robot 1 and limitations on running acceleration.
- the translational velocity (adjusted translational velocity v c ), rotational velocity (adjusted angular velocity ⁇ c ), virtual pendulum angle (adjusted pendulum angle q pitch_c ), and virtual pendulum angular velocity (adjusted pendulum angular velocity ⁇ q pitch , ⁇ q roll_c ) for the next time point are generated.
- the pendulum angle and angular velocity are converted into the position (center of gravity position command ⁇ p(cmd, CoG)) and velocity (center of gravity velocity command ⁇ p(cmd, CoG)), respectively. These are output to the whole-body command generation unit 37 in the lower stage.
- M is the mass of the cart 10
- m is the mass of the inverted pendulum
- g is the acceleration of gravity
- x is the X-axis component of the center of gravity of the cart 10 in the global coordinate system
- l is the length from the base of the inverted pendulum to its center of gravity
- xj1 , z0 , and z1 are the X-axis component of the base position of the virtual pendulum, the height of the center of gravity of the cart 10, and the height of the center of gravity of the virtual pendulum, respectively.
- Iwh is the moment of inertia around the wheel axle.
- the X-axis component of the target ZMP position, XZMP0 can be set, for example, as follows:
- the whole-body command generation unit 37 formulates an objective function for calculating command values for the motor drivers MD that drive the joints J and wheels W of the manipulator 20 as an optimization problem, and generates command values by calculating a solution using a linear solver. Specifically, an objective function for making the center of gravity velocity and hand velocity of the manipulator 20 follow desired values, and for making the velocities of the wheels W and cart 10 follow desired values, is formulated as an optimization problem.
- an objective function is designed to make the speed of the carriage 10, the speed of the center of gravity of the manipulator 20, and the speed of the end effector H of the manipulator 20 follow desired values.
- ⁇ A ⁇ and ⁇ A ⁇ are constraint condition coefficient matrices that are uniquely determined from the geometric structure of the bogie 10. More specifically, ⁇ A ⁇ is a coefficient related to the attitude of the bogie 10 and the distance between both wheels, and ⁇ A_ ⁇ is a coefficient related to the wheel radius. ⁇ includes the rotational speed of each wheel and the rotational speed of each joint, and here, the significant information for control is the rotational speed of each wheel.
- K(CoG, p) is a gain related to the position error.
- ⁇ p(ref, CoG) and the robot's center of gravity Jacobian ⁇ J CoG the tracking error of the center of gravity can be expressed as follows:
- the significant information for control of each axis velocity ⁇ is the angular velocity of each joint J.
- the maximum and minimum values of the speed of each axis of the manipulator 20 are introduced as constraints.
- appropriate thresholds are set for the hardware specifications, and inequality constraints are set as follows, sandwiching the corresponding variables between them.
- each link is approximated by a capsule shape, and the closest distance vs. self ( ⁇ ) between capsules, excluding adjacent capsules, is constrained to not exceed a certain threshold dclosest.
- Equation 25 The above can be summarized as a single optimization problem, as shown in Equation 25.
- This optimization problem is solved in the whole-body command generation unit 37 to generate joint velocity commands and wheel velocity commands.
- the rotational speed of each wheel W of the carriage can be calculated directly using the relationship in [Equation 20], and the objective function in [Equation 25] can include only the second and third terms, which relate to the speed of the joint J of the manipulator 20. Furthermore, if stabilization of the position of the tool center point TCP is not desired, the third term is unnecessary.
- the whole-body command generation unit 37 can output the calculated speed commands for each axis of the manipulator 20 and the speed commands for the wheels W to the motor driver MD as joint commands and wheel commands.
- the whole-body command generation unit 37 can integrate the calculated velocity commands for each axis of the manipulator 20 and the velocity commands for the wheels W, convert them into angle commands, and output them to the motor driver MD as joint commands and wheel commands.
- the whole-body command generation unit 37 converts the calculated velocity commands for each axis into torque commands using the calculated torque method (dynamics model) and passes them to the motor driver MD as joint commands and wheel commands.
- the rotation drive unit (motor) driven by the motor driver MD can be equipped with a current loop control controller, which can be tuned separately.
- step S11 the state quantity of the mobile robot 1 ⁇ z is calculated based on information from sensors (not shown) etc.
- the current state quantity may be obtained as an estimated value by a state observer etc.
- step S12 a feasible solution is set.
- a feasible solution must satisfy the equality and inequality constraints.
- step S13 the value of the objective function (Equation 11) is obtained based on the set feasible solution, and a command value series is found that makes the value smaller than the previous objective function value.
- the feasible solution can be updated using an optimization algorithm such as Newton's method, quasi-Newton's method, or sequential quadratic programming, and a command value series is found that makes the value of the objective function smaller than the previous objective function value. It is then determined whether the obtained command value series satisfies the termination condition for the optimal solution search (step S14).
- Examples of termination conditions for the optimal solution search include (1) the value of the objective function being equal to or less than a predetermined value, (2) the magnitude of the change in the objective function value from the previous time being equal to or less than a predetermined value, and (3) the number of loop processes reaching a predetermined number.
- step S14 determines whether the command value series at that time is sent to the subsequent whole-body movement generation unit 35. If the determination is No, step S13 is repeated until a Yes determination is made. The above process is repeated in steps k, k+1, k+2 (step S16), and so on, until the final control objective is achieved.
- the mobile robot 1 of this first embodiment when the mobile robot 1 includes the cart 10 and manipulator 20, commands are generated by calculating input amounts according to the objective function while maintaining inequality constraints so that the ZMP position of the manipulator 20 is allowed to move within a specified area of the support area SA.
- This makes it possible to provide a mobile robot that prevents the mobile robot 1 from tipping over while allowing the ZMP to move within a specified area, thereby improving the ability of the cart 10 to follow changes in the target speed.
- the specified area within the support area SA need only be large enough not to exceed the support area, and is not limited to a specific size.
- a mobile robot 1 according to a second embodiment will be described with reference to FIG. 7.
- the basic configuration of this mobile robot 1 is the same as that of the first embodiment, so a duplicated description will be omitted.
- a two-mass model is used as the coarse-grained model, in which the manipulator 20 is represented by two masses M A and M L , as shown in FIG. 7. This is a difference from the first embodiment.
- the coarse-grained model motion planning unit 34 plans the motion of the two-mass model so that the ZMP position is allowed to move within a predetermined range set within the support area SA of the mobile robot 1, and the whole-body motion generation unit 35 determines the states of all joints from the state of the two-mass model.
- the whole-body motion generation unit 35 determines the states of all joints from the state of the two-mass model.
- the mobile robot 1 shown in FIG. 7 consider a two-mass model in which link group A below joint J3 is represented by mass point M A and link group B on the end effector H side of joint J3 is represented by mass point M B.
- the two mass points M A and M B are set so that their total mass is equal to the mass of the manipulator 20.
- This two-mass model can represent changes in the height of the center of gravity that accompany changes in the posture of the manipulator 20.
- the coarse-grained model motion planning unit 35 can make the height of mass point M B track the target height by adding a term representing the error between the target value and the height of mass point M B to the objective function.
- the whole-body motion generation unit 35 can solve the optimization problem of the whole-body motion generation unit 35 by dividing the term ⁇ J C0G ⁇ in [Equation 25 ] into two terms using the reference values ⁇ p(ref,A) and ⁇ p(ref,B) of the center of gravity velocities corresponding to mass point M A and mass point M B , respectively, and the center of gravity Jacobian ⁇ J(CoG,A) that projects the velocity ⁇ of all joints J onto the center of gravity velocity ⁇ p(CoG,A) of link group A and the center of gravity Jacobian ⁇ J(CoG,B) that projects the center of gravity velocity ⁇ p(CoG,B) of link group B.
- a coarse-grained model with three or more mass points can also be used in the same way.
- a mobile robot 1 according to a third embodiment will be described with reference to FIG. 8.
- the basic configuration of this mobile robot 1 is the same as that of the first embodiment, so a duplicated description will be omitted.
- the third embodiment differs from the first embodiment in the configuration of the whole-body motion generator 35.
- the coarse-grained model motion planning unit 34 generates a single mass point model as a coarse-grained model, and uses this single mass point model to generate commands to be output to the motor driver MD without using a center of gravity command.
- commands related to the position and velocity of the center of gravity are not generated from the state of the single mass point model generated by the coarse-grained model motion planning unit 34, but rather commands related to the state of the joints of the manipulator 20 are directly obtained.
- the coarse-grained model motion planning unit 34 can determine a virtual pendulum torque ⁇ pitch of the single mass point model.
- the force ⁇ f to be applied to the center of gravity can be determined as follows. Simply considering only the X direction, it can be expressed as follows:
- the whole-body movement generation unit 35 can generate commands for the motor driver MD by solving an optimization problem that minimizes the torque on all axes under equality constraints that show the relationship between the force ⁇ f and the torque ⁇ on all axes of the single mass model, for example, as shown in the following [Equation 27].
- ⁇ J ⁇ ,com is the Jacobian of the force acting on the center of gravity relative to the joint torque, and is calculated using the robot's dynamic model and center of gravity Jacobian. Furthermore, it is possible to add a term related to the speed tracking of the cart to the objective function, as well as constraints determined by the cart's mechanism and restrictions related to the motor specifications.
- a mobile robot 1 according to a fourth embodiment will be described with reference to FIG. 9 .
- the basic configuration of this mobile robot 1 is the same as that of the first embodiment, so a redundant description will be omitted.
- This fourth embodiment differs from the previous embodiments in that it does not use a coarse-grained model that simplifies the manipulator 20, but rather uses a whole-body model that precisely represents the structure of the manipulator 20 to generate joint commands and wheel commands. Instead of providing a whole-body model motion planning unit 34 and a whole-body motion generation unit 35 separately as shown in the figure, the whole-body model motion planning unit 34 may directly output commands to the motor driver MD.
- commands for the operation of the carriage and manipulator 20 are generated in accordance with the objective functions and constraint equations shown in [Equation 28] to [Equation 33] below.
- ⁇ u k is a vector including torque commands, position commands, or torque commands for all axes of the carriage 10 and the manipulator 20 selected by the designer.
- ⁇ e(x, k) is the error ⁇ x(cmd, k) - x k between the target state quantity and the actual state.
- ⁇ e(task, k) specifies, for example, the error between the target hand position and the actual position of the manipulator 20 using the following [Equation 34].
- ⁇ Q, ⁇ R, ⁇ S are weight matrices that determine the contribution of each term in the objective function to the evaluation value.
- Each term in the objective function is multiplied by a weighting matrix, which is used to specify the relative importance of each term. Since the weight assigned to the error of each state quantity is evaluated as a larger value as the absolute value increases, the optimal solution is calculated so that the L2 norm of the corresponding term is reduced.
- [Equation 30] is a kinematics and dynamics model of the manipulator 20 and the cart 10
- [Equation 31] is an inequality constraint for limiting the position of the ZMP to a specified area within the support area SA.
- the allowable range of the ZMP position is not divided into the X and Y directions but is indicated by ⁇ p. From the perspective of avoiding tipping over, it is preferable for the ZMP to be maintained near the center of the support area formed by the contact point.
- [Equation 32] and [Equation 33] are inequality constraints that limit the state and input (position, velocity, acceleration, jerk, etc. of joint J) of the manipulator 20. In addition to this, it is possible to add self-collision constraints, obstacle avoidance constraints, contact force constraints when coming into contact with the environment, etc.
- the present disclosure is not limited to the above-described examples, and includes various modifications.
- the above-described examples have been described in detail to clearly explain the present disclosure, and are not necessarily limited to those including all of the configurations described.
- it is possible to replace part of the configuration of one example with the configuration of another example and it is also possible to add the configuration of another example to the configuration of one example.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
マニピュレータの動きを活用して転倒防止を図りつつ、目標速度の変化に対する台車の追従性を良好にする。ロボット制御部は、モバイルロボットを走行計画に従って走行させるための台車の目標状態である目標台車状態を取得する目標台車状態取得部と、モバイルロボットのゼロ・モーメント・ポイントの位置がモバイルロボットの支持領域内に設定された所定範囲内で移動することを許容し、かつ、将来の一定時間範囲にわたる前記モバイルロボットについての目標状態と予測状態との間の誤差量の項を含む目的関数の値を最小にする指令を求め、指令に基づいて、マニピュレータの関節を駆動するモータドライバに対する動作指令である関節指令、及び車輪を駆動するモータドライバに対する動作指令である車輪指令を生成する動作生成部と、前記動作生成部を周期的に実行させることにより、モバイルロボットを動作させる実行制御部とを備える。
Description
本開示は、モバイルロボットに関する。
工場などにおいてモバイルロボットが用いられている。モバイルロボットの中には、複数の関節を有するアーム(複数のリンク)を備えるマニピュレータと、マニピュレータを搭載する台車とを備え、台車の駆動によりマニピュレータを移動可能にされたものもある。このようなモバイルロボットにおいては、マニピュレータの転倒を防止しつつも、迅速に目的位置に移動可能とされることが求められる。
アーム又はマニピュレータと台車とを備えたモバイルロボットとして、例えば非特許文献1、2に記載されたものが知られている。非特許文献1、2は、2自由度倒立振子モデルが適用される5自由度倒立振子ハードウェアの運動とモバイルプラットフォーム(以下、台車とよぶ)の並進速度との制御によってモバイルロボットの走行時の転倒の防止を図ることができるモバイルロボットを開示している。
D. Choi, M. Kim, and J. Oh, "Development of a rapid mobile robot with a multi-degree-of-freedom inverted pendulum using the model-based zero-moment point stabilization method," Advanced Robotics, Vol. 26, No. 5-6, pp. 515-535, 2012.
D. Choi, and J. Oh, "ZMP stabilization of Rapid Mobile Manipulator", in 2012 IEEE International Conference on Robotics and Automation, St Paul, MN, USA: IEEE, May 2012, pp. 883-888. doi: 10.1109 ICRA.2012.6225369
非特許文献1、2は、ゼロ・モーメント・ポイント(以下、ZMPという)の位置の目標位置(例えば台車の中心位置)からの変位をゼロに拘束することを条件として、台車の並進速度を制御している。そのため、台車の並進運動による転倒は防止されているが、目標速度の変化に対する追従性の面では十分ではない。
非特許文献1、2の技術では、例えば加速走行開始の指示後は、ZMPの位置についての次の3つの作用(1)~(3)を釣り合わせることによってZMPの位置を変化させないようにしていると我々は理解した。
(1)台車の加速運動によりZMPの位置が後方へ移動する作用
(2)倒立振子が前傾姿勢をとることによりZMPの位置が前方へ移動する作用
(3)倒立振子の前傾姿勢への移行の際に倒立振子が台車に対して前方に加速運動することに伴いZMPの位置が後方へ移動する作用
これら3つの作用を常に釣り合わせることによりZMPの位置は台車の中心に維持される。
(1)台車の加速運動によりZMPの位置が後方へ移動する作用
(2)倒立振子が前傾姿勢をとることによりZMPの位置が前方へ移動する作用
(3)倒立振子の前傾姿勢への移行の際に倒立振子が台車に対して前方に加速運動することに伴いZMPの位置が後方へ移動する作用
これら3つの作用を常に釣り合わせることによりZMPの位置は台車の中心に維持される。
加速走行開始の指示の直後は、(2)及び(3)の作用がほぼ釣り合ってしまい、(1)の作用の発揮が抑制される。すなわち、台車の加速運動を指示する指令の通りには加速を開始することができない。前傾姿勢に向かうための倒立振子の加速運動が終わって(3)の作用が消失するころ、ようやく(2)の作用と釣り合う(1)の作用の発揮が可能になり、台車は大きな加速運動を開始することができる。上記のような現象により、台車の目標速度の変化に対する追従が遅くなる。
本開示は上記の課題に鑑み、台車とマニピュレータを備えたモバイルロボットの走行について、マニピュレータの動きを活用して転倒防止を図りつつ、目標速度の変化に対する台車の追従性が良好になるように制御されるモバイルロボットを提供することを目的とする。
本開示に係るモバイルロボットは、車輪を有する台車、複数の関節を有するアームを備えるマニピュレータ、及び前記台車及び前記マニピュレータを制御するロボット制御部を備えるモバイルロボットである。前記ロボット制御部は、前記モバイルロボットを走行計画に従って走行させるための前記台車の目標状態である目標台車状態を取得する目標台車状態取得部と、前記モバイルロボットのゼロ・モーメント・ポイントの位置が前記モバイルロボットの支持領域内に設定された所定範囲内で移動することを許容し、かつ、将来の一定時間範囲にわたる前記モバイルロボットについての前記目標状態と予測状態との間の誤差量の項を含む目的関数の値を最小にする指令を求め、前記指令に基づいて、前記マニピュレータの関節を駆動するモータドライバに対する動作指令である関節指令、及び前記車輪を駆動するモータドライバに対する動作指令である車輪指令を生成する動作生成部と、前記動作生成部を周期的に実行させることにより、前記モバイルロボットを動作させる実行制御部とを備える。
本開示に係るモバイルロボットによれば、台車とマニピュレータを備えたモバイルロボットの走行について、マニピュレータの動きを活用して転倒防止を図りつつ、目標速度の変化に対する台車の追従性が良好になるように制御されるモバイルロボットを提供することができる。
以下、添付図面を参照して本実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本開示の原理に則った実施形態と実装例を示しているが、これらは本開示の理解のためのものであり、決して本開示を限定的に解釈するために用いられるものではない。本明細書の記述は典型的な例示に過ぎず、本開示の特許請求の範囲又は適用例を如何なる意味においても限定するものではない。各図面において同一又は実質的に同等な要素、部材及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
本実施形態では、当業者が本開示を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本開示の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
[用語等の説明]
実施の形態の説明の前に、実施の形態中の各種用語の意義について以下に述べる。
(1)「マニピュレータ」は、複数の関節により接続された複数リンクの先端にエンドエフェクタ、カメラなどが備えられているものであってよい。
(2)「走行計画」は、走行目的に応じて将来の必要な時間範囲について作成される経路、速度などについての計画である。「走行計画」は、走行開始前に作成される計画であってもよいし、走行中に動的に作成・修正される計画であってもよい。「走行計画」は、モバイルロボットの外部で作成されてモバイルロボットに与えられる計画でもよいし、モバイルロボット自身が作成する計画であってもよい。
実施の形態の説明の前に、実施の形態中の各種用語の意義について以下に述べる。
(1)「マニピュレータ」は、複数の関節により接続された複数リンクの先端にエンドエフェクタ、カメラなどが備えられているものであってよい。
(2)「走行計画」は、走行目的に応じて将来の必要な時間範囲について作成される経路、速度などについての計画である。「走行計画」は、走行開始前に作成される計画であってもよいし、走行中に動的に作成・修正される計画であってもよい。「走行計画」は、モバイルロボットの外部で作成されてモバイルロボットに与えられる計画でもよいし、モバイルロボット自身が作成する計画であってもよい。
(3)ゼロ・モーメント・ポイント(ZMP)の位置は「所定範囲内」において変位することが許容される。ZMPの位置を所定範囲内で移動することを許容する手段は、不等式制約によってでもよいし、目的関数にZMP位置の誤差項を入れることによってでもよい。目的関数にZMPの誤差項を入れることによりZMPの位置を所定範囲内で移動することを許容する場合は、モバイルロボットの仕様や走行加速度の制限を前提に、実験的な手法によって目的関数のパラメータを適切に設定することができる。
(4)「将来の一定時間範囲にわたる目標状態、予測状態」は、一般には当該時間範囲内における複数の時間ステップのそれぞれにおける状態を指すが、当該時間範囲内における時間ステップの数が1である場合を含む。
(5)「目的関数の値を最小にする指令」の「指令」は、指令系列(時間的に系列をなす一群の指令)である場合を含む。
(6)「モータドライバ」は、例えば入力する指令によって与えられる値を目標値として目標値に対する誤差が小さくなるようにモータを駆動する制御システムであってよい。この制御システムにおける具体的な制御方式としては、トルク制御、位置制御、速度制御、又はこれらの組み合わせであってよく、動作生成部は、モータドライバの制御方式に適合した種類の値を含む指令を作成することができる。
(5)「目的関数の値を最小にする指令」の「指令」は、指令系列(時間的に系列をなす一群の指令)である場合を含む。
(6)「モータドライバ」は、例えば入力する指令によって与えられる値を目標値として目標値に対する誤差が小さくなるようにモータを駆動する制御システムであってよい。この制御システムにおける具体的な制御方式としては、トルク制御、位置制御、速度制御、又はこれらの組み合わせであってよく、動作生成部は、モータドライバの制御方式に適合した種類の値を含む指令を作成することができる。
(7)下記の説明に含まれる数式(イメージ)のうち、太字の表記は行列又はベクトルを表している。これらの行列又はベクトルは、スカラ量との区別のため、本文中では、太字表記ではなく「→」にて表記することがある。また、n回微分を示すn個のドットは、数式(イメージ)中では文字の上方に表記されるが、本文中では左横に表記される。その他、数式(イメージ)中での二段階の添え字が、本文中では括弧書きで並列表記(例(cmd、Cog))される場合がある。
[第1の実施の形態]
まず、第1の実施の形態に係るモバイルロボット1を、図1の概略図を参照して説明する。このモバイルロボット1は、台車10、マニピュレータ20、制御部30、及び撮像部40を備える。台車10は、車輪W(WA、WB)を有して並進移動又は旋回可能に構成され上部にマニピュレータ20を搭載している。マニピュレータ20は、後述するように、複数の関節、複数のリンクを備える。制御部30は、走行計画に従って台車10及びマニピュレータ20を制御する。
まず、第1の実施の形態に係るモバイルロボット1を、図1の概略図を参照して説明する。このモバイルロボット1は、台車10、マニピュレータ20、制御部30、及び撮像部40を備える。台車10は、車輪W(WA、WB)を有して並進移動又は旋回可能に構成され上部にマニピュレータ20を搭載している。マニピュレータ20は、後述するように、複数の関節、複数のリンクを備える。制御部30は、走行計画に従って台車10及びマニピュレータ20を制御する。
図1に示す例では、台車10は略直方体状であるが、これに限定されるものではない。以下において、台車10の座標系として、X軸、Y軸、及びZ軸を設定する。X軸方向は台車10の前後方向、Y軸は台車10の左右方向、Z軸は台車10の高さ方向である。この左右方向は、台車10の幅方向でもある。また、以下では、台車10の高さ方向が鉛直方向と一致している場合を例として説明する。
台車10は、移動機構11を備えている。移動機構11は、2つの駆動輪WAと、2つの従動輪WBと、2つの駆動輪WAをそれぞれ独立に駆動する2つの図示しない回転駆動源(モータ)とを有している。駆動輪WAと従動輪WBを総称して「車輪W」ということがある。駆動輪WA及び従動輪WBは、床面LFに接しており、これによってモバイルロボット1を支持し、台車10を移動させる。駆動輪WA及び従動輪WBの4つの接地点を結ぶ四角形は、支持領域SAを構成する。なお、台車10は、マニピュレータ20を安定的に載置できるよう、3輪以上の車輪Wを有し、その3つ以上の車輪Wの各接地点を結ぶ領域が支持領域を構成していればよい。
駆動輪WAは、図示しない回転駆動源によって回転駆動される。例えば、2つの駆動輪WAを一定の回転数で回転させることで、台車10を直線(並進)運動させることができる。また、2つの駆動輪WAの回転数を左右で異ならせる(差動させる)ことで、台車10を旋回させることができる。従動輪WBは、回転駆動源によって回転駆動されることはなく、駆動輪WAの駆動により、床面LFとの摩擦力に従って回転可能とされている。さらに、従動輪WBの回転軸は、水平面内で自由に方向が変わる。すなわち、従動輪WBは、自在キャスター(旋回キャスター)である。
また、マニピュレータ20は、複数の関節Jと、複数のリンクLと、エンドエフェクタHとを備えている。リンクLは隣接する2つの関節Jの間の部分である。複数の関節Jは、それぞれ回転軸AX(図1において、符号AXは一部の関節Jについてのみ図示されている。)を中心に回転可能に構成される。これにより、マニピュレータ20は、関節Jの回転によりエンドエフェクタHを任意の位置に移動させることができる。エンドエフェクタHは、対象物を保持可能に構成される装置であり、例えばロボットハンド、又は吸着パッドであり得る。なお、撮像部40は、マニピュレータ20に搭載され、マニピュレータ20の周囲の画像を撮像する。
図2のブロック図を参照して、モバイルロボット1の動作を制御する制御部30のハードウェア構成を説明する。制御部30は、コンピュータ100を有する。コンピュータ100は、プロセッサ102、メモリ104、ストレージ106、入力装置108、出力装置110、記憶媒体読取装置112及び通信I/F(Interface)114を有する。これらの各要素は、バス116を介して相互に通信可能に接続されている。
ストレージ106には、モバイルロボット1を制御するための制御プログラム118が格納されている。プロセッサ102は、各種のプログラムを実行したり、各要素を制御したりすることが可能である。具体的には、プロセッサ102は、ストレージ106からプログラムを読み出し、メモリ104を作業領域としてプログラムを実行する。すなわち、プロセッサ102は、ストレージ106に格納されているプログラムに従って、各要素の制御及び各種の演算処理を行う。
メモリ104には、作業領域として、一時的にプログラム及び各種のデータを記憶可能である。
ストレージ106は、たとえば、ROM(Read Only Memory)、HDD(Hard Disc Drive)、及びSSD(Solid State Drive)等であり、各種プログラム及び各種データが格納される。このプログラムには、上記した制御プログラム等のアプリケーションプログラムだけでなく、オペレーティングシステムも含まれる。
入力装置108は、コンピュータ100に対し各種の入力を行うための装置である。入力装置108としては、操作スイッチや操作ボタン等が含まれる他、パーソナルコンピュータ等に使用されるキーボードやマウス等のポインティングデバイス等を含んでいてもよい。
出力装置110は、コンピュータ100からの各種の情報を出力するための装置であり、たとえば、ディスプレイや表示ランプ、スピーカー等が含まれる。出力装置110としてタッチパネルディスプレイを用いることも可能であり、この場合には、タッチパネルディスプレイが入力装置108としても機能する。
入力装置108及び出力装置110は、モバイルロボット1を運用するときに取り外せるようになっていてもよい。入力装置108及び出力装置110を設けることなく、通信I/F114を介した無線通信によって、モバイルロボット1に対する動作指令その他の情報を入力し、モバイルロボット1の動作状態その他の情報を出力してもよい。
記憶媒体読取装置112は、各種の記憶媒体に記憶されたデータの読み込み、及び、記憶媒体に対するデータの書き込みを行う装置である。記憶媒体としては、たとえば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等を挙げることができる。
通信I/F114は、他の機器と通信するためのインターフェースである。通信のためには、たとえば、イーサネット(登録商標)、FDDI(Fiber Distributed Data Interface)等の規格が用いられる。
上記した各関節J、リンクL、エンドエフェクタH、及び駆動輪WAは、制御部30を介して、モータドライバMDにより制御される。具体的には、たとえば、各関節Jは、図示しない駆動源が制御部30を介してモータドライバMDによって制御されることにより、それぞれの回転軸AXを中心として回転する。同様に、エンドエフェクタHも、図示しない駆動源が制御部30を介してモータドライバMDによって制御され、対象物に対し所定の把持、吸着、操作、移動、加工等を施す。駆動輪WAは、図示しない回転駆動源が制御部30によって制御されて回転する。
図3の機能ブロック図を参照して、制御部30の構成の一例を説明する。本実施の形態のモバイルロボット1の制御部30は、制御プログラム118によりコンピュータ100内に実現される、動作生成部31、実行制御部32、及び目標台車状態生成部33から大略構成される。
目標台車状態生成部33は、台車10の走行計画(目標台車軌道)に従って、台車10の目標状態(目標並進速度vref、角速度ωref等)を含む目標台車状態情報を生成することができる。動作生成部31は、この目標台車状態情報を受信して、台車10及びマニピュレータ20を制御するための指令信号(関節指令信号、車輪指令信号)を出力する。
モータドライバMDは、この指令信号を受信して、駆動信号を生成し、図示しない各種回転駆動部を駆動する。なお、モータドライバMDは、動作生成部31に対し、現在の各種回転駆動部の状態を示す信号をフィードバック信号としてフィードバックする機能も備え得る。実行制御部32は、動作生成部31を周期的に動作させることにより、モバイルロボット1を動作させる。
動作生成部31は、一例として、粗視化モデル動作計画部34と全身動作生成部35とから構成され得る。粗視化モデル動作計画部34は、マニピュレータ20の動作を粗視化モデル(例えば倒立振子モデル)に置き換え、その粗視化モデルの動作計画を生成する部分である。具体的に粗視化モデル動作計画部34は、モバイルロボット1のゼロ・モーメント・ポイントの位置をモバイルロボット1の支持領域内に設定された所定範囲内で移動することを許容し、かつ、将来の一定時間範囲にわたるモバイルロボット1についての目標状態と予測状態との間の誤差量の項を含む目的関数の値を最小にする、粗視化モデルの調整された状態量及び台車10の調整された状態量を指令として生成して出力する。ここでは、粗視化モデル動作計画部34が出力する指令は、粗視化モデルの調整された状態量を指令する調整モデル状態指令(例えば、調整振子角度qpitch_c、qroll_c、調整振子角速度・qpitch_c、・qroll_c)、及び台車10の調整された状態量を指令する調整台車状態指令(例えば、調整並進速度vc、調整角速度ωc)とすることができる。粗視化モデルは、複数の質点の合計質量がマニピュレータ20の質量と等しくされるとともに、マニピュレータ20よりも少ない数のリンクを有し、マニピュレータ20をより少ない自由度で移動させる仮想機構である。
全身動作生成部35は、粗視化モデル動作計画部34から供給された指令に従い、モータドライバMDに供給するための各種指令を生成し出力する部分である。全身動作生成部35は、一例として、重心指令生成部36と全身指令生成部37とを備えたものとすることができる。
重心指令生成部36は、調整モデル状態指令に従い、マニピュレータ20の重心に関する動作指令であるマニピュレータ重心指令を出力する。マニピュレータ重心指令は、一例として、マニピュレータ20の重心の位置に関するマニピュレータ重心位置指令→p(cmd、CoG)、及び重心の速度に関するマニピュレータ重心速度指令→p・(cmd、CoG)を含み得る。
全身指令生成部37は、マニピュレータ重心指令、及び調整台車状態指令に基づき、モータドライバMDを制御するための関節指令信号、及び車輪指令信号を出力する。
図4を参照して、粗視化モデル動作計画部34について、更に詳細に説明する。粗視化モデル動作計画部34は、一例として、粗視化モデルとして倒立振子モデルを用いて、マニピュレータ20を粗視化する。倒立振子モデルでは、ロールとピッチが独立に回転するモデルである。
倒立振子モデルでは、状態量→z、入力量→uを下記[数1]のように定義したとき、非線形の運動方程式を、振子が直上に立って静止した状態を平衡点として、平衡点周りでテーラー展開の1次で線形化する事で、このモデルの状態空間表現を以下の[数2]のように得ることができる。
ここでは、台車10の車輪Wのトルクが、台車10の車体の旋回と並進のトルクに損失なく伝わり、振子のピッチ軸周りの姿勢変化が、車体のヨー周りのイナーシャの変化に与える影響は小さく無視できると仮定している。以降の式では、このシステムを元に、適当なサンプリング時間で離散化し、離散の状態方程式のシステム行列→Ad、→Bdも用いる。また、離散の状態方程式は、後述の最適化問題においてダイナミクスの等式制約としても用いられる。
次に、ロボット座標系X軸方向のゼロ・モーメント・ポイント(ZMP)をモデル化する。ZMPは、例えば次に説明する方法により計算され得る。図5に示すように、モバイルロボット1全体の重心位置GP1には、重力F1及び慣性力F2が働く。慣性力F2はモバイルロボット1の前後方向の加速度走行に伴う慣性力、旋回走行に伴う遠心力、及び複数の関節Jの駆動によるリンクLの運動に伴う慣性力の合力である。重力F1及び慣性力F2の合力F3の方向が床面LFに交わる点をゼロ・モーメント・ポイント(ZMP)と呼ぶ。慣性力F2が大きくなってZMPが支持領域SAの端に到達すると、モバイルロボット1は車輪のいずれかが床面LFから離れて転倒し始める。
具体的に、ZMPのX軸方向のモデル化について説明する。ZMPの計算方法については後述する。Z軸方向のマニピュレータの重心の変化量が小さく無視できると仮定して、重心移動量を振子角に対して平衡点付近で線形化すると、上述の状態量を用いて、ロボット中の任意の原点からのZMPのX軸方向の変化量X(d、ZMP)を、以下のように表現することができる。
なお、CZ1 、CZ2、CZ3は、幾何学的特徴から決まるスカラ量である。スカラ量CZ1、CZ2、CZ3は、同定によって定めてもよいし、設計値を用いて算出してもよい。更に[数2]を利用すれば、以下のような状態量と入力量の式に変形することができる。
続いて、ロボット座標系Y軸方向のZMPをモデル化について説明する。X軸方向のモデル化との違いとしては、図1に示すような差動二輪型ロボットは、Y軸方向に加速度を発生させる事ができない。ただし、並進と旋回を行う場合には、遠心力によって旋回中心から離れる方向に力を受けるため、それをZMPモデルに組み込むことが必要である。わずかな時間の間、マニピュレータ20がある旋回中心点の周りに等速円運動すると近似すれば、この時の遠心加速度aLは、以下の式で表すことができる。
さらに、本手法では遠心加速度aLを状態量に線形になるように、旋回速度ω(実測角速度又は現在値として予測された予測角速度)と目標並進速度vrefを用いて、以下のように近似することができる。
これらを踏まえ、X軸と同様にして、任意の原点からのZMPのY軸方向の変化量Y(d、ZMP)を、以下のように得ることができる。
なお、CZ4、CZ5、CZ6は幾何学的特徴から決まるスカラ量である。スカラ量CZ4、CZ5、CZ6は、同定によって定めてもよいし、設計値を用いて算出してもよい。X軸方向の場合と同様に、[数7]は以下のような状態量と入力量の式に変形することができる。vrefが時変のため、dbも時変となる。
続いて、粗視化モデル動作計画部34におけるモデル予測制御の定式化について説明する。状態量に対する指令値を以下のように定義する。
ここで、ωref、vrefは上位コントローラである目標台車状態生成部33から送られてくる指令値であり、kは離散時間である。
ここで、→zと→zrefの差→e[k]を以下の[数10]のように表現したとき、有限時間内の指令の追従誤差を小さくしつつ、入力量のノルムを小さく抑えた入力量→uは以下の[数11]の目的関数で表現することができる。
Np、Ncはそれぞれ予測ホライゾンステップ、制御ホライゾンステップである(本例においてはNp=Ncとしている)。
粗視化モデルのダイナミクスに関する制約は、[数2]を離散化した状態方程式として以下のように表現される。
モバイルロボット1の転倒回避を目的とした制約は、[数4]、[数8]のZMPのモデルを用い、適当な制約範囲を設ける事で、以下のように表現することができる。
ただし,K(x,zb)、K(y、zb)はモデル化誤差を緩和する目的で導入した調整パラメータである。以上の説明を一つの最適化問題にまとめると以下の[数14]のようになる。
ZMPの位置は所定範囲内において変位することが許容される。ZMPの位置が所定範囲内で移動することを許容する手段は、上記の[数13]のような不等式制約によってでもよいし、目的関数にZMP位置の誤差項を入れることによってもよい。目的関数の誤差項による場合は、モバイルロボット1の仕様や走行加速度の制限を前提に、実験的な手法によって目的関数のパラメータを適切に設定することにより、ZMPの位置が所定範囲内で移動することを許容することができる。
ここまでに求めた入力量→uと[数2]を用いて、次時刻の並進速度(調整並進速度vc)、旋回速度 (調整角速度ωc) 、仮想振子角度(調整振子角度qpitch_c)、仮想振子角速度 (調整振子角速度・qpitch、・qroll_c) を生成する。更に、マニピュレータ20の重心のZ方向の位置は変動しないという仮定の下で、振子角度・角速度を重心の位置(重心位置指令→p(cmd、CoG))と速度(重心速度指令→・p(cmd、CoG))にそれぞれ変換する。これらを下段の全身指令生成部37に出力する。
ここで、ZMPの計算方法について説明する。2質点系で近似したZMPの位置は以下のように表現することができる。
ただし、Mは台車10の質量、mは倒立振子の質量、gは重力加速度、xはグローバル座標系における台車10の重心位置のX軸成分、lは倒立振子の根元から倒立振子重心までの長さ、xj1,z0,z1はそれぞれ,仮想振子の付け根位置のX軸成分,台車10の重心高さ,仮想振子の重心高さである。また,Iwhは車輪の車軸まわりの慣性モーメントである。ここで、目標とするZMPの位置のX軸成分をXZMP0は、例えば以下のように設定することができる。
そして、この目標ZMP位置からの誤差を、以下のように定義する。
Z軸方向のアーム重心の変化量が小さいと仮定して、sinq_pitch≒q_pitch、及び,z1を定数値とすれば,上述の状態量を用いて,モバイルロボット1中の任意の原点からのZMPの変化量X(d、ZMP)を、以下のように表すことができる。ただし、CZ1、CZ2、CZ3は定数値である。
次に、全身指令生成部37の動作について説明する。全身指令生成部37では、マニピュレータ20の関節Jや車輪Wを駆動するモータドライバMDへの指令値を算出するための目的関数を最適化問題として定式化し、線形ソルバーを利用して解を算出することで、指令値を生成する。具体的には、マニピュレータ20の重心速度や手先速度を所望の値に追従させ、かつ車輪W及び台車10の速度を所望の値に追従させるための目的関数が、最適化問題として定式化される。
目的関数の設計と制約の設計について説明する。この例においては、台車10の速度、マニピュレータ20の重心速度、及びマニピュレータ20の手先(エンドエフェクタH)の速度を所望の値に追従させるような目的関数が設計される。
まず、粗視化モデル動作計画部34から出力される調整並進速度vc、調整角速度ωcに追従するよう車輪Wの角速度を最適化する目的関数の設計について説明する。調整並進速度vc、調整角速度ωcを、次の[数19]のように定義すると、差動二輪型移動ロボットの非ホロノミック拘束条件を用いて、左右の車輪を含む各軸速度→・θと、台車10の調整並進速度vc、調整角速度ωcの関係は、以下の等式で表現することができる。
ただし,→Aξ、→Aθは台車10の幾何構造から一意に決まる拘束条件係数行列である。より具体的には、→Aξは台車10の姿勢及び両車輪間の距離に関する係数であり、→A_・θは車輪半径に関する係数である。→・θは各車輪の回転速度及び各関節の回転速度を含むが、ここで制御上の有意情報は各車輪の回転速度である。
次に、マニピュレータ20の重心位置を所望の位置に追従させるため、マニピュレータの20の関節Jの速度を最適化するための目的関数の設計について説明する。重心指令生成部36から出力される、転倒回避のためのマニピュレータ部重心位置指令→p(cmd、CoG)と重心速度指令→・p(cmd、CoG)を用いて、以下のように重心速度のリファレンス値→・p(ref、CoG)を作成する。
ここで、K(CoG、p)は、位置誤差に関するゲインである。このリファレンス値→・p(ref、CoG)とロボットの重心ヤコビアン→JCoGを用いて、重心の追従誤差は、次のように表現することができる。ここで、各軸速度→・θの制御上の有意情報は、各関節Jの角速度である。
次に、与えられたマニピュレータ20の手先の位置(ツール・センタ・ポイントTCP)の指令を追従するようマニピュレータ20の各軸の速度を最適化する目的関数の設計について説明する。手先の速度に所望の指令・p(ref、TCP)がある場合には、重心位置の場合と同様に、ヤコビアン→JTCPを用いて,以下のように誤差を定義することができる。
なお、手先の運動を極力抑えたい場合は,速度がロボット座標系で0となるような指令を設定すればよい。
本実施の形態では,マニピュレータ20の各軸の速度の最大/最小値,重心速度の最大/最小値、手先速度の最大/最小値,及び自己干渉回避を制約として導入する。4つの制約の内のはじめの3つは、ハードウェアのスペックについて適当な閾値を設定し、対応する変数を挟んで以下のように不等式制約を設定する。
このとき,位置リミットまでの減速マージン領域に入ったら位置リミットに近づくほど速度上限値を小さくするように働く速度ダンパを導入することで,現在の位置を使って閾値を動的に変化させることで,位置次元の制約も考慮することができる。4つめの自己干渉回避については、各リンクをカプセル形状で近似し,隣り合うカプセルを除くカプセル同士の最接近距離vself(→・θ)が、ある閾値dclosestを超えないように制約する。
以上をひとつの最適化問題にまとめると以下の[数25]になる。全身指令生成部37においてこの最適化問題が解かれて関節速度指令及び車輪速度指令が生成される。
なお、台車の各車輪Wの回転速度は[数20]の関係を用いて直接算出し、[数25]の目的関数には、マニピュレータ20の関節Jの速度に関する項である2番目及び3番目の項のみを含めるようにしてもよい。また、ツール・センタ・ポイントTCPの位置の安定化を図らない場合は、3番目の項は不要である。
モータドライバMDが速度指令を入力する仕様である場合は、全身指令生成部37は、算出したマニピュレータ20の各軸の速度指令及び車輪Wの速度指令を、関節指令及び車輪指令としてモータドライバMDに出力することができる。
モータドライバMDが位置指令を入力する仕様である場合は、全身指令生成部37は、算出したマニピュレータ20の各軸の速度指令及び車輪Wの速度指令を積分して角度指令に変換して関節指令及び車輪指令としてモータドライバMDに出力することができる。
モータドライバMDがトルク指令を入力する仕様である場合は、全身指令生成部37は、算出した各軸の速度指令を計算トルク法(動力学モデル)を用いてトルク指令に変換して関節指令及び車輪指令としてモータドライバMDに渡す。モータドライバMDにより駆動される回転駆動部(モータ)内では電流ループの制御コントローラを備えたものとすることができ、別途チューニングすることができる。
図6のフローチャートを参照して、粗視化モデル動作計画部34における最適化問題の計算の手順について説明する。まず、ステップS11において、図示しないセンサ等からの情報に基づいて、モバイルロボット1の状態量→zを計算する。 現在の状態量は状態オブザーバ等による推定値として取得されてもよい。
次に、ステップS12において、実行可能解を設定する。実行可能解は、等式制約及び不等式制約を充足する必要がある。k=0の時は現在の状態量が初期実行可能解として使用され、k=1以降は、従前のステップ(ステップk-1)で得られた最適解が実行可能解として使用される。
続いて、ステップS13において、設定された実行可能解に基づいて目的関数([数11])の値を得て、前回の目的関数の値よりも小さくするような指令値系列を求められる。実行可能解の更新は、ニュートン法、準ニュートン法、逐次二次計画法等を用いた最適化アルゴリズムによって計算すればよく、目的関数の値を前回の目的関数の値よりも小さくするような指令値系列を求める。求められた指令値系列が最適解探索の終了条件を満たしているか否かが判定される(ステップS14)。ここで、最適解探索の終了条件の例としては、例えば(1)目的関数の値が所定値以下になったこと、(2)目的関数の値の前回からの変化の大きさが所定値以下になったこと、(3)ループ処理の回数が所定回数に達したことなどが挙げられる。
ステップS14の判定がYesであればステップS15に移動し、そのときの指令値系列が後段の全身動作生成部35へ送信される。Noであれば、Yes判定がなされるまでステップS13が繰り返される。以上の処理をステップk、k+1、k+2、と繰り返し(ステップS16)、最終的な制御目的が達成されるまで処理が繰り返される。
以上説明したように、この第1の実施の形態のモバイルロボット1によれば、台車10とマニピュレータ20を備えたモバイルロボット1の走行について、マニピュレータ20のZMPの位置が支持領域SAの所定領域で移動することを許容するように不等式制約を維持しつつ目的関数に従い入力量を演算して指令を生成する。このため、モバイルロボット1の転倒防止を図りつつも、ZMPの所定領域での移動が許容されることにより、目標速度の変化に対する台車10の追従性が良好にしたモバイルロボットを提供することができる。ここで、支持領域SA内の所定領域は、支持領域を超えない大きさであればよく、特定の大きさには限定されない。
[第2の実施の形態]
次に、第2の実施の形態に係るモバイルロボット1を、図7を参照して説明する。このモバイルロボット1の基本構成は第1の実施の形態と同一であるので、重複する説明は省略する。この第2の実施の形態では、粗視化モデルとして、図7に示すような2つの質点MA、MLによりマニピュレータ20を表現する2質点モデルを採用する。この点が第1の実施の形態とは異なっている。
次に、第2の実施の形態に係るモバイルロボット1を、図7を参照して説明する。このモバイルロボット1の基本構成は第1の実施の形態と同一であるので、重複する説明は省略する。この第2の実施の形態では、粗視化モデルとして、図7に示すような2つの質点MA、MLによりマニピュレータ20を表現する2質点モデルを採用する。この点が第1の実施の形態とは異なっている。
粗視化モデル動作計画部34は、ZMPの位置がモバイルロボット1の支持領域SA内に設定された所定範囲内で移動することを許容しるように2質点モデルの動作計画を行い、全身動作生成部35にて2質点モデルの状態から全関節の状態を決定することができる。例えば、図7の構造のモバイルロボット1について、関節J3よりも下側のリンク群Aを質点MAで表し、関節J3よりもエンドエフェクタH側のリンク群Bを質点MBで表した2質点モデルを考える。2つの質点MA、MBは、その合計質量がマニピュレータ20の質量と等しくなるように設定される。この2質点モデルによれば、マニピュレータ20の姿勢変化に伴う重心位置の高さの変化を表現することができる。
粗視化モデル動作計画部35では、目的関数に質点MBの高さについての目標値との誤差を表す項を追加することにより、質点MBの高さを目標高さに追従させることができる。全身動作生成部35では、質点MA、質点MBにそれぞれ対応する重心速度のリファレンス値→・p(ref、A)、→・p(ref、B)、及び全関節Jの速度・θをリンク群Aの重心速度→・p(CoG、A)へ射影する重心ヤコビアン→J(CoG、A)とリンク群Bの重心速度・p(CoG、B)へ射影する重心ヤコビアン→J(CoG、B)を用いて、[数25]の→JC0G・θの項を2つの項に分けることにより、全身動作生成部35の最適化問題を解くことができる。質点の数が3以上の粗視化モデルも同様にして利用することができる。
[第3の実施の形態]
次に、第3の実施の形態に係るモバイルロボット1を、図8を参照して説明する。このモバイルロボット1の基本構成は第1の実施の形態と同一であるので、重複する説明は省略する。ただし、この第3の実施の形態は、全身動作生成部35の構成が前述の実施の形態とは異なっている。
次に、第3の実施の形態に係るモバイルロボット1を、図8を参照して説明する。このモバイルロボット1の基本構成は第1の実施の形態と同一であるので、重複する説明は省略する。ただし、この第3の実施の形態は、全身動作生成部35の構成が前述の実施の形態とは異なっている。
図8を参照して、この第3の実施の形態の動作生成部31の構成を説明する。この動作生成部31では、粗視化モデル動作計画部34において、粗視化モデルとして単質点モデルを生成し、この単質点モデルを用いて、重心指令を介せずにモータドライバMDに出力する指令を生成する。
具体的には、粗視化モデル動作計画部34で生成された単質点モデルの状態から、第1の実施の形態のような重心の位置や速度に係る指令は生成せず、マニピュレータ20の関節の状態に係る指令を直接求める。一例として、粗視化モデル動作計画部34では、単質点モデルの仮想振子トルクτpitchを決定するようことができる。さらに、振子長さlを用いると、重心に加えたい力→fを以下のように決定することができる。簡単にX方向のみについて考えると、次のように表現することができる。
この力→fを使って、全身動作生成部35では、例えば以下の[数27]のように、力→fと単質点モデルの全軸のトルク→τとの間の関係を示す等式制約の下で全軸のトルクを最小化する最適化問題を解くことで、モータドライバMDへの指令を生成することができる。
ここで、→Jτ、comは、関節トルクに対する重心にかかる力のヤコビアンであり、ロボットの動力学モデルと重心ヤコビアンを用いて算出する。さらに、目的関数に台車の速度追従に関する項を追加したり、台車の機構によって決まる拘束、モータのスペックに関する制約などを追加したりしてもよい。
[第4の実施の形態]
次に、第4の実施の形態に係るモバイルロボット1を、図9を参照して説明する。このモバイルロボット1の基本構成は第1の実施の形態と同一であるので、重複する説明は省略する。この第4の実施の形態では、マニピュレータ20を簡略化した粗視化モデルを使用せず、マニピュレータ20の構造を精緻に表現した全身モデルを用いて関節指令や車輪指令を生成するよう構成されており、この点において前述の実施の形態とは異なっている。図示したように全身モデル動作計画部34と全身動作生成部35とを別に設けるのではなく、全身モデル動作計画部34が直接モータドライバMDへの指令を出力するようにしてもよい。
次に、第4の実施の形態に係るモバイルロボット1を、図9を参照して説明する。このモバイルロボット1の基本構成は第1の実施の形態と同一であるので、重複する説明は省略する。この第4の実施の形態では、マニピュレータ20を簡略化した粗視化モデルを使用せず、マニピュレータ20の構造を精緻に表現した全身モデルを用いて関節指令や車輪指令を生成するよう構成されており、この点において前述の実施の形態とは異なっている。図示したように全身モデル動作計画部34と全身動作生成部35とを別に設けるのではなく、全身モデル動作計画部34が直接モータドライバMDへの指令を出力するようにしてもよい。
この第4の実施の形態では、台車及びマニピュレータ20の動作のための指令を、以下の[数28]~[数33]に示す目的関数及び制約式に従って生成する。
ここで、|| xはL2ノルムを表し、状態ベクトル→xk中の要素→qk=[q1、q2、‥‥、qn]Tは、マニピュレータ20の関節角度(リンク同士のなす角度)であり、→・qkはその角速度であり、→φk、→・φkは台車10の駆動軸(差動二輪)の関節角度及び角速度であり、vk、wkは、台車10の並進速度及び角速度である。→ukは、設計者が選択する台車10及びマニピュレータ20の全軸のトルク指令、位置指令、又はトルク指令を含むベクトルである。また、→e(x、k)は、目標とする状態量と実状態の誤差→x(cmd、k)-xkである。→e(task、k)は、例えばマニピュレータ20の目標手先位置と実際の位置との誤差を下記[数34]により指定する。
また、→Q,→R,→Sは目的関数の各項の評価値への寄与度を決定する重み行列である。
[数28]の目的関数は、目標状態と実状態の誤差、制御入力、その他任意の誤差量のL2ノルムを時刻t=k*Δtからt=(k+N)*Δtまで足し合わせたものの総和として定義される。[数31]~[数33]の等式制約及び不等式制約を満たしつつ、目的関数の値を最小化するような制御入力を求めることができる。なお、制御対象が確定系の場合、→xk、→xk+1、→xk+2、・・・は、→uk、→xk+1、→xk+2、・・・に依存して決まるため、変数から除外することも可能である。目的関数の各項には重み行列が乗じられており、各項の相対的な重要度を指定するために使用される。各状態量の誤差への重みであり、その絶対値を大きくすれば大きな値として評価されるので、対応する項のL2ノルムをより小さくするように最適解が計算される。
[数30]は、マニピュレータ20及び台車10の運動学・動力学モデルであり、[数31]は、ZMPの位置を支持領域SA内の所定領域に制限するための不等式制約である。ここではZMPの位置の許容範囲をX方向、Y方向に分けずに→pで示している。転倒回避の観点では、ZMPは接地点が構成する支持領域の中心近くに維持されることが好ましい。また、[数32]、[数33]は、マニピュレータ20の状態及び入力(関節Jの位置、速度、加速度、ジャーク等)を制限する不等式制約である。この他にも、自己干渉制約、障害物との回避制約、環境と接触した際の接触力の制約等を追加することができる。
以上より、例えば台車10の並進速度vk及び角速度ωkを目標vk(cmd)、ωk(cmd)に追従制御したい場合、誤差が大きければ(1)式の目的関数の第一項が大きな値をとり、その誤差による影響を最小化するような最適解→uk、→uk+1…が決定される。なお、目的関数の各項には重み行列→Q、→R、→Sが乗じられており、各項の相対的な重要度を指定するために使用される。例えば→Qは各状態量の誤差への重みであり、その絶対値を大きくすれば大きな値として評価されるので、対応する項のL2ノルムをより小さくするように最適解が計算される。
本開示は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本開示を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
1…モバイルロボット、 10…台車、 11…移動機構、 20…マニピュレータ、 30…制御部、 WA…駆動輪、 WB…従動輪、 J…関節、 L…リンク、 H…エンドエフェクタ、AX…回転軸、 31…動作生成部、 32…実行制御部、 33…目標台車状態生成部、 34…粗視化モデル動作計画部、 35…全身動作生成部、 36…重心指令生成部、 37…全身指令生成部、 40…撮像部、 100…コンピュータ。 102…プロセッサ、 104…メモリ、 106…ストレージ、 108…入力装置、 110…出力装置、 112…記憶媒体読取装置、 116…バス、 118…制御プログラム、 MD…モータドライバ、 SA…支持領域。
Claims (6)
- 車輪を有する台車、複数の関節を有するアームを備えるマニピュレータ、及び前記台車及び前記マニピュレータを制御するロボット制御部を備えるモバイルロボットであって、
前記ロボット制御部は、
前記モバイルロボットを走行計画に従って走行させるための前記台車の目標状態である目標台車状態を取得する目標台車状態取得部と、
前記モバイルロボットのゼロ・モーメント・ポイントの位置が前記モバイルロボットの支持領域内に設定された所定範囲内で移動することを許容し、かつ、将来の一定時間範囲にわたる前記モバイルロボットについての目標状態と予測状態との間の誤差量の項を含む目的関数の値を最小にする指令を求め、前記指令に基づいて、前記マニピュレータの関節を駆動するモータドライバに対する動作指令である関節指令、及び前記車輪を駆動するモータドライバに対する動作指令である車輪指令を生成する動作生成部と、
前記動作生成部を周期的に実行させることにより、前記モバイルロボットを動作させる実行制御部と
を備える、モバイルロボット。 - 前記動作生成部における前記目的関数の値を最小にする指令は、合計質量が前記マニピュレータの質量である1又は複数の質点及び前記アームの関節の数よりも少ない数の自由度で前記質点を移動させる仮想機構を備えた粗視化モデルの状態として表現された指令を含む、請求項1に記載のモバイルロボット。
- 前記動作生成部における前記目的関数の値を最小にする指令は、前記アームの各関節の状態として表現された指令を含む、請求項1に記載のモバイルロボット。
- 前記動作生成部は、
前記目的関数の値を最小にする、前記粗視化モデルの調整された状態量及び前記台車の調整された状態量を指令として生成して出力する粗視化モデル動作計画部と、
前記粗視化モデル動作計画部が出力した指令に従い、前記台車及び前記マニピュレータを駆動するための指令を生成して出力する全身動作生成部と
を更に備える、請求項2に記載のモバイルロボット。 - 前記全身動作生成部は、
前記粗視化モデルの調整された状態量の指令に従い、前記マニピュレータの重心に関する重心指令を生成する重心指令生成部と、
前記重心指令、及び前記台車の調整された状態量の指令に従い、前記マニピュレータ及び前記台車の動作に関する指令を生成する全身指令生成部と
を更に備える、請求項4に記載のモバイルロボット。 - 前記動作生成部は、前記ゼロ・モーメント・ポイントの位置に関する不等式制約を満たすように前記関節指令及び前記車輪指令を生成することにより、 前記モバイルロボットのゼロ・モーメント・ポイントの位置が前記所定範囲内で移動することを許容する、請求項1に記載のモバイルロボット。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024-112025 | 2024-07-11 | ||
| JP2024112025A JP2026011432A (ja) | 2024-07-11 | 2024-07-11 | モバイルロボット |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2026014246A1 true WO2026014246A1 (ja) | 2026-01-15 |
Family
ID=98386581
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2025/022920 Pending WO2026014246A1 (ja) | 2024-07-11 | 2025-06-25 | モバイルロボット |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2026011432A (ja) |
| WO (1) | WO2026014246A1 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006136962A (ja) * | 2004-11-11 | 2006-06-01 | Hitachi Ltd | 移動ロボット |
| JP2014151370A (ja) * | 2013-02-05 | 2014-08-25 | Toyota Motor Corp | 脚式ロボットの制御方法および脚式ロボット |
| JP2015054678A (ja) * | 2013-09-13 | 2015-03-23 | 株式会社豊田中央研究所 | 車輪型移動体 |
-
2024
- 2024-07-11 JP JP2024112025A patent/JP2026011432A/ja active Pending
-
2025
- 2025-06-25 WO PCT/JP2025/022920 patent/WO2026014246A1/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006136962A (ja) * | 2004-11-11 | 2006-06-01 | Hitachi Ltd | 移動ロボット |
| JP2014151370A (ja) * | 2013-02-05 | 2014-08-25 | Toyota Motor Corp | 脚式ロボットの制御方法および脚式ロボット |
| JP2015054678A (ja) * | 2013-09-13 | 2015-03-23 | 株式会社豊田中央研究所 | 車輪型移動体 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2026011432A (ja) | 2026-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7199178B2 (ja) | ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム | |
| CN113631324B (zh) | 多主体控制器和机器人 | |
| JP2024512235A (ja) | 脚車輪型ロボットの制御方法、装置、脚車輪型ロボット及び機器 | |
| CN112703090B (zh) | 机器人控制装置、机器人控制方法及存储介质 | |
| US11130235B2 (en) | Work mode and travel mode for mobile robots | |
| CN116048109B (zh) | 机器人控制方法、装置、机器人及存储介质 | |
| CN117944061B (zh) | 基于模型预测控制和全身力控的足臂机器人末端跟踪方法 | |
| JP6468127B2 (ja) | 全方位移動体、その制御方法及びプログラム | |
| JP2017010529A (ja) | ロボット、プログラム、情報処理システムおよび方法 | |
| CN117389317B (zh) | 一种轮式双足机器人的运动控制方法及系统 | |
| Roozegar et al. | DP-based path planning of a spherical mobile robot in an environment with obstacles | |
| Gans et al. | Visual servo velocity and pose control of a wheeled inverted pendulum through partial-feedback linearization | |
| Jespersen et al. | Path-following model predictive control of ballbots | |
| Jiang et al. | Obstacle avoidance of a redundant robot using virtual force field and null space projection | |
| Chung et al. | Robust interaction control of a mobile manipulator–dynamic model based coordination | |
| JP2026011432A (ja) | モバイルロボット | |
| US20250278097A1 (en) | Autonomous Robot Double Drive Assembly | |
| JP2026011433A (ja) | モバイルロボット | |
| Choi | Model predictive control of autonomous delivery robot with non-minimum phase characteristic | |
| Fuentes et al. | Stable operation of arm type robots on mobile platforms | |
| Bara et al. | Dynamic modeling and stabilization of wheeled mobile robot | |
| Zhang et al. | Neural Network Predictive Control for Planetary Surface Exploration Robots Considering Dynamic Conformational Stability | |
| Zarei et al. | Force analysis of a spherical single-wheeled robot | |
| Li et al. | Novel design and modeling of a mobile parallel manipulator | |
| CN117055361B (zh) | 基于滑模模型预测控制的移动机器人控制方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25836808 Country of ref document: EP Kind code of ref document: A1 |