Control device, control method, control program, and two-wheel inverted robot
Patent Information
- Application Number
- PCT/JP2026/000678
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-26
- Filing Date
- 2026-01-13
- Publication Date
- 2026-10-01
Smart Images

Figure JP2026000678_01102026_PF_FP_ABST
Abstract
Description
Control device, control method, control program, and two-wheeled inverted robot
[0001] The present invention relates to a control device, a control method, a control program, and a two-wheeled inverted robot.
[0002] Patent Document 1 describes a two-wheeled cargo transport robot for transporting cargo. This two-wheeled cargo transport robot prevents the horizontal balance from being disrupted when loading cargo by driving a belt conveyor to keep the belt conveyor, which is the surface on which the cargo is placed, always horizontal.
[0003] Japanese Patent Publication No. 2006-123854
[0004] Takuro Kawamura and Toshiyuki Murakami, Multifunctional Control of a Two-Wheel Drive Wheelchair Considering Passenger Comfort, Transactions of the Institute of Electrical Engineers of Japan (Industrial Applications Division), Vol. 133, No. 4, 2013, pp. 404-413.
[0005] When a two-wheeled inverted robot stops, if the surface on which the load is placed is horizontal, the inertial force may exceed the frictional force, causing the load to fall.
[0006] The present invention has been made in view of the above, and aims to provide a control device, a control method, a control program, and a two-wheeled inverted robot that can prevent a load from falling when a mobile robot stops.
[0007] To solve the above-mentioned problems and achieve the objective, a control device according to one aspect of the present invention is a control device for controlling the drive of a robot comprising a body, a traveling unit for moving the body, a loading unit having a loading surface, and a motor that outputs torque to change the orientation of the loading surface, comprising: an angle calculation unit that calculates a second angle, which is the angle between the loading surface and the loading surface, based on a first angle command value that commands a first angle, which is the angle between the loading surface and the horizontal direction, and a detected value of the pitch angle, which is the angle between the vertical axis of the body and the vertical direction, and generates and outputs a second angle command value for setting the orientation of the loading surface with respect to the horizontal axis of the body to the second angle; and a motor control unit that generates and outputs a torque command value to be output to the motor based on the second angle command value.
[0008] Furthermore, in one aspect of the present invention, the control device calculates the second angle as the sum of the detected values of the first angle and the pitch angle.
[0009] Furthermore, a control device according to one aspect of the present invention includes a determination unit that determines whether or not a load is placed on the aforementioned placement unit, and the angle calculation unit calculates the sum of the first angle and the detected value of the pitch angle as the second angle when the determination unit determines that a load is placed on the aforementioned placement unit, and calculates the detected value of the pitch angle as the second angle when the determination unit determines that a load is not placed on the aforementioned placement unit.
[0010] Furthermore, in one aspect of the present invention, the control device is such that the first angle, the second angle, and the pitch angle are angles in a plane that includes the direction in which the traveling unit travels and the vertical direction.
[0011] Furthermore, in one aspect of the present invention, the control device includes a pair of wheels and an axle for rotating the wheels, wherein the first angle, the second angle, and the pitch angle are angles in a plane perpendicular to the axle.
[0012] Furthermore, a control method according to one aspect of the present invention is a control method for controlling the drive of a robot comprising a body, a traveling unit for moving the body, a loading unit having a loading surface, and a motor that outputs torque to change the orientation of the loading surface, wherein a processor reads from memory a first angle command value that commands a first angle which is the angle between the loading surface and the horizontal direction, and a detected value of the pitch angle which is the angle between the vertical axis of the body and the vertical direction, calculates a second angle which is the angle between the horizontal axis perpendicular to the vertical axis of the body and the loading surface based on the first angle command value and the detected value of the pitch angle, generates and outputs a second angle command value for setting the orientation of the loading surface with respect to the horizontal axis of the body to the second angle, and generates and outputs a torque command value to be output to the motor based on the second angle command value.
[0013] Furthermore, a control program according to one aspect of the present invention is a control program for controlling the drive of a robot comprising a body, a traveling unit for moving the body, a loading unit having a loading surface, and a motor that outputs torque to change the orientation of the loading surface, wherein the program causes a processor to calculate a second angle, which is the angle between the horizontal axis perpendicular to the vertical axis of the body and the loading surface, based on a first angle command value that commands a first angle, which is the angle between the loading surface and the horizontal direction, and a detected value of the pitch angle, which is the angle between the vertical axis of the body and the vertical direction, generate and output a second angle command value to set the orientation of the loading surface relative to the horizontal axis of the body to the second angle, and generate and output a torque command value to be output to the motor based on the second angle command value.
[0014] Furthermore, a two-wheeled inverted robot according to one aspect of the present invention comprises a pair of wheels, a wheel motor that outputs torque to an axle to rotate the wheels, a body attached to the pair of wheels and pivotably mounted around the axle, a loading section having a loading surface, a motor that outputs torque to change the orientation of the loading surface, and a control device that controls the driving of the two-wheeled inverted robot, wherein the control device comprises an angle calculation unit that calculates a second angle, which is the angle between the horizontal axis perpendicular to the vertical axis of the body and the loading surface, based on a first angle command value that commands a first angle, which is the angle between the loading surface and the horizontal direction, and a detected value of the pitch angle, which is the angle between the vertical axis of the body and the vertical direction, and generates and outputs a second angle command value to set the orientation of the loading surface with respect to the horizontal axis of the body to the second angle, and a motor control unit that generates and outputs a torque command value to be output to the motor based on the second angle command value.
[0015] According to the present invention, a control device, a control method, a control program, and a two-wheeled inverted robot can be realized that can prevent cargo from falling when a mobile robot stops.
[0016] Figure 1 is a schematic diagram of a two-wheeled inverted robot. Figure 2 is a block diagram showing the control of a two-wheeled inverted robot including the control device according to Embodiment 1. Figure 3 is a diagram showing a two-wheeled inverted robot in motion. Figure 4 is a flowchart showing an overview of the processing performed by the control device according to Embodiment 1. Figure 5 is a block diagram showing the control of a two-wheeled inverted robot including the control device according to Embodiment 2.
[0017] The following describes embodiments of the control device, control method, control program, and two-wheeled inverted robot according to the present invention with reference to the drawings. However, the present invention is not limited to these embodiments. The present invention can be applied to control devices, control methods, control programs, and two-wheeled inverted robots in general for controlling the drive of a two-wheeled inverted robot.
[0018] Furthermore, in the drawings, identical or corresponding elements are appropriately denoted by the same reference numeral. It should also be noted that the drawings are schematic, and the dimensional relationships and proportions of each element may differ from reality. Even between drawings, there may be differences in dimensional relationships and proportions.
[0019] (Embodiment 1) [Configuration of a two-wheeled inverted robot] Figure 1 is a schematic configuration diagram of a two-wheeled inverted robot. As shown in Figure 1, the two-wheeled inverted robot 1 comprises a running section 2, a wheel motor 3, a body 4, a fork 5 as a loading section for placing loads, and a fork motor 6 as a motor.
[0020] The two-wheeled inverted robot 1 is a two-wheeled inverted robot in which a pair of running parts 2 are in contact with the ground, and a body 4 attached to the running parts 2 maintains an inverted posture. The two-wheeled inverted robot 1 can transport goods in the same space as people, for example, in logistics centers or production plants.
[0021] The running unit 2 includes a pair of wheels and an axle that rotates the wheels, and moves the two-wheeled inverted robot 1 in a direction perpendicular to the axle. The wheels are provided at both ends of the axle.
[0022] The wheel motor 3 outputs torque to the axle that rotates the wheels of the running unit 2.
[0023] The body 4 is attached to the axle of the running section 2 and is provided to be pivotable around the axle. The body 4 includes a housing section and a connecting section extending from the housing section to which the fork 5 is connected. In the following description, the longitudinal direction of the body 4 perpendicular to the axle will be referred to as the vertical axis L of the body 4, and the direction perpendicular to the axle and the vertical axis L of the body 4 will be referred to as the horizontal axis S of the body 4. In Figure 1, the vertical axis L of the body 4 coincides with the vertical direction V, and the horizontal axis S of the body 4 coincides with the horizontal direction H.
[0024] The fork 5 is attached to the connecting part of the body 4 and has a loading surface 5a for the load W. The fork 5 is controlled by the fork motor 6 to change the direction in which it extends relative to the body 4, so as not to cause the loaded load W to fall.
[0025] The fork motor 6 outputs torque to change the orientation of the mounting surface 5a of the fork 5 by changing the direction in which the fork 5 extends relative to the body 4.
[0026] Figure 2 is a block diagram showing the control of a two-wheeled inverted robot including a control device according to Embodiment 1. As shown in Figure 2, the two-wheeled inverted robot 1 includes a pitch angle detection unit 11 and a fork angle detection unit 12.
[0027] The pitch angle detection unit 11 is, for example, a gyro sensor attached to the body 4 of a two-wheeled inverted robot 1, and the pitch angle θ p Detects.
[0028] Figure 3 shows a two-wheeled inverted robot in motion. As shown in Figure 3, the pitch angle θ p This is the angle in a plane that includes the direction of travel by the running unit 2 and the vertical direction V, and is the angle between the vertical axis L of the body 4 and the vertical direction V.
[0029] Returning to Figure 2, the fork angle detection unit 12 is, for example, an encoder attached to the fork motor 6, and the fork angle θ is the rotation angle of the fork motor 6 from a predetermined position. f It detects the fork angle θ, as shown in Figure 3.f is an angle within a plane that includes the traveling direction of the traveling unit 2 and the vertical direction V, and is an angle formed between the horizontal axis S of the body 4 and the placement surface 5a of the fork 5.
[0030] Here, FIG. 3 is a diagram illustrating a state where gravity that rotates the body 4 rightward and inertial force that rotates the body 4 leftward are balanced when the two-wheeled inverted robot 1 travels rightward. In this state, the pitch angle θ p all forces acting in the direction are balanced.
[0031] [Configuration of Control Device] Next, the configuration of the control device 20 will be described. The control device 20 shown in FIG. 2 controls the driving of the two-wheeled inverted robot 1. The control device 20 is realized by a processor including, for example, a CPU (Central Processing Unit) and a memory (main storage unit) including a RAM (Random Access Memory), a ROM (Read Only Memory) and the like.
[0032] The control device 20 may be built in the two-wheeled inverted robot 1. The control device 20 may also be a computer or server installed outside the two-wheeled inverted robot 1, and may control the two-wheeled inverted robot 1 via a network such as the Internet, a mobile phone network, Wi-Fi (registered trademark, Wireless Fidelity), BLE (Bluetooth (registered trademark) Low Energy), or the like.
[0033] The control device 20 includes an acquisition unit 21, an angle calculation unit 22, and a fork motor control unit 23.
[0034] The acquisition unit 21 acquires the first angle θ f1 and generates and outputs a first angle command value θ f1 that commands the first angle θ f1 cmd . The first angle θ f1 is an angle within a plane that includes the traveling direction of the traveling unit 2 and the vertical direction V, and is an angle formed between the placement surface 5a and the horizontal direction H. The acquisition unit 21 acquires the first angle θ f1 by, for example, reading it from a memory. The first angle θ f1The angle is predetermined according to the weight of the load W and is stored in memory. The acquisition unit 21 also acquires the first angle command value θ. f1 cmd The acquisition unit 21 may also acquire the first angle θ set by the user. f1 By accepting the input of the first angle θ, f1 The acquisition unit 21 may acquire the first angle θ from an external server or the like. f1 The acquisition unit 21 may acquire the first angle θ according to the weight of the load W. f1 You may calculate this.
[0035] The angle calculation unit 22 receives the first angle command value θ from the acquisition unit 21. f1 cmd The pitch angle θ detected by the pitch angle detection unit 11 p Based on the detected value, the second angle θ f2 Calculate the second angle θ. f2 This is an angle in a plane that includes the direction of travel by the travel unit 2 and the vertical direction V, for example, the first angle θ f1 and pitch angle θ p It is the sum of the detected values. Furthermore, the angle calculation unit 22 calculates the fork angle θ, which is the orientation of the mounting surface 5a with respect to the horizontal axis S of the body 4. f The second angle θ f2 The second angle command value θ to achieve this. f2 cmd Generate and output the following.
[0036] The fork motor control unit 23 receives the fork angle θ detected by the fork angle detection unit 12. f and the second angle command value θ generated by the angle calculation unit 22 f2 cmd The input is, and the fork angle θ f and the second angle command value θ f2 cmd Based on this, the torque command value τ is output to the fork motor 6. f ref Generate and output the following.
[0037] Here, the fork motor control unit 23 receives the torque command value τ f ref When the fork motor 6 outputs torque, as shown in Figure 3, the first angle θf1 and pitch angle θ p The sum of the detected values is the second angle θ f2 The angle of the mounting surface 5a of the fork 5 is controlled to achieve this. At this time, the fork angle θ f The second angle θ f2 Therefore, the angle between the horizontal direction H and the horizontal axis S of the body 4 is the pitch angle θ. p Since it is equal to the first angle θ, the angle between the horizontal direction H and the mounting surface 5a of the fork 5 is the first angle θ. f1 This means that when the fork 5 places the load W on it, the control device 20 sets the angle of the fork 5's placement surface 5a from the horizontal H to a first angle θ. f1 It is controlled accordingly. As a result, when the two-wheeled inverted robot 1 stops, it is possible to prevent the load W from falling.
[0038] [Control Method for a Two-Wheeled Inverted Robot] Next, the control method for the two-wheeled inverted robot 1 executed by the control device 20 will be described. Figure 4 is a flowchart showing an overview of the process executed by the control device according to Embodiment 1. As shown in Figure 4, the control device 20 detects the fork angle θ from the fork angle detection unit 12. f The detected value is obtained, and the fork angle θ f It is determined whether the value has changed by more than a threshold (step S1). The control device 20 determines whether the fork angle θ f If it is determined that the value has not changed by more than the threshold (Step S1: No), the process in Step S1 is repeated.
[0039] Meanwhile, the control device 20 controls the fork angle θ f If it is determined that the value has changed by more than a threshold (Step S1: Yes), the control device 20 estimates that the load W has been placed on the fork 5. Then, the acquisition unit 21 determines the first angle θ f1 The acquisition unit 21 acquires the first angle θ. f1 Read the value from memory, and the first angle command value θ f1 cmd Generate and output the following.
[0040] Next, the angle calculation unit 22 calculates the first angle command value θ f1 cmd and pitch angle θ p Based on the detected value, the second angle θf2 Specifically, the angle calculation unit 22 calculates the first angle command value θ from the acquisition unit 21. f1 cmd The pitch angle θ detected by the pitch angle detection unit 11 p Based on the detected value, the first angle θ f1 and pitch angle θ p The sum of the detected values is the second angle θ f2 The angle calculation unit 22 then calculates the fork angle θ, which is the orientation of the mounting surface 5a relative to the horizontal axis S of the body 4. f The second angle θ f2 The second angle command value θ to achieve this. f2 cmd Generate and output (step S3).
[0041] Subsequently, the fork motor control unit 23 controls the fork angle θ. f The detected value and the second angle command value θ f2 cmd Based on this, the torque command value τ is output to the fork motor 6. f ref The output is generated and displayed (step S4), and the series of processes is completed.
[0042] According to Embodiment 1 described above, the control device 20 controls the fork angle θ, which is the orientation of the mounting surface 5a of the body 4 with respect to the horizontal axis S. f The second angle θ f2 As a result, the angle of the mounting surface 5a of the fork 5 from the horizontal direction H becomes the first angle θ f1 It is controlled accordingly. As a result, when the two-wheeled inverted robot 1 stops, it is possible to prevent the load W from falling.
[0043] Furthermore, according to Embodiment 1, since the two-wheeled inverted robot 1 is a two-wheeled inverted type, it occupies less floor space than a configuration with three or more wheels, and is less likely to get in the way when working with people.
[0044] Furthermore, the number of wheels on the running unit 2 is not particularly limited. By controlling the angle of the mounting surface 5a of the fork 5 from the horizontal direction H to be a first angle in a plane that includes the direction in which the robot travels on the running unit 2 and the vertical direction V, the load W can be prevented from falling.
[0045] Furthermore, in Embodiment 1, the angle calculation unit 22 calculates the first angle θ f1 and pitch angle θ p The sum of the detected values is the second angle θ f2 An example of how to calculate it has been explained, but it is not limited to this. The angle calculation unit 22 calculates the second angle θ as the load W becomes lighter. f2 The first angle θ f1 and pitch angle θ p The second angle θ is corrected so that it is greater than the sum of the detected values. f2 The second angle θ may be calculated. This prevents the load W from falling, even if it is light and prone to falling. The angle calculation unit 22 calculates the second angle θ as the load W gets heavier. f2 The first angle θ f1 and pitch angle θ p The value may be corrected so that it is smaller than the sum of the detected values.
[0046] Similarly, the angle calculation unit 22 calculates the second angle θ as the load W is placed towards the front end of the mounting surface 5a. f2 Correcting so that it becomes larger, the second angle θ f2 The following calculation may be performed. This prevents the luggage W from falling, even if it is placed on the leading edge of the mounting surface 5a and is prone to falling.
[0047] (Embodiment 2) Figure 5 is a block diagram showing the control of a two-wheeled inverted robot including a control device according to Embodiment 2. As shown in Figure 5, the control device 20A includes an angle calculation unit 22A and a determination unit 24A. Other configurations may be the same as in Embodiment 1, so their explanations will be omitted as appropriate.
[0048] The determination unit 24A determines whether or not a load is placed on the fork 5. Specifically, the determination unit 24A detects the force exerted by the load W placed on the fork 5 using a force sensor installed on the fork 5, and determines whether or not a load is placed on the fork 5. Alternatively, the determination unit 24A may detect an object placed on the mounting surface 5a using an object-detecting sensor such as a laser sensor, and determine whether or not a load is placed on the fork 5. Furthermore, the determination unit 24A may determine whether or not a load is placed on the fork 5 using the amount of torque generated by the fork motor 6.
[0049] When the determination unit 24A determines that a load W is placed on the fork 5, the angle calculation unit 22A calculates the sum of the detection value of the first angle θ f1 and the pitch angle θ p as the second angle θ f2 On the other hand, when the determination unit 24A determines that no load W is placed on the fork 5, the angle calculation unit 22A calculates the detection value of the pitch angle θ p as the second angle θ f2
[0050] According to the second embodiment described above, when the determination unit 24A determines that a load W is placed on the fork 5, the fork angle θ, which is the orientation of the placement surface 5a relative to the horizontal axis S of the body 4, f becomes the second angle θ f2 so that the angle of the placement surface 5a of the fork 5 from the horizontal direction H is controlled to the first angle θ f1 As a result, when the two-wheel inverted robot 1 stops, the load W can be prevented from falling.
[0051] On the other hand, when the determination unit 24A determines that no load W is placed on the fork 5, the fork angle θ, which is the orientation of the placement surface 5a relative to the horizontal axis S of the body 4, f becomes the pitch angle θ that is the second angle θ f2 p so that the orientation of the placement surface 5a of the fork 5 is controlled to be the horizontal direction H. As a result, when no load W is placed on the fork 5, the angle of the placement surface 5a of the fork 5 automatically returns to the horizontal direction H.
[0052] Further effects and modifications can be easily derived by those skilled in the art. Therefore, broader aspects of the present invention are not limited to the specific details and representative embodiments presented and described above. Accordingly, various changes can be made without departing from the spirit or scope of the general inventive concept defined by the appended claims and their equivalents.
[0053] 1 Two-wheeled inverted robot 2 Driving unit 3 Wheel motor 4 Body 5 Fork 5a Mounting surface 6 Fork motor 11 Pitch angle detection unit 12 Fork angle detection unit 20, 20A Control device 21 Acquisition unit 22, 22A Angle calculation unit 23 Fork motor control unit 24A Judgment unit W Cargo
Claims
1. A control device for controlling the drive of a robot comprising: a body; a running unit for moving the body; a loading unit having a loading surface; and a motor that outputs torque to change the orientation of the loading surface, comprising: an angle calculation unit that calculates a second angle, which is the angle between the horizontal axis perpendicular to the vertical axis of the body and the loading surface, based on a first angle command value that commands a first angle, which is the angle between the loading surface and the horizontal direction, and a detected value of the pitch angle, which is the angle between the vertical axis of the body and the vertical direction, and generates and outputs a second angle command value for setting the orientation of the loading surface relative to the horizontal axis of the body to the second angle; and a motor control unit that generates and outputs a torque command value to be output to the motor based on the second angle command value.
2. The control device according to claim 1, wherein the angle calculation unit calculates the second angle as the sum of the first angle and the detected value of the pitch angle.
3. The control device according to claim 1, further comprising a determination unit for determining whether or not a load is placed on the loading unit, wherein the angle calculation unit calculates the sum of the first angle and the detected value of the pitch angle as the second angle when the determination unit determines that a load is placed on the loading unit, and calculates the detected value of the pitch angle as the second angle when the determination unit determines that no load is placed on the loading unit.
4. The control device according to claim 1, wherein the first angle, the second angle, and the pitch angle are angles in a plane that includes the direction in which the traveling unit travels and the vertical direction.
5. The control device according to claim 1, wherein the running section includes a pair of wheels and an axle for rotating the wheels, and the first angle, the second angle, and the pitch angle are angles in a plane perpendicular to the axle.
6. A control method for controlling the drive of a robot comprising: a body; a running unit for moving the body; a loading unit having a loading surface; and a motor that outputs torque to change the orientation of the loading surface, wherein a processor reads from memory a first angle command value that commands a first angle which is the angle between the loading surface and the horizontal direction, and a detected value of the pitch angle which is the angle between the vertical axis of the body and the vertical direction, calculates a second angle which is the angle between the horizontal axis perpendicular to the vertical axis of the body and the loading surface based on the first angle command value and the detected value of the pitch angle, generates and outputs a second angle command value for setting the orientation of the loading surface relative to the horizontal axis of the body to the second angle, and generates and outputs a torque command value to be output to the motor based on the second angle command value.
7. A control program for controlling the drive of a robot comprising: a body; a running unit for moving the body; a loading unit having a loading surface; and a motor that outputs torque to change the orientation of the loading surface, the control program causing a processor to execute the following processes: calculate a second angle, which is the angle between the horizontal axis perpendicular to the vertical axis of the body and the loading surface, based on a first angle command value that commands a first angle, which is the angle between the loading surface and the horizontal direction, and a detected value of the pitch angle, which is the angle between the vertical axis of the body and the vertical direction; generate and output a second angle command value to set the orientation of the loading surface relative to the horizontal axis of the body to the second angle; and generate and output a torque command value to be output to the motor based on the second angle command value.
8. A two-wheeled inverted robot comprising: a pair of wheels; a wheel motor that outputs torque to an axle to rotate the wheels; a body attached to the pair of wheels and pivotably mounted around the axle; a loading section having a surface for loading loads; a motor that outputs torque to change the orientation of the loading surface; and a control device that controls the drive of the two-wheeled inverted robot, wherein the control device comprises: an angle calculation unit that calculates a second angle, which is the angle between the horizontal axis perpendicular to the vertical axis of the body and the loading surface, based on a first angle command value that commands a first angle, which is the angle between the loading surface and the horizontal direction, and a detected value of the pitch angle, which is the angle between the vertical axis of the body and the vertical direction, and generates and outputs a second angle command value to set the orientation of the loading surface relative to the horizontal axis of the body to the second angle; and a motor control unit that generates and outputs a torque command value to be output to the motor based on the second angle command value.