Bionic ridge-leg type robot and motion control system thereof

By designing a biomimetic "spine-leg" type robot motion control system, the problem of insufficient versatility in existing multi-limb robot control systems has been solved. This system achieves module independence and flexible remote control, improving the efficiency of simulation and real-world environment verification.

CN119328793AActive Publication Date: 2025-01-21CHINA NANHU ACAD OF ELECTRONICS & INFORMATION TECH
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411716355.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-26
Publication Date
2025-01-21
Estimated Expiration
2044-11-26

AI Technical Summary

Technical Problem

Existing biomimetic robot control systems lack versatility, are not applicable to multi-limb robots, have strong module coupling, insufficient simulation interfaces, and are difficult to test the performance of motion control algorithms on simulation platforms.

Method used

A biomimetic "spine-leg" type robot motion control system was designed, including a drive-sensing module, a motion planning module, a simulation module, a logging module, and a remote control module. It adopts the ROS robot operating system for distributed communication. The modules are independent of each other, which facilitates maintenance and optimization. It provides switching between simulation and real environments and supports remote control and online visualization.

Benefits of technology

It achieves versatility and flexibility in motion control for multi-limb robots, reduces development difficulty, supports verification in simulation and real-world environments, provides flexible remote control methods and real-time data monitoring, and improves problem-solving speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119328793A_ABST
    Figure CN119328793A_ABST
Patent Text Reader

Abstract

The invention discloses a bionic ridge-leg type robot motion control system which comprises a driving-sensing module, a motion planning module, a simulation module, a log module and a remote control module. The driving-sensing module is a physical prototype in the real world, the simulation module is a robot model in a simulation environment, the remote control module receives a wireless remote control instruction, remaps the wireless remote control instruction into an advanced command for robot motion control, and transmits the advanced command to the motion planning module; the motion planning module calculates the expected state of the robot at the next moment according to the current motion state of the robot and the advanced command, and outputs a motion control instruction to the driving-sensing module or the simulation module; all states and command data of the motion control system in the operation process can be recorded in the log module for a user to analyze. The modules of the system are mutually independent, the development difficulty is low, and maintenance, optimization, addition and deletion of the system are facilitated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of robot motion control, and in particular relates to a bionic "spine-leg" type robot and a motion control system thereof. Background Art

[0002] Legged robots have more obvious advantages than traditional four-wheeled and tracked robots. They have higher maneuverability in complex environments, super movement ability, and natural multiple degrees of freedom, which are conducive to more delicate and complex operations. They can also better adapt to complex and changing situations and can play a greater role in special tasks and rescue missions.

[0003] The robot joint drive device is the power source of the robot. There are many types, such as hydraulic and electromagnetic. The electromagnetic type is the most common. The previous hydraulic drive had problems such as energy consumption and high maintenance costs. With the rapid development of electric drive technology, most of the current mainstream leg and foot robots choose to use electric motors as robot joint drives.

[0004] In the prior art, a Chinese patent application with publication number CN114625129A provides a motion control method and system for a position-controlled legged robot, which solves the defects in the prior art of controlling the stable walking of legged robots. However, its motion control method and system are highly personalized and difficult to reuse, and no simulation interface is provided, which makes it inconvenient to test the performance of the motion control algorithm on the simulation platform.

[0005] In the prior art, a Chinese patent application with publication number CN114932961A discloses a motion control system for a quadruped robot. The system provides a quadruped robot motion control system with a relatively clear system architecture and low module coupling. However, the motion control system only considers the control of a quadruped robot, and does not consider the control of a multi-limb "spine-leg" robot. In addition, the real-time display method of the system is not flexible enough, and the problem analysis means are insufficient. Summary of the invention

[0006] One of the purposes of the present invention is to provide a bionic "spine-leg" robot motion control system to solve the problems of existing bionic robot control systems having weak versatility, strong module coupling, and being unsuitable for robots with multiple limbs (head / tail / spine).

[0007] To achieve the above object, the technical solution adopted by the present invention is:

[0008] A bionic "spine-leg" robot motion control system comprises: a drive-perception module, a motion planning module, a simulation module, a log module and a remote control module; the drive-perception module is a physical prototype in the real world, the simulation module is a robot model in a simulation environment, the remote control module receives wireless remote control instructions, remaps them into high-level commands for robot motion control, and transmits them to the motion planning module; the motion planning module calculates the expected state of the robot at the next moment according to the current robot motion state and the high-level commands, and outputs the motion control instructions to the drive-perception module or the simulation module; all states and command data of the motion control system during operation are recorded in the log module for user analysis.

[0009] Preferably, the drive-sensing module includes a drive control unit, a drive execution unit, a force sensing unit, an inertial measurement unit and a ROS communication unit, wherein:

[0010] The drive control unit pre-processes the received control instruction and then sends it to the drive execution unit, and reads the feedback status of all drive execution units at the same time;

