The present disclosure relates to robot technology, and particularly to a biped robot and its moving method and apparatus.
During the movement of a biped robot, there is a problem in its interaction with a human or external environment. When a biped robot is performing a task and encounters an obstacle during walking, the robot will hit the obstacle while it continues to walk, which is a walking manner in lack of intelligence. At present, some robots are controlled to realize autonomous walking by disposing a distance sensor to detect whether there are obstacles around the walking environment. However, because the accuracy of the distance sensor is low while the detection range of the distance sensor is small, the actual affection of the obstacles to the waling of the robot cannot be calculated accurately. In addition, in the environment of human-machine cooperation, if a person suddenly collides with the robot during walking, the robot will be knocked over, which will cause the robot to be damaged while affects the human safety in a certain extent.
Therefore, it is necessary to propose a new biped robot moving method.
The main objective of the present disclosure is to provide a method for controlling the movement of a biped robot according to the actual movement trajectory of the robot.
The present disclosure proposes a biped robot moving method including:
obtaining an actual movement trajectory Xd_new of the biped robot;
calculating target angles θlb and θrb of servos of two legs of the biped robot, respectively, according to the actual movement trajectory Xd_new, where each leg of the biped robot is composed of a plurality of servos connected sequentially in series; and
controlling each servo of the two legs of the biped robot to rotate to angles corresponding to the target angles θlb and θrb, respectively.
Furthermore, the step of obtaining the actual movement trajectory Xd_new of the biped robot includes:
collecting force data of a six-dimensional sensor on a sole of each of the two legs of the biped robot, and angle data of the servos of each leg of the biped robot;
calculating force information upon the biped robot according to the force data and the angle data; and
calculating an actual movement trajectory of the biped robot based on the force information and attribute information of the biped robot.
Furthermore, the step of the step of calculating the force information upon the biped robot according to the force data and the angle data includes:
generating matrices Fl and Fr based on the force data of each sole, and generating matrices θla and θra based on the angular data of each leg;
calculating a Jacobian matrix of the two legs based on the matrices θla and θra, respectively, to obtain matrices Jl and Jr; and
calculating the force information upon the biped robot through a formula Fb=JlTFl+JrTFr, where Fb represents the force information upon the biped robot.
Furthermore, the step of calculating the actual movement trajectory of the biped robot based on the force information and the attribute information of the biped robot includes:
calculating an acceleration of the biped robot based on the force information and a body mass of the biped robot;
calculating a change trajectory of a centroid according to the acceleration of the biped robot and a movement speed of the biped robot; and
obtaining the actual trajectory of the biped robot by adding the change trajectory of the centroid and a planned movement trajectory of the biped robot.
Furthermore, the step of calculating the target angles θlb and θrb of the servos of two legs of the biped robot, respectively, according to the actual movement trajectory Xd_new includes:
calculating the target angles θlb and θrb by inputting the actual movement trajectory to a body centroid position in inverse kinematics.
Furthermore, each leg of the biped body robot includes 6 servos.
The present disclosure further proposes a biped robot moving apparatus including:
an obtaining module configured to obtain an actual movement trajectory Xd_new of the biped robot;
a calculation module configured to calculate target angles θlb and θrb of servos of two legs of the biped robot, respectively, according to the actual movement trajectory Xd_new, where each leg of the biped robot is composed of a plurality of servos connected sequentially in series; and
a control module configured to control each servo of the two legs of the biped robot to rotate to angles corresponding to the target angles θlb and θrb, respectively.
The present disclosure further proposes a biped robot including a memory and a processor, where the memory stores a computer program, and the steps of any of the above-mentioned methods are implemented when the processor executes the computer program.
The present disclosure further proposes a computer storage medium storing a computer program, where the steps of any of the above-mentioned methods are implemented when the computer program is executed by a processor.
In the present disclosure, the biped robot and its moving method and apparatus calculate the difference between the expected movement trajectory and the actual movement trajectory of the biped robot according to the force conditions upon the soles and the joint angles of the legs of the biped robot, so as to realize the real-time closed-loop control of the movement of the robot. Since a controller of the biped robot collects the force on the biped robot itself, it can quickly change the movement trajectory according to the external force on the biped robot, thereby preventing the biped robot from colliding with other objects or humans, which realize safe interactions between the biped robot and the exterior.
It should be understood that, the embodiments described herein are only used to explain the present disclosure and are not intended to limit the present disclosure.
Referring to
S1: obtaining an actual movement trajectory Xd_new of a biped robot;
S2: calculating target angles θlb and θrb of servos of two legs of the biped robot, respectively, according to the actual movement trajectory Xd_new, where each leg of the biped robot is composed of a plurality of servos connected sequentially in series; and
S3: controlling each servo of the two legs of the biped robot to rotate to angles corresponding to the target angles θlb and θrb, respectively.
As described in step S1 above, after receiving an instruction, the biped robot will generate the movement trajectory according to the position of its centroid during the movement. According to the task performed, there will be the predetermined planned movement trajectory Xd, that is, the movement route of the robot is a fixed movement trajectory set according to the instruction. In the case that the robot is subject to external resistance during the movement, for instance, when a human suddenly comes over to collide with the biped robot, the movement trajectory of the biped robot will be changed, and a new movement trajectory, that is, the actual movement trajectory represented as Xd_new will be produced. A controller of the biped robot will obtain the actual movement trajectory.
Referring to
S11: collecting force data of a six-dimensional sensor on a sole of each of the two legs of the biped robot, and angle data of the servos of each leg of the biped robot;
S12: calculating force information upon the biped robot according to the force data and the angle data; and
S13: calculating an actual movement trajectory of the biped robot based on the force information and attribute information of the biped robot.
As described in step S11 above, each of the two soles of the two legs of the biped robot is equipped with a six-dimensional sensor for detecting a six-dimensional force on the sole, where the detected six-dimensional forces on the two soles are Fl and Fr, respectively. The six-dimensional forces represent the pressure and torque force of three directions in a three-dimensional space. The six-dimensional force Fl=[Flx Fly Flz τlx τlx τlx]T and the six-dimensional force Fr=[Frx Fry Frz τrx τrx τrx]T, where Fl represents the six-dimensional force on the left sole of the left leg, Fr represents the six-dimensional force on the right sole of the right leg. The leg of the biped robot is formed by connecting a plurality of servos in series. In a specific embodiment, each leg has six servos, and the controller controls the servos to rotate to specified angles so as to control the biped robot to walk. A servo is driven by a motor, and the movement of each leg is realized by the motors of the leg to rotate an output shaft of each servo of the leg. An output shaft of each servo can rotate 360 degrees, and different angles of the output shaft of the servos represent different states of the leg of the robot. Hereinafter, an angle of a servo means a rotational angle of an output shaft of the servo. The controller detects the angles of the six servos on each leg to obtain two matrices which respectively represent the angles θla of the six servos on the left leg and the angles θra of the six servos on the right leg. The angles of the six servos of the two legs from top to bottom are respectively θla=[θl1 θl2 θl3 θl4 θl5 θl6]T and θra=[θr1 θr2 θr3 θr4 θr5 θr6]T.
As described in step S12 above, the controller then calculates the Jacobian matrix of θla to obtain the matrix Jl and calculates the Jacobian matrix of θra to obtain the matrix Jr. And then, Fl, Fr, Jl, and Jr are input into the formula Fb=JlTFl+JrTFr to calculate Fb, where Fb represents force information upon a body of the biped robot.
As described in step S13 above, the controller can calculate the actual trajectory of the biped robot based on the force information upon the body of the biped robot and the attributes of the biped robot itself such as the mass M of the biped robot itself, the damping coefficient B of a flexible control device, and the stiffness coefficient K.
Referring to
S113: calculating an acceleration of the biped robot based on the force information and a body mass of the biped robot;
S123: calculate a change trajectory of a centroid according to the acceleration of the biped robot and a movement speed of the biped robot; and
S133: obtaining the actual trajectory of the biped robot by adding the change trajectory of the centroid and a planned movement trajectory of the biped robot.
In this embodiment, after the force information Fb is calculated, according to Newton's second law, the acceleration of the biped robot is calculated using the formula a(t)=Fb/M. Then, the change trajectory X(t) of the centroid of the biped robot is calculated according to the formula X(t)=V0t+½a(t)t2. Finally, the change trajectory X(t) of the centroid of the biped robot is added by the planned movement trajectory Xd of the biped robot so as to obtain the actual movement trajectory of the biped robot.
In another embodiment for calculating X(t), after calculating the force information Fb, the attribute information of the robot including the body mass M, the damping coefficient B, and the stiffness coefficient K are retrieved from the storage of the robot. According to these four data, the impedance algorithm is used to calculate the change X of the position of the centroid of the biped robot using the formula:
M{umlaut over (X)}+B{dot over (X)}+KX=Fb;
where, X is the change of the position of the centroid of the biped robot, and S is the Laplacian operator.
The change of the trajectory of the centroid in the frequency domain is converted into the time domain using the following formula:
then, the change trajectory X(t) of the centroid in the time domain is obtained through the inverse Laplace transform.
As described in step S2 above, after obtaining the actual movement trajectory of the biped robot, it is input by the controller to the position of the centroid of the body in inverse kinematics to obtain the target angles of the servos of the two legs of the biped robot, that is, the angles θlb of the six servos of the left leg and the angles θrb of the six servos of the right leg using the formula as follows:
[θlb,θrb]T=IK(Xd_new).
As described in step S3 above, the controller simultaneously controls the servos of the legs to rotate to the corresponding target angles according to the corresponding angles θlb and θrb of the two servos, so as to complete the movement of the biped robot.
In the present disclosure, the biped robot moving method calculates the difference between the expected movement trajectory and the actual movement trajectory of the biped robot according to the force conditions upon the soles and the joint angles of the legs of the biped robot, so as to realize the real-time closed-loop control of the movement of the robot. Since the controller of the biped robot collects the force on the biped robot itself, it can quickly change the movement trajectory according to the external force on the biped robot, thereby preventing the biped robot from colliding with other objects or humans, which realize safe interactions between the biped robot and the exterior.
The present disclosure further proposes a biped robot moving apparatus including:
an obtaining module 1 configured to obtain an actual movement trajectory Xd_new of the biped robot;
a calculation module 2 configured to calculate target angles θlb and θrb of servos of two legs of the biped robot, respectively, according to the actual movement trajectory Xd_new, where each leg of the biped robot is composed of a plurality of servos connected sequentially in series; and
a control module 3 configured to control each servo of the two legs of the biped robot to rotate to angles corresponding to the target angles θlb and θrb, respectively.
In this embodiment, after receiving an instruction, the biped robot will generate the movement trajectory according to the position of its centroid during the movement. According to the task performed, there will be the predetermined planned movement trajectory Xd, that is, the movement route of the robot is a fixed movement trajectory set according to the instruction. In the case that the robot is subject to external resistance during the movement, for instance, when a human suddenly comes over to collide with the biped robot, the movement trajectory of the biped robot will be changed, and a new movement trajectory, that is, the actual movement trajectory represented as Xd_new will be produced. The controller of the biped robot will obtain the actual movement trajectory.
After obtaining the actual movement trajectory of the biped robot, it is input by the controller to the position of the centroid of the body in inverse kinematics to obtain the target angles of the servos of the two legs of the biped robot, that is, the angles θlb of the six servos of the left leg and the angles θrb of the six servos of the right leg using the formula as follows:
[θlb,θrb]T=IK(Xd_new).
The controller simultaneously controls the servos of the legs to rotate to the corresponding target angles according to the corresponding angles θlb and θrb of the two servos, so as to complete the movement of the biped robot.
In the present disclosure, the biped robot moving apparatus calculates the difference between the expected movement trajectory and the actual movement trajectory of the biped robot according to the force conditions upon the soles and the joint angles of the legs of the biped robot, so as to realize the real-time closed-loop control of the movement of the robot. Since the controller of the biped robot collects the force on the biped robot itself, it can quickly change the movement trajectory according to the external force on the biped robot, thereby preventing the biped robot from colliding with other objects or humans, which realize safe interactions between the biped robot and the exterior.
The present disclosure further proposes a biped robot which includes a processor, a storage, a network interface, and a database that are connected through a system bus. In which, the processor designed for the biped robot is configured to provide calculation and control capabilities. The storage of the biped robot includes a non-volatile storage medium and a memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The memory provides an environment for executing the operating system and computer programs in the non-volatile storage medium. The database is used to store the angles of the servos and other data of the biped robot. The network interface of the biped robot is configured to communicate with external terminals through a network. The biped robot implements a biped robot moving method when executed by the processor.
The steps of the above-mentioned biped robot moving method executed by the above-mentioned processor include: obtaining an actual movement trajectory Xd_new of the biped robot; calculating target angles θlb and θrb of servos of two legs of the biped robot, respectively, according to the actual movement trajectory Xd_new, where each leg of the biped robot is composed of a plurality of servos connected sequentially in series; and controlling each servo of the two legs of the biped robot to rotate to angles corresponding to the target angles θlb and θrb, respectively.
In one embodiment, the step of obtaining the actual movement trajectory Xd_new of the biped robot executed by the above-mentioned processor includes: collecting force data of a six-dimensional sensor on a sole of each of the two legs of the biped robot, and angle data of the servos of each leg of the biped robot; calculating force information upon the biped robot according to the force data and the angle data; and calculating an actual movement trajectory of the biped robot based on the force information and attribute information of the biped robot.
In one embodiment, the step of calculating the force information upon the biped robot according to the force data and the angle data includes: generating matrices Fl and Fr based on the force data of each sole, and generating matrices θla and θra based on the angular data of each leg; calculating a Jacobian matrix of the two legs based on the matrices θla and θra, respectively, to obtain matrices Jl and Jr; and calculating the force information upon the biped robot through a formula Fb=JlTFl+JrTFr, where Fb represents the force information upon the biped robot.
In one embodiment, the step of calculating the actual movement trajectory of the biped robot based on the force information and the attribute information of the biped robot includes: calculating an acceleration of the biped robot based on the force information and a body mass of the biped robot; calculating a change trajectory of a centroid according to the acceleration of the biped robot and a movement speed of the biped robot; and obtaining the actual trajectory of the biped robot by adding the change trajectory of the centroid and a planned movement trajectory of the biped robot.
In one embodiment, the processor executes the step of calculating the target angles θlb and θrb of the servos of two legs of the biped robot, respectively, according to the actual movement trajectory Xd_new includes: calculating the target angles θlb and θrb by inputting the actual movement trajectory to a body centroid position in inverse kinematics.
In summary, the biped robot calculates the difference between the expected movement trajectory and the actual movement trajectory of the biped robot according to the force conditions upon the soles and the joint angles of the legs of the biped robot, so as to realize the real-time closed-loop control of the movement of the robot. Since the controller of the biped robot collects the force on the biped robot itself, it can quickly change the movement trajectory according to the external force on the biped robot, thereby preventing the biped robot from colliding with other objects or humans, which realize safe interactions between the biped robot and the exterior.
The present disclosure further proposes a computer storage medium stored with a computer program. A biped robot moving method is implemented when the computer program is executed by a processor, which includes: obtaining an actual movement trajectory Xd_new of the biped robot; calculating target angles θlb and θrb of servos of two legs of the biped robot, respectively, according to the actual movement trajectory Xd_new, where each leg of the biped robot is composed of a plurality of servos connected sequentially in series; and controlling each servo of the two legs of the biped robot to rotate to angles corresponding to the target angles θlb and θrb, respectively.
In one embodiment, the step of obtaining the actual movement trajectory Xd_new of the biped robot executed by the above-mentioned processor includes: collecting force data of a six-dimensional sensor on a sole of each of the two legs of the biped robot, and angle data of the servos of each leg of the biped robot; calculating force information upon the biped robot according to the force data and the angle data; and calculating an actual movement trajectory of the biped robot based on the force information and attribute information of the biped robot.
In one embodiment, the step of calculating the force information upon the biped robot according to the force data and the angle data includes: generating matrices Fl and Fr based on the force data of each sole, and generating matrices θla and θra based on the angular data of each leg; calculating a Jacobian matrix of the two legs based on the matrices θla and θra, respectively, to obtain matrices Jl and Jr; and calculating the force information upon the biped robot through a formula Fb=JlTFl+JrTFr, where Fb represents the force information upon the biped robot.
In one embodiment, the step of calculating the actual movement trajectory of the biped robot based on the force information and the attribute information of the biped robot includes: calculating an acceleration of the biped robot based on the force information and a body mass of the biped robot; calculating a change trajectory of a centroid according to the acceleration of the biped robot and a movement speed of the biped robot; and obtaining the actual trajectory of the biped robot by adding the change trajectory of the centroid and a planned movement trajectory of the biped robot.
In one embodiment, the processor executes the step of calculating the target angles θlb and θrb of the servos of two legs of the biped robot, respectively, according to the actual movement trajectory Xd_new includes: calculating the target angles θlb and θrb by inputting the actual movement trajectory to a body centroid position in inverse kinematics. In summary, the computer storage medium calculates the difference between the expected movement trajectory and the actual movement trajectory of the biped robot according to the force conditions upon the soles and the joint angles of the legs of the biped robot, so as to realize the real-time closed-loop control of the movement of the robot. Since the controller of the biped robot collects the force on the biped robot itself, it can quickly change the movement trajectory according to the external force on the biped robot, thereby preventing the biped robot from colliding with other objects or humans, which realize safe interactions between the biped robot and the exterior.
The forgoing are only preferred embodiments of the present disclosure, which are not for limit the scope of the present disclosure. All the equivalent structure or process transformations made by using the description and drawings of the present disclosure, or direct or indirect applications in other related techniques are all included in the scope of the present disclosure.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2018/117987 | 11/28/2018 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2020/107279 | 6/4/2020 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6301524 | Takenaka | Oct 2001 | B1 |
7386364 | Mikami | Jun 2008 | B2 |
8738178 | Choi | May 2014 | B2 |
8965573 | Maisonnier | Feb 2015 | B2 |
9073209 | Lee | Jul 2015 | B2 |
20050075755 | Takenaka | Apr 2005 | A1 |
20050107916 | Nagasaka | May 2005 | A1 |
20050240307 | Kuroki | Oct 2005 | A1 |
20050267630 | Kajita | Dec 2005 | A1 |
20060184276 | Takenaka | Aug 2006 | A1 |
20110178636 | Kwon | Jul 2011 | A1 |
20110178637 | Lee | Jul 2011 | A1 |
20110224827 | Andoh | Sep 2011 | A1 |
20120155775 | Ahn | Jun 2012 | A1 |
20120316683 | Seo | Dec 2012 | A1 |
20130178983 | Watabe | Jul 2013 | A1 |
20130218345 | Lee | Aug 2013 | A1 |
20170036346 | Kamioka | Feb 2017 | A1 |
20170225333 | Khripin | Aug 2017 | A1 |
20180004208 | Su | Jan 2018 | A1 |
20190070729 | Kamioka | Mar 2019 | A1 |
Number | Date | Country |
---|---|---|
108858208 | Nov 2018 | CN |
108942885 | Dec 2018 | CN |
Entry |
---|
ISR for PCT/CN2018/117987. |
Written opinions of ISA for PCT/CN2018/117987. |
Number | Date | Country | |
---|---|---|---|
20220011772 A1 | Jan 2022 | US |