[0011] The drive execution unit drives the joint motor to move to the position specified by the control instruction and responds to the state reading command of the drive control unit;

[0012] The force sensing unit is used to obtain the three-dimensional reaction force of the robot foot end measured by the three-dimensional force sensor;

[0013] The inertial measurement unit automatically checks the mounted IMU sensor and reads the angular velocity, linear acceleration and attitude data of the IMU;

[0014] The ROS communication unit realizes data transmission between the drive-perception module and the motion planning module.

[0015] Preferably, the drive-perception module and the motion planning module are defined as a ROS robot node and a ROS controller node, respectively; the robot node sends robot state feedback data to the controller node via a perception feedback topic; the controller node sends joint control instructions to the robot node via an instruction topic; the drive-perception module solves the received joint control instructions and drives the robot joints to move to the desired angles.

[0016] Preferably, the simulation module includes a kinematic model, a dynamic model, a force sensing unit, an inertial measurement unit and a ROS communication unit, wherein:

[0017] The kinematic model describes the positions, velocities and accelerations of all the moving joints of the robot;

[0018] The dynamic model can accurately predict and simulate the motion behavior of the robot under various loads and external environmental conditions;

[0019] The force sensing unit and the inertial measurement unit are deployed for the robot model in the simulation environment; the simulation module can directly request to obtain the perception data of the sensing unit by calling the ROS service;

[0020] The ROS communication unit is used to communicate with the motion planning module. First, the ROS node name of the current simulation module is set to / simulation_node, the expected output position data of the joint in the / commandValues ​​topic is obtained, and all feedback data of the simulation module node are published to the motion planning module ROS node through the / sensorValue topic.

[0021] Preferably, the motion planning module includes a state estimation unit, a performance evaluation unit and a motion control algorithm unit, wherein:

[0022] The state estimation unit is used to estimate the current state of the bionic "spine-leg" robot motion control system; the current state of the robot is estimated by the state estimation unit, and the encoder data and IMU data are combined to estimate the robot posture according to the kinematic state equation using discrete Kalman filtering;

[0023] The performance evaluation unit is used to evaluate the motion performance of the bionic "spine-leg" robot motion control system; by introducing all state perception data, the performance evaluation unit will calculate the transportation cost, forward speed and other performance indicators of the bionic "spine-leg" robot motion control system, and store the data through log files.

[0024] The motion control algorithm unit implements the motion control algorithm of the bionic "spine-leg" type robot motion control system.

[0025] Preferably, the motion control algorithm unit divides the bionic "spine-leg" robot motion control system into multiple limbs, including legs and feet, spine and head / tail; in each limb, it is implemented by a unified algorithm module unit.

[0026] Preferably, the algorithm module unit includes: an instruction parsing unit, a phase generation unit, forward kinematics, a foot end trajectory generation unit, a balance control unit, a reflex control unit, an inverse kinematics solution, and a compliance control unit, wherein:

[0027] The command parsing unit parses the remote control commands input by the motion planning module, and parses and maps all remote control commands to achieve different remote control effects;

[0028] The phase generation unit is used to generate the phase required for the coordinated movement of each limb. The phase generation units between limbs are independent of each other. The phase generation unit can realize the phase difference between given limb modules by reading the configuration file during initialization, so as to realize the coordinated control between different limb modules.

[0029] The forward kinematics unit solves the spatial position of each limb at the current moment according to the current joint spatial state data of each limb, and transmits the calculated spatial position to the next trajectory generation unit;

[0030] The foot-end trajectory generating unit is connected to the forward kinematics unit and the balance control unit; by receiving the current foot-end trajectory point and the current phase value, the foot-end trajectory output point position at the next moment is calculated, and the generated foot-end trajectory point is transmitted to the balance control unit to correct the trajectory point position;

[0031] The balance control unit receives the foot-end trajectory point data from the foot-end trajectory generating unit, and uses the posture data of the inertial measurement unit to correct the foot-end trajectory point with a specific algorithm;

[0032] The reflex control unit receives the primary trajectory point correction data from the balance control unit, and performs secondary correction on the foot end trajectory point position by using the three-dimensional force data obtained by the force sensing unit;

[0033] The inverse kinematics solving unit is connected to the reflection control unit and the compliance control unit, calculates the position control instructions of all joint parts of the leg and foot parts at the next moment according to the second corrected foot end trajectory point data received at the next moment, and sends the calculated position control instructions to the compliance control unit;

[0034] The compliance control unit is used to receive joint control instructions from the inverse kinematics solving unit and implement compliance control of all joints through a specific algorithm;

[0035] The motion control algorithm unit can publish the command through the / commandValues ​​topic of the ROS communication unit after calculating the joint control instructions of all limbs, and then the drive-perception module or simulation module can obtain it from this topic and realize the movement of the robot by implementing the drive.

[0036] Preferably, the log module includes: a ROS communication unit, a log unit and an online visualization unit, wherein:

[0037] The log unit is used to store all feedback, commands and performance data of the motion planning module during operation. The stored data can be used for data analysis after the bionic "spine-leg" robot motion control system is running;

[0038] The visual drawing module receives data from the ROS communication unit and calls the internal drawing program of the computer to display all real-time online data.

[0039] The ROS communication unit is used to communicate with the motion planning module through the ROS topic to obtain the operation data of all motion planning modules, specifically through the / showValues ​​topic to obtain all data that needs to be displayed online in real time.

[0040] Preferably, the remote control module includes: a ROS communication unit and a JoyStick event monitoring unit, wherein:

[0041] The JoyStick event monitoring unit is used to monitor the event changes of the JoyStick wireless controller, including the changes of the joystick and the buttons of the controller; and map the controller change events to other function key values, and then send the data to the ROS communication unit;

[0042] The ROS communication unit receives the function key value from the JoyStick event monitoring module, and transmits the function key value to the ROS parameter server for acquisition and use by other ROS nodes of the bionic "spine-leg" robot motion control system.

[0043] The bionic "spine-leg" robot motion control system proposed by the present invention is independent of each other in modules, and the development difficulty of the entire motion control system is low, which is convenient for maintaining, optimizing, adding and deleting modules of the system. The drive-perception module and the simulation module can be conveniently switched and selected, the motion control algorithm can be verified in the simulation environment, and the real effect of the motion control algorithm can be tested on the drive-perception module. The software system framework has a clear hierarchy, low coupling between modules, and low secondary development difficulty. The remote control mode is flexible and diverse, and the motion instructions can be modified by means of a physical handle, or the corresponding parameters of the ROS parameter server can be directly modified. The online visualization unit is convenient for real-time monitoring of the operation of the motion control system, the log unit can retain all the operation data of the motion control system, and a variety of data display methods can greatly speed up the speed of solving problems in the robot development process. The motion planning module exists alone as a ROS node, which is convenient for modifying and verifying the internal motion control algorithm of the motion planning module.

[0044] The second purpose of the present invention is to provide a bionic "spine-leg" type robot, which includes the above-mentioned bionic "spine-leg" type robot motion control system. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 A schematic diagram of the bionic "spine-leg" robot of the present invention;

[0046] Figure 2 The software framework diagram of the bionic "spine-leg" robot motion control system of the present invention;

[0047] Figure 3 The software framework diagram of the motion planning module in the bionic "spine-leg" robot motion control system of the present invention;

[0048] Figure 4 A schematic diagram of ROS nodes and topics of the bionic "spine-leg" robot motion control system of the present invention;

[0049] Among them, 1-robot system main control, 2-IMU sensor, 3-three-dimensional force sensor. DETAILED DESCRIPTION

[0050] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0051] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art of the present invention. The terms used in the specification of the present invention herein are only for the purpose of describing specific embodiments and are not intended to limit the present invention.

[0052] Example 1

[0053] like Figure 2 As shown, the present invention proposes a bionic "spine-leg" robot motion control system, which mainly includes a drive-perception module, a simulation module, a log module, a motion planning module and a remote control module. The robot motion control system is mainly to solve the problems that the motion control system in the prior art does not consider the motion control of multi-limb robots, the motion control system has low versatility, and the correlation between simulation and robot physical prototype debugging is low. Figure 1This is a schematic diagram of a bionic "spine-leg" robot. The robot has four legs, each with four degrees of freedom, which improves the robot's leg and foot movement ability. At the same time, the robot also has multiple limbs such as the head, spine and tail, among which the head has two degrees of freedom, the spine has two degrees of freedom, and the tail has four degrees of freedom. Such a structural design can be closer to real amphibious crawling animals, such as crocodiles, in terms of movement form. At the same time, through the rhythmic movement of the spine and tail, the robot is given excellent water movement ability. 1-The robot system main control, model Oroid XU4, is responsible for processing all tasks of the robot system; 2-IMU sensor, model vn100, is responsible for sensing the acceleration, angular velocity, tilt, vibration and other degrees of freedom of the robot body; 3-3D force sensor, model bota minione, is responsible for sensing the three-dimensional force data in the direction of the robot's foot end, sensing the current force conditions of all legs and feet, and providing a basis for the controller to better plan movement. All joint motors use MX64 motors, which can provide greater output torque and better following accuracy, providing reliable drive joints for the entire robot system.

[0054] This embodiment is compatible with the debugging motion of the simulation module and the robot physical prototype. Therefore, when the motion control system is initialized, it is necessary to judge the operating environment of the current system in the motion planning module. The simulation module and the robot physical prototype will set the flag in the parameter server during operation. Therefore, the method for judging the operating environment is as follows: when the motion planning module is initialized, the drive-perception module flag is first read through the ROS parameter server. If the flag exists, it proves that the motion control system is running on the robot physical prototype; if the flag does not exist, the motion planning module reads the simulation module flag. If the flag exists, it means that the motion control system is running in the simulation environment; if neither of them exists, it means that only the motion planning module is currently running alone.

[0055] In this embodiment, the motion control system is started by a roslaunch file. In this file, the operating environment of the motion control system is selected by the included drive-perception module and simulation module startup files; by setting the included parameters, the drive-perception module and simulation module flags can be set. By writing different roslaunch files, the same motion control system can be executed to start different operating environments.

[0056] It should be noted that the motion control system mainly completes distributed communication through the ROS robot operating system, so the motion control system contains information such as topics and nodes of the ROS system. In the motion control system, all ROS node and topic information such as Figure 4As shown, the oval box represents the ROS node, the square box represents the ROS topic name, and the arrows between the topics represent the subscription direction. The use of topics and nodes will be introduced later.

[0057] In the operating environment of the motion control system, during a single operation, only one of the drive-perception module and the simulation module will exist or neither will exist. The state where the drive-perception module and the simulation module exist at the same time is not currently supported. This ensures that the data source in the topic / sensorValues ​​will only come from the drive-perception module or the simulation module.

[0058] 1) Drive-Perception Module:

[0059] In this embodiment, the drive-perception module is a robot that is actually driven in the real world. The drive-perception module receives the expected control commands of all joints at the next moment issued by the motion planning module through the topic / motorValues, and controls the drive execution unit through the drive control unit after mapping the commands into control instructions of the drive execution unit.

[0060] In this embodiment, the main processor is Oroid XU4, which has 8 cores and a single-core operating frequency of up to 2GHz, meeting the computing power requirements. The drive execution unit uses the Dynamixel MX series servo, and the drive control unit uses the matching u2d2 control board. The u2d2 control board is connected to the main processor via USB, and the u2d2 control board is connected to the servo via RS485 bus. The communication rate between the control board and the servo is set to 4Mbps, meeting the needs of high-speed communication control.

[0061] In the drive-perception module, the drive control unit will also synchronously read the feedback status data of all current drive execution units, the force sensing data of all foot-end force sensing units, and the posture data of the inertial measurement unit. All the feedback status and sensing data obtained will be sorted in the drive-perception module and published in the topic / sensorValues ​​in array arrangement.

[0062] In this embodiment, the force sensing unit uses bota minione, which can output three-axis measurement force, with a single-axis output force range of 0-50N, a maximum short-term overload of 100N, and a sensor data update frequency of up to 300Hz, which fully meets the performance requirements; on the robot physical prototype, a force sensing unit is installed at the foot of each leg, a total of four; the measurement forces of these four force sensing units follow the same direction, measuring the three-dimensional reaction force of the physical prototype during operation; the inertial measurement unit uses vn100, which combines a three-axis accelerometer, a three-axis gyroscope, a three-axis magnetic sensor and an atmospheric pressure sensor. The IMU data update frequency of this unit can reach up to 800Hz, the accuracy of static pitch / roll can reach 0.5°, the accuracy of dynamic pitch / roll can reach 1°, and the maximum output range of the accelerometer is 16g; the force sensing unit and the inertial measurement unit both communicate data via USB, and the measurement data is sorted by the drive-perception module and published in the ROS topic / sensorValues.

[0063] 2) Simulation module:

[0064] The simulation module is mainly implemented in the Webots simulation environment. By building a robot model in the Webots simulation environment and setting the simulation environment and structural parameters, the physical movement of the robot in the real world can be simulated. Force sensing units and inertial measurement units can also be embedded in the Webots environment to collect the robot's current posture and plantar feedback force. By setting the selection properties of the limbs in Webots, the operation effect of the drive-perception module in the real world can be achieved.

[0065] It should be noted that the control and state feedback of each driving joint of the simulation module model in Webots are completed through a separate and corresponding ROS service.

[0066] Similar to the control process of the drive-perception module, the simulation module also needs to obtain the control instructions of all drive joints from the / motorValues ​​topic, and then control the joints of the simulation module; after that, the simulation module also needs to obtain the feedback status data of all drive shutdowns, including the perception data of the force sensor unit and the inertial measurement unit, and then organize all the data in a certain order and publish them on the topic / sensorValues.

[0067] It is easy to understand that the motion control system of this embodiment focuses on providing relevant interfaces and simulation module models of the Webots simulation environment, and the simulation environment can adopt other different solutions, such as the gazebo simulation environment, etc.; data communication between the simulation environment and the motion planning module is carried out through the ROS operating system, but this is not the only communication solution, and inter-process communication, shared memory and other methods can also be used.

[0068] 3) Motion planning module:

[0069] The motion planning module is the core module for realizing the motion control system. In the composition of the motion planning module, the motion control algorithm unit realizes the motion control of the bionic "spine-leg" robot motion control system. At the same time, other module units realize different functions: the state estimation unit estimates the center of mass position and speed of the current robot of the motion control system by obtaining the feedback data and sensor data of all driving joints, and then passes the estimated system state to the motion control algorithm unit. The performance evaluation module needs to complete the analysis of the current operating performance of the motion control system, and after the analysis, pass the analyzed operating performance data to the log unit for storage.

[0070] It is easy to notice that there are multiple ROS communication units in the motion control system, and the multiple ROS communication units here realize data communication between multiple ROS nodes. Both the drive-perception module and the simulation module need to feedback the status data of all joints of the current robot body and the perception data of the force sensor unit and the inertial measurement unit to the motion planning module, and the motion planning module also needs to output the motion control instructions of all joints to the drive-perception module and the simulation module. The log module needs to obtain all operating data from the motion planning module, and the remote control module needs to set up the ROS parameter server. All ROS nodes rely on the ROS robot operating system for data communication, so all nodes must have ROS communication units to realize this function.

[0071] The state estimation unit is used to estimate the current state of the bionic "spine-leg" robot motion control system. The physical quantities used to describe the state include: global center of mass position, center of mass velocity, all corrected feedback perception quantities, etc. The current state of the robot is estimated through the state estimation unit, and the encoder data and IMU data are combined to estimate the robot's posture based on the kinematic state equation using discrete Kalman filtering. This solves the integral error caused by the full use of IMU and the deviation caused by the inability to estimate foot sliding and encoder errors when fully using encoder estimation.

[0072] The performance evaluation unit is used to evaluate the motion performance of the bionic "spine-leg" robot motion control system; by introducing all state perception data, the performance evaluation unit will calculate the transportation cost (COT), forward speed and other performance indicators of the bionic "spine-leg" robot motion control system, and store the data through log files, and publish them through ROS topics for real-time display by the log module.

[0073] In this embodiment, the motion control algorithm unit is used to implement the motion control algorithm of the bionic "spine-leg" robot motion control system. The motion control algorithm unit divides the bionic "spine-leg" robot motion control system into multiple limbs, including legs and feet, spine and head / tail. In each limb, it is implemented by a unified algorithm module unit, including a phase generation unit, forward kinematics, foot end trajectory generation unit, balance control unit, reflex control unit, inverse kinematics solution, and compliance control unit.

[0074] In this embodiment, it is obvious to notice the software layering concept of the motion control system and the motion control algorithm unit. Figure 3 The software framework of the motion planning module is shown. It can be clearly observed that there is little coupling relationship between the components and functional modules of each layer of the software framework. The software framework is clearly layered, and the data flow between modules is clear. Each functional module can be independently developed and debugged. You only need to pay attention to the connection interface between modules. After the functional debugging of each module is completed, the overall software framework can be built to quickly debug the motion planning module. At the same time, the functional modules in the software framework can also be easily modified and transplanted by users.

[0075] In this embodiment, the bionic "spine-leg" robot structure includes multiple limb parts, and how to coordinate the movement and movement order between the limbs are all controlled by the phase generation unit. By parsing the upper-level control instructions, the phase between the current limbs of the robot is adjusted to control the robot body motion state, thereby adjusting the gait, step frequency and movement posture of the robot in actual operation. For example, when the gait phase of the robot's left front leg, right front leg, left hind leg, and right hind leg is set to 0 / 0.5 / 0.5 / 0, the robot's left front leg and right hind leg remain in phase, and the right front leg and left hind leg remain in phase, and the robot will walk in a diagonal gait; at the same time, the head and tail limbs and the spine limb parts will be in order to better maintain the balance of the robot during walking. The head will be in phase with the right front leg, the tail will be in phase with the left hind leg, and the spine part will be divided into front and back parts in phase with the left front leg and the left hind leg in order to better balance the center of gravity of the robot. By adjusting the phase configuration properties of the phase generation unit, the robot can realize walking methods such as diagonal gait and triangular gait. By adjusting the initial configuration of stride length and frequency, the robot can exhibit different forward speeds and movement postures in the initial state, such as trotting, pacing and walking slowly. During the operation of the robot motion control system, the stride frequency and stride length can be dynamically modified through the remote control module, making the robot's motion state adjustable.

[0076] The forward kinematics unit can calculate the endpoint spatial data of each limb of the robot based on the current state data of all joints of the robot. It should be noted that in this embodiment, the robot body includes multiple limbs, so the limbs corresponding to the endpoint spatial data calculated by multiple forward kinematics units are different. For example, the forward kinematics unit of the legs and feet calculates the end spatial data of the legs and feet, the forward kinematics unit of the spine calculates the end spatial data of the spine, and the forward kinematics unit of the head and tail limbs calculates the end spatial data of the head and tail, and then passes the calculated spatial data of each limb to the next interface module of the corresponding limb. Through the processing of the forward kinematics unit, the motion planning system can obtain the spatial state of each limb of the robot at the current moment.

[0077] The foot-end trajectory generation unit receives the spatial state and phase value of the current limb from the forward kinematics unit of the corresponding limb, and calculates the expected position of the foot-end trajectory point at the next moment according to the given preset trajectory of the limb. It should be noted that in this embodiment, due to the large number of limb types and numbers, it not only includes a foot-end trajectory generation unit, but also a spine trajectory generation unit and a head-tail trajectory generation unit. Although the names are different, the functions implemented by these unit modules are the same, which are to receive the phase value and trajectory point of the current limb part, calculate the expected trajectory point position of the current limb part at the next moment, and then pass it to the next functional unit.

[0078] It should be noted that for the leg and foot parts, only a fixed motion trajectory needs to be preset for the foot end trajectory generation unit. The trajectory needs to take into account the time that the leg and foot parts leave the ground and the proportion of the time period of the entire trajectory (called duty cycle); at the same time, the relationship between the motion trajectory and the stride length needs to be considered. The stride length is positively correlated with the motion trajectory, that is, the larger the stride length, the larger the motion trajectory. Therefore, the motion trajectory changes in real time in the motion control system. The two main factors that change the motion trajectory are the duty cycle and the stride length. It can be expected that once the motion trajectory changes, the walking posture of the robot will also change accordingly.

[0079] The balance control unit is mainly used to correct the impact of the current robot body misalignment on the motion control system, and it only works in the legs and feet. The unit receives the foot-end trajectory point data from the foot-end trajectory generation unit, and corrects the foot-end trajectory points with a specific algorithm using the posture data of the inertial measurement unit. The corrected foot-end trajectory points will eliminate the problem of the robot body misalignment at the current moment. The balance control unit may not be obvious on flat ground, but when the robot runs on a slope environment, it will dynamically adjust the robot's current posture to make the robot run more stably. It is an indispensable part of the motion control system.

[0080] The reflex control unit is an execution unit of the motion control system that imitates the reflex behavior of animals, allowing the robot to handle sudden situations at the leg and foot ends (stepping on empty space and being blocked by obstacles) during movement: stepping on empty space is the situation where the leg and foot have not touched the ground during the support phase, and being blocked by obstacles is the situation where the leg and foot cannot pass through when encountering obstacles. Adding this reflex control unit to the entire motion control system will improve the overall movement ability of the robot. Similar to the balance control unit, the reflex control unit also only works in the leg and foot limbs. It receives the primary foot end trajectory point correction data from the balance control unit, and uses the three-dimensional force data obtained by the force sensing unit to perform a secondary correction on the foot end trajectory point position. The corrected trajectory position is sent to the inverse kinematics solver for processing.

[0081] The inverse kinematics solving unit receives the desired endpoint spatial data of each limb and calculates the position control instructions of all joint parts of the limb at the next moment through the inverse kinematics method. It should be noted that in this embodiment, due to the large number of limb types and numbers, the functional modules of the inverse kinematics solving unit implemented have the same functions, but there are differences in the implementation mechanisms within the functional modules.

[0082] The compliant control unit is used to receive the joint control instructions from the inverse kinematics solving unit, realize the compliance of the joint control instructions through the implemented virtual antagonist-muscle pair model, and realize the compliant control of all joints of the robot.

[0083] The motion control algorithm unit can publish the command through the / commandValues ​​topic of the ROS communication unit after all the joint control commands of the limbs are calculated, and then the drive-perception module or the simulation module can obtain it from this topic, and then realize the movement of the robot by implementing the drive.

[0084] 4) Log module:

[0085] In this embodiment, the robot data has multiple display and storage methods, and the log module is one of the main methods for real-time display and storage of data. The system obtains the robot's operating data through the topic / showValues, including control instructions and feedback data of driving joints, operating performance data, actual foot end trajectory, expected foot end trajectory, force sensor data, and inertial measurement unit data, and plots the obtained data online.

[0086] It should be noted that the online visualization unit is the main way to display real-time data, but it is not the only way. Users can also use the rqt_plot tool to select the / showValues ​​topic and select the corresponding data they want to display to achieve the goal of real-time data display.

[0087] In this embodiment, the log unit records the perception feedback data, planning output data and robot motion performance data of the motion planning module. The log unit is realized by repackaging the file operation class in the Linux operating system and adding data writing and timed refreshing of the file writing buffer on the basis of the original file operation.

[0088] By analyzing the log files, we can intuitively see the operation status and performance of each functional module during the operation of the bionic "spine-leg" robot motion control system. At the same time, when a problem occurs in the bionic "spine-leg" robot motion control system, by analyzing the log files, we can quickly locate the problem point and facilitate the solution.

[0089] It should be noted that the functions implemented by the log unit are different from those of the online visualization unit: the online visualization unit displays all the operating data of the motion control system to the user through drawing, while the log unit does not have the function of the online visualization unit. This functional unit is only responsible for storing all the operating data of the motion control system into the log file, preparing for the data analysis of the motion control system when it is finished.

[0090] 5) Remote control module:

[0091] The remote control module serves as the remote control command unit of the bionic "spine-leg" robot motion control system. By using the PS5 handle, the robot is controlled by remote control. The remote control motion control system parameters include: standing state, walking state, swimming state, robot forward speed, turning curvature, body height and leg lifting height, etc. It is easy to notice that the motion control system remote control parameters include the swimming state. The bionic "spine-leg" robot motion control system implemented in this embodiment can realize the robot's amphibious movement. In the walking state, the robot's forward speed controls the robot's overall forward speed; in the swimming state, the robot's forward speed controls the robot's swimming speed.

[0092] It should be noted that the remote control module is not the only remote control means of this embodiment; it can be noted that the remote control module node transmits the high-level motion control instructions of the remote control module by modifying the ROS parameter server parameters. When the user does not have a remote control module, he can also control the motion control system by only modifying the ROS parameter server parameters; in addition, the user can also map the keyboard parameters to the ROS parameter server parameters by writing a program, thereby realizing the remote control of the robot motion control system by the keyboard.

[0093] It should be noted that the focus of this embodiment is to provide a software framework suitable for a bionic "spine-leg" robot motion control system. It can be clearly found from the above content that the provided software framework has the characteristics of clear hierarchy, clear logic, convenient debugging, high reusability and strong portability; the coupling between the functional modules in the software framework is low, which is convenient for adding and modifying functional modules. The motion control algorithm unit of this embodiment is only one of the methods to realize the robot motion control system. Users can use other different motion control algorithms, which can also be conveniently transplanted into this software framework. The technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, all possible combinations of the technical features in the above-mentioned embodiments are not described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0094] The above-mentioned embodiments only express several implementation modes of the present invention, and the description thereof is relatively specific and detailed, but it cannot be understood as limiting the scope of the invention. It should be pointed out that, for a person of ordinary skill in the art, several modifications and improvements can be made without departing from the concept of the present invention, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the attached claims.

Claims

1. A bionic "spine-leg" robot motion control system, comprising: Drive-perception module, motion planning module, simulation module, log module and remote control module; The drive-perception module is a physical prototype in the real world, the simulation module is a robot model in a simulation environment, the remote control module receives wireless remote control instructions, remaps them into high-level commands for robot motion control, and passes them to the motion planning module. The motion planning module calculates the expected state of the robot at the next moment based on the current robot motion state and high-level commands, and outputs motion control instructions to the drive-perception module or the simulation module. All states and command data of the motion control system during operation will be recorded in the log module for user analysis.

2. The bionic "spine-leg" robot motion control system according to claim 1 is characterized in that: The drive-sensing module includes a drive control unit, a drive execution unit, a force sensing unit, an inertial measurement unit and a ROS communication unit, wherein: The drive control unit pre-processes the received control instruction and then sends it to the drive execution unit, and reads the feedback status of all drive execution units at the same time; The drive execution unit drives the joint motor to move to the position specified by the control instruction and responds to the state reading command of the drive control unit; The force sensing unit is used to obtain the three-dimensional reaction force of the robot foot end measured by the three-dimensional force sensor; The inertial measurement unit automatically checks the mounted IMU sensor and reads the angular velocity, linear acceleration and attitude data of the IMU; The ROS communication unit realizes data transmission between the drive-perception module and the motion planning module.

3. The bionic "spine-leg" robot motion control system according to claim 2 is characterized in that: The drive-perception module and the motion planning module are defined as a ROS robot node and a ROS controller node, respectively; the robot node sends robot state feedback data to the controller node through a perception feedback topic; the controller node sends joint control instructions to the robot node through an instruction topic; the drive-perception module solves the received joint control instructions and drives the robot joints to move to the desired angles.

4. The bionic "spine-leg" robot motion control system according to claim 1 is characterized in that: The simulation module includes a kinematic model, a dynamic model, a force sensing unit, an inertial measurement unit and a ROS communication unit, wherein: The kinematic model describes the positions, velocities and accelerations of all the moving joints of the robot; The dynamic model can accurately predict and simulate the motion behavior of the robot under various loads and external environmental conditions; The force sensing unit and the inertial measurement unit are deployed for the robot model in the simulation environment; the simulation module can directly request to obtain the perception data of the sensing unit by calling the ROS service; The ROS communication unit is used to communicate with the motion planning module. First, the ROS node name of the current simulation module is set to / simulation_node, the expected output position data of the joint in the / commandValues ​​topic is obtained, and all feedback data of the simulation module node are published to the motion planning module ROS node through the / sensorValue topic.

5. The bionic "spine-leg" robot motion control system according to claim 1 is characterized in that: The motion planning module includes a state estimation unit, a performance evaluation unit and a motion control algorithm unit, wherein: The state estimation unit is used to estimate the current state of the bionic "spine-leg" robot motion control system; the current state of the robot is estimated by the state estimation unit, and the encoder data and IMU data are combined to estimate the robot posture according to the kinematic state equation using discrete Kalman filtering; The performance evaluation unit is used to evaluate the motion performance of the bionic "spine-leg" robot motion control system; by introducing all state perception data, the performance evaluation unit will calculate the performance indicators such as the transportation cost and forward speed of the bionic "spine-leg" robot motion control system, and store the data through log files. The motion control algorithm unit implements the motion control algorithm of the bionic "spine-leg" robot motion control system.

6. The bionic "spine-leg" robot motion control system according to claim 5 is characterized in that: The motion control algorithm unit divides the bionic "spine-leg" robot motion control system into multiple limbs, including legs and feet, spine and head / tail; in each limb, it is implemented by a unified algorithm module unit.

7. The bionic "spine-leg" robot motion control system according to claim 6 is characterized in that: The algorithm module unit includes: an instruction parsing unit, a phase generation unit, forward kinematics, a foot end trajectory generation unit, a balance control unit, a reflex control unit, an inverse kinematics solution, and a compliance control unit, wherein: The command parsing unit parses the remote control commands input by the motion planning module, and parses and maps all remote control commands to achieve different remote control effects; The phase generation unit is used to generate the phase required for the coordinated movement of each limb. The phase generation units between limbs are independent of each other. The phase generation unit can realize the phase difference between given limb modules by reading the configuration file during initialization, so as to realize the coordinated control between different limb modules. The forward kinematics unit solves the spatial position of each limb at the current moment according to the current joint spatial state data of each limb, and transmits the calculated spatial position to the next trajectory generation unit; The foot-end trajectory generating unit is connected to the forward kinematics unit and the balance control unit; by receiving the current foot-end trajectory point and the current phase value, the foot-end trajectory output point position at the next moment is calculated, and the generated foot-end trajectory point is transmitted to the balance control unit to correct the trajectory point position; The balance control unit receives the foot-end trajectory point data from the foot-end trajectory generating unit, and uses the posture data of the inertial measurement unit to correct the foot-end trajectory point with a specific algorithm; The reflex control unit receives the primary trajectory point correction data from the balance control unit, and performs secondary correction on the foot end trajectory point position by using the three-dimensional force data obtained by the force sensing unit; The inverse kinematics solving unit is connected to the reflection control unit and the compliance control unit, calculates the position control instructions of all joint parts of the leg and foot parts at the next moment according to the second corrected foot end trajectory point data received at the next moment, and sends the calculated position control instructions to the compliance control unit; The compliance control unit is used to receive joint control instructions from the inverse kinematics solving unit and implement compliance control of all joints through a specific algorithm; The motion control algorithm unit can publish the command through the / commandValues ​​topic of the ROS communication unit after calculating the joint control instructions of all limbs, and then the drive-perception module or simulation module can obtain it from this topic and realize the movement of the robot by implementing the drive.

8. The bionic "spine-leg" robot motion control system according to claim 1 is characterized in that: The log module includes: a ROS communication unit, a log unit and an online visualization unit, wherein: The log unit is used to store all feedback, commands and performance data of the motion planning module during operation. The stored data can be used for data analysis after the bionic "spine-leg" robot motion control system is running; The visual drawing module receives data from the ROS communication unit and calls the internal drawing program of the computer to display all real-time online data. The ROS communication unit is used to communicate with the motion planning module through the ROS topic to obtain the operation data of all motion planning modules, specifically through the / showValues ​​topic to obtain all data that needs to be displayed online in real time.

9. The bionic "spine-leg" robot motion control system according to claim 1 is characterized in that: The remote control module includes: a ROS communication unit and a JoyStick event monitoring unit, wherein: The JoyStick event monitoring unit is used to monitor the event changes of the JoyStick wireless controller, including the changes of the joystick and the buttons of the controller; and at the same time, map the controller change events into other function key values, and then send the data to the ROS communication unit; The ROS communication unit receives the function key value from the JoyStick event monitoring module and transmits the function key value to the ROS parameter server for acquisition and use by other ROS nodes of the bionic "spine-leg" robot motion control system.

10. A bionic "spine-leg" robot, characterized in that: It comprises a bionic "spine-leg" type robot motion control system as described in claims 1 to 6.

Citation Information

Patent Citations

  • Motion control method and system of position control leg-foot robot

    CN114625129A

  • Gait control method and device of multi-legged robot and robot

    CN108237532A

  • Modularized motion control system of leg-foot type bionic robot

    CN114879711A

  • Motion control system of quadruped robot

    CN114932961A

  • MPC-based quadruped robot state correction method and system

    CN115488893A