CN118003337B - Robot motion control method, apparatus, computer device and storage medium - Google Patents
Robot motion control method, apparatus, computer device and storage medium Download PDFInfo
- Publication number
- CN118003337B CN118003337B CN202410354934.9A CN202410354934A CN118003337B CN 118003337 B CN118003337 B CN 118003337B CN 202410354934 A CN202410354934 A CN 202410354934A CN 118003337 B CN118003337 B CN 118003337B
- Authority
- CN
- China
- Prior art keywords
- motion
- motion control
- mechanical structure
- robot
- mutually independent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 330
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004590 computer program Methods 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims description 48
- 238000011161 development Methods 0.000 abstract description 14
- 238000012423 maintenance Methods 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006854 communication Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
The application provides a motion control method, a motion control device, a motion control computer device, a motion control storage medium and a motion control computer program product for a robot. Wherein the method comprises the following steps: determining a motion function required to be provided by the robot according to the service demand information; splitting the motion function according to a preset motion control module disassembly template to generate a plurality of mutually independent motion control modules; disassembling the whole mechanical structure of the robot to obtain a plurality of mutually independent control amounts, grouping the plurality of mutually independent control amounts according to a kinematic model, and determining a plurality of mutually independent mechanical structure components; matching a plurality of mutually independent mechanical structure components with a plurality of mutually independent motion control modules according to the kinematic model, and connecting the successfully matched mechanical structure components with the motion control modules; and controlling the robot to perform mechanical movement based on the connected mechanical structure assembly and the movement control module. The method is beneficial to improving development and maintenance efficiency.
Description
Technical Field
The application relates to the technical field of robots. In particular, the present application relates to a method, an apparatus, a computer device, a storage medium and a computer program product for controlling the movement of a robot.
Background
In recent years, with the rapid development of artificial intelligence technology, intelligent robots are continuously emerging and gradually applied to various industries. The intelligent robot can replace people to engage in dangerous and heavy work, and has wide application prospect from industrial manufacture to medical care and daily life.
While intelligent robots have demonstrated great potential in many fields, a wide variety of robot bodies and diversified motion control algorithms have emerged in order to meet different business requirements during the development of robot products. However, due to the tight coupling between the motion control algorithm and the robot body and the lack of sophisticated robot motion control module development framework support, decoupling and module multiplexing of the motion control algorithm and the robot hardware body cannot be effectively achieved. Therefore, the development and maintenance difficulty of the robot product is high, and the development and landing speed of the robot product are seriously influenced.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a motion control method, apparatus, computer device, storage medium, and computer program product for a robot.
In a first aspect, the present application provides a method for controlling movement of a robot. The method comprises the following steps:
determining a motion function required to be provided by the robot according to the service demand information;
Splitting the motion function according to a preset motion control module disassembly template to generate a plurality of mutually independent motion control modules; the motion control module is used for running a corresponding motion control algorithm, and the motion control algorithm is determined based on a kinematic model;
Disassembling the whole mechanical structure of the robot to obtain a plurality of mutually independent control amounts, grouping the plurality of mutually independent control amounts according to a kinematic model, and determining a plurality of mutually independent mechanical structure components;
Matching the plurality of mutually independent mechanical structure components with the plurality of mutually independent motion control modules according to the kinematic model, and connecting the successfully matched mechanical structure components with the motion control modules;
and controlling the robot to perform mechanical movement based on the connected mechanical structure assembly and the movement control module.
In one embodiment, the splitting the motion function according to a preset motion control module disassembly template generates a plurality of motion control modules that are independent of each other, including:
analyzing the motion function according to a preset motion control module disassembly template to obtain different motion purposes;
splitting the motion function according to the different motion purposes to generate a plurality of mutually independent motion control modules; wherein, each motion control module corresponds to each motion purpose.
In one embodiment, the disassembling the whole mechanical structure of the robot to obtain a plurality of independent control amounts includes:
and disassembling the whole mechanical structure of the robot according to the degree of freedom to obtain a plurality of mutually independent control amounts.
In one embodiment, the grouping the plurality of independent control quantities according to the kinematic model determines a plurality of independent mechanical structural components, including:
Reading a pre-stored model description file corresponding to the kinematic model;
scanning the model description file to obtain all mutually independent control amounts;
Traversing each control quantity one by one, and observing a movement result of the robot by changing the value of the control quantity so as to identify a mechanical structure component which moves;
The control quantity is associated with the corresponding moving mechanical structure component to complete the grouping of the control quantity.
In one embodiment, the motion control module includes a standard interface; wherein,
And the standard interface is used for responding to a calling request of the logic module of the robot and calling the motion control module.
In one embodiment, the connection-based mechanical structure assembly and motion control module controls the robot to perform mechanical motions, comprising:
In the connected mechanical structure assembly and motion control module, a motion command is generated by the motion control module and sent to the mechanical structure assembly to instruct the mechanical structure assembly to perform mechanical motion according to the motion command.
In one embodiment, the method further comprises:
when the mechanical structure component responds to the motion instruction to perform mechanical motion, the motion data are collected by using sensors arranged on the robot and transmitted to the mechanical structure component;
And generating motion feedback information according to the motion data through the mechanical structure component and sending the motion feedback information to the motion control module.
In a second aspect, the present application provides a motion control apparatus for a robot. The device comprises:
The motion function determining module is used for determining motion functions required to be provided for the robot according to the service demand information;
The motion function splitting module is used for splitting the motion function according to a preset motion control module splitting template to generate a plurality of mutually independent motion control modules; the motion control module is used for running a corresponding motion control algorithm, and the motion control algorithm is determined based on a kinematic model;
The mechanical structure disassembly module is used for disassembling the whole mechanical structure of the robot to obtain a plurality of mutually independent control amounts, grouping the plurality of mutually independent control amounts according to a kinematic model and determining a plurality of mutually independent mechanical structure components;
the component module matching module is used for matching the plurality of mutually independent mechanical structure components with the plurality of mutually independent motion control modules according to the kinematic model and connecting the successfully matched mechanical structure components with the motion control modules;
And the mechanical motion control module is used for controlling the robot to perform mechanical motion based on the connected mechanical structure assembly and the motion control module.
In a third aspect, the present application also provides a computer device. The computer device comprises a memory storing a computer program and a processor which when executing the computer program performs the steps of:
determining a motion function required to be provided by the robot according to the service demand information;
Splitting the motion function according to a preset motion control module disassembly template to generate a plurality of mutually independent motion control modules; the motion control module is used for running a corresponding motion control algorithm, and the motion control algorithm is determined based on a kinematic model;
Disassembling the whole mechanical structure of the robot to obtain a plurality of mutually independent control amounts, grouping the plurality of mutually independent control amounts according to a kinematic model, and determining a plurality of mutually independent mechanical structure components;
Matching the plurality of mutually independent mechanical structure components with the plurality of mutually independent motion control modules according to the kinematic model, and connecting the successfully matched mechanical structure components with the motion control modules;
and controlling the robot to perform mechanical movement based on the connected mechanical structure assembly and the movement control module.
In a fourth aspect, the present application also provides a computer-readable storage medium. The computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
determining a motion function required to be provided by the robot according to the service demand information;
Splitting the motion function according to a preset motion control module disassembly template to generate a plurality of mutually independent motion control modules; the motion control module is used for running a corresponding motion control algorithm, and the motion control algorithm is determined based on a kinematic model;
Disassembling the whole mechanical structure of the robot to obtain a plurality of mutually independent control amounts, grouping the plurality of mutually independent control amounts according to a kinematic model, and determining a plurality of mutually independent mechanical structure components;
Matching the plurality of mutually independent mechanical structure components with the plurality of mutually independent motion control modules according to the kinematic model, and connecting the successfully matched mechanical structure components with the motion control modules;
and controlling the robot to perform mechanical movement based on the connected mechanical structure assembly and the movement control module.
In a fifth aspect, the present application also provides a computer program product. The computer program product comprises a computer program which, when executed by a processor, implements the steps of:
determining a motion function required to be provided by the robot according to the service demand information;
Splitting the motion function according to a preset motion control module disassembly template to generate a plurality of mutually independent motion control modules; the motion control module is used for running a corresponding motion control algorithm, and the motion control algorithm is determined based on a kinematic model;
Disassembling the whole mechanical structure of the robot to obtain a plurality of mutually independent control amounts, grouping the plurality of mutually independent control amounts according to a kinematic model, and determining a plurality of mutually independent mechanical structure components;
Matching the plurality of mutually independent mechanical structure components with the plurality of mutually independent motion control modules according to the kinematic model, and connecting the successfully matched mechanical structure components with the motion control modules;
and controlling the robot to perform mechanical movement based on the connected mechanical structure assembly and the movement control module.
According to the motion control method, the device, the computer equipment, the computer readable storage medium and the computer program product of the robot, the motion function of the robot is decomposed and abstracted into a plurality of mutually independent motion control modules through the provided motion control module disassembly template, so that the decoupling and multiplexing of the motion control modules and upper-layer business logic can be realized, the motion control modules can be developed independently of the business logic, and the universality and the flexibility are provided for different application scenes. Secondly, according to the mutually independent control quantity of the robots, the whole mechanical structure of the robot body is grouped and abstracted, and decoupling and multiplexing of hardware and a motion control module are realized. Finally, the mechanical structure component of the robot is matched and connected with the motion control module by utilizing the kinematic model, so that the automatic splicing of hardware and the motion control module is facilitated, the motion capability of the robot is realized, the development and maintenance difficulty is reduced, the development and maintenance efficiency is improved, and important support is provided for the motion capability of the robot.
Drawings
FIG. 1 is a flow chart of a method of controlling movement of a robot in one embodiment;
FIG. 2 is a block diagram of a method of motion control of a robot in one embodiment;
FIG. 3 is a block diagram of a motion control device of a robot in one embodiment;
fig. 4 is an internal structural diagram of a computer device in one embodiment.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
In one embodiment, as shown in fig. 1, there is provided a motion control method of a robot, the method including the steps of S101 to S105:
step S101, determining the motion function required by the robot according to the service demand information.
Specifically, the business requirement information is analyzed to determine the movement functions required by the robot, such as movement (walking, wheeled movement, rotation, etc.), grabbing, carrying, obstacle avoidance, changing the pose of the robot in the world coordinate system, and the like.
Step S102, splitting the motion function according to a preset motion control module disassembly template to generate a plurality of mutually independent motion control modules.
The motion control module is used for running a corresponding motion control algorithm. The motion control algorithm is determined based on a kinematic model.
Specifically, firstly, the motion function is analyzed according to a preset motion control module disassembly template so as to obtain different motion purposes. Then, according to different movement purposes, the movement function is split, and a plurality of mutually independent movement control modules are generated. Wherein, each motion control module corresponds to each motion purpose.
Taking a forklift robot as an example, the forklift robot can be split into a chassis, a portal frame and three modules which are held and clamped according to different movement purposes. The motion function of the chassis is to change the pose of the forklift robot in a world coordinate system. The movement function of the portal frame is to change the pose of the tool in the coordinate system of the forklift robot. The movement function of the clamp is an operation tool. Based on the motion control module, the motion control module which is mutually independent comprises a chassis motion control module, a portal motion control module and a clamping motion control module. The chassis motion control module is used for running a chassis motion control algorithm, the gantry motion control module is used for running a gantry motion control algorithm, and the clamping motion control module is used for running a clamping motion control algorithm.
Further, the motion control module includes a standard interface for invoking the motion control module in response to a invocation request of the logic module of the robot.
Step S103, disassembling the whole mechanical structure of the robot to obtain a plurality of mutually independent control amounts, grouping the plurality of mutually independent control amounts according to a kinematic model, and determining a plurality of mutually independent mechanical structure components. The whole mechanical structure of the robot refers to a body structure of the robot. Each mechanical structure component comprises a control quantity of a corresponding kinematic model. There are a plurality of types of kinematic models, and these models are usually preset based on actual demands.
Specifically, the entire mechanical structure of the robot is disassembled according to the degree of freedom, and a plurality of mutually independent control amounts are obtained. Wherein the degree of freedom (DegreesofFreedom, doF) refers to the number of independent movements of the robot in space. Such movement may be rotational, translational, deforming or other forms of movement. Each degree of freedom corresponds to an independent direction or parameter of motion in the robot. For example, a typical robotic joint, if rotatable about an axis, is represented as having one degree of rotational freedom. If it is movable in one plane, there are two degrees of freedom of movement in the plane (typically the X-axis and the Y-axis).
Taking a forklift robot as an example, for a chassis motion control module, the chassis of the forklift robot is an ackerman chassis, and two degrees of freedom are two, namely travel speed control and steering angle control. According to the degree of freedom disassembly, two mutually independent control amounts can be obtained. And grouping the two mutually independent control quantities into an Ackerman chassis control group according to an Ackerman chassis kinematic model. In addition, the chassis of the forklift robot can also be a full steering chassis, a differential wheel chassis and the like. The portal motion control module and the clamping motion control module are processed in a similar manner to the chassis motion control module.
For another example, for a six degree-of-freedom mechanical arm, each degree of freedom is controlled by an independent motor, and six independent control amounts are obtained according to the disassembly of the six motors. And grouping the six mutually independent control amounts into a mechanical arm control group according to the mechanical arm kinematics model.
After a plurality of mutually independent control amounts are obtained, a pre-stored model description file corresponding to the kinematic model is read, and the model description file is scanned to obtain all the mutually independent control amounts. Each control quantity is then traversed one by one, the different conditions are simulated by varying the value of the control quantity, and the results of the movements of the robot are observed to identify the mechanical structural components associated with these movements, i.e. the parts where the movements occur. Finally, the control quantity is associated with the corresponding moving mechanical structure component to complete the automatic grouping of the control quantity.
Step S104, matching a plurality of mutually independent mechanical structure components with a plurality of mutually independent motion control modules according to the kinematic model, and connecting the successfully matched mechanical structure components with the motion control modules.
Taking a forklift robot as an example, matching and connecting the Ackerman chassis control group with the chassis motion control module according to the Ackerman chassis kinematic model. The portal motion control module and the clamping motion control module are processed in a similar manner to the chassis motion control module.
Step S105, controlling the robot to perform mechanical movement based on the connected mechanical structure assembly and the movement control module.
Specifically, in the connected mechanical structure component and motion control module, a motion command is generated by the motion control module and sent to the mechanical structure component to instruct the mechanical structure component to perform mechanical motion according to the motion command.
Taking the forklift robot as an example, the chassis of the forklift robot is controlled to move based on the connected ackerman chassis control group and the chassis movement control module.
Further, when the mechanical structure component responds to the movement instruction to perform mechanical movement, the sensor arranged on the robot is utilized to collect movement data and transmit the movement data to the mechanical structure component; and generating motion feedback information according to the motion data through the mechanical structure component and sending the motion feedback information to the motion control module.
In the motion control method of the robot, the motion function of the robot is decomposed and abstracted into a plurality of mutually independent motion control modules through the provided motion control module disassembling template, so that the decoupling and multiplexing of the motion control module and the upper-layer business logic can be realized, the motion control module can be developed independently of the business logic, and the universality and the flexibility are provided for different application scenes. Secondly, according to the mutually independent control quantity of the robots, the whole mechanical structure of the robot body is grouped and abstracted, and decoupling and multiplexing of hardware and a motion control module are realized. Finally, the mechanical structure component of the robot is matched and connected with the motion control module by utilizing the kinematic model, so that the automatic splicing of hardware and the motion control module is facilitated, the motion capability of the robot is realized, the development difficulty is reduced, the development efficiency is improved, and important support is provided for the motion capability of the robot.
In a specific embodiment, please refer to fig. 2, which illustrates a specific implementation flow of a motion control method of a robot according to an embodiment of the present application, including:
1. Motion control modeling
In the motion control layer, the motion function of the robot body is abstracted into a plurality of mutually independent motion control modules according to the motion purpose. In order to achieve a higher degree of modularization and flexibility, for each type of motion control module, a standard interface which can be called by an upper layer logic module is defined, so that the motion control module can be multiplexed for a plurality of times, and meanwhile, decoupling of a motion function and upper layer business logic is achieved.
In addition, the motion control algorithm is an important component of the motion control module and can be realized based on a kinematic model so as to ensure accurate control and execution of the motion of the robot. Such model-based algorithms provide reliable motion guidance and decision support for the motion control module.
2. Hardware decoupling
The whole mechanical structure of the robot body is disassembled into a plurality of mutually independent control quantities, and then the control quantities are grouped and abstracted according to a kinematic model, so that multiplexing of hardware grouping (mechanical structure assembly) can be realized, and hardware of different parts can be flexibly applied to different motion control modules. Meanwhile, the hardware and the motion control module are decoupled in the mode, so that different control modules can independently call required hardware components, and maintainability and expansibility of the system are enhanced.
3. Frame self-splicing
And the framework service layer is used for matching and connecting the mechanical structure component with the motion control module according to the kinematic model. Once the connection is successfully matched and established, the communication mechanism provided by the hardware communication layer can be utilized between the motion control module and the mechanical structure component to realize the bidirectional communication of the motion command and the motion feedback. This unobstructed communication ensures real-time command transmission from the control module to the actual motion execution and communicates real-time feedback in motion execution back to the control system to maintain stable motion control.
Alternatively, in one embodiment, the motion function of the robot may be disassembled into the motion control modules independent of each other according to the purpose of the motion by providing a means for disassembling the template from the motion control modules. And disassembling the hardware body of the robot into mutually independent control quantities according to the degree of freedom of the hardware body of the robot, so that decoupling and module multiplexing of a motion control algorithm and the hardware body of the robot are realized. The hardware list is formed by associating a required hardware list for each motion control module and grouping control amounts of the robot body according to a kinematic model. And respectively loading hardware lists of the motion control layer and the hardware communication layer on the frame service layer, and then matching the motion control module with the hardware list of the robot body by utilizing a kinematic model to realize self-splicing of the control module and the hardware, so that development difficulty is reduced, development efficiency is improved, and association between different modules is more flexible and reliable.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
Based on the same inventive concept, the embodiment of the application also provides a motion control device of the robot for realizing the motion control method of the robot. The implementation of the solution provided by the device is similar to the implementation described in the above method, so the specific limitation in the motion control device embodiments of one or more robots provided below may refer to the limitation of the motion control method of the robot described above, and will not be repeated here.
In one embodiment, as shown in fig. 3, a motion control device for a robot is provided. The device comprises:
the motion function determining module 201 is configured to determine a motion function to be provided by the robot according to the service requirement information;
The motion function splitting module 202 is configured to split the motion function according to a preset motion control module splitting template to generate a plurality of motion control modules that are independent of each other; the motion control module is used for running a corresponding motion control algorithm, and the motion control algorithm is determined based on a kinematic model;
the mechanical structure disassembly module 203 is configured to disassemble an overall mechanical structure of the robot to obtain a plurality of mutually independent control amounts, and group the plurality of mutually independent control amounts according to a kinematic model to determine a plurality of mutually independent mechanical structure components;
The component module matching module 204 is configured to match the plurality of mutually independent mechanical structural components with the plurality of mutually independent motion control modules according to the kinematic model, and connect the mechanical structural components successfully matched with the motion control modules;
A mechanical motion control module 205 for controlling the robot to perform mechanical motions based on the connected mechanical structure components and motion control module.
In the motion control device of the robot, the motion function of the robot is decomposed and abstracted into a plurality of mutually independent motion control modules through the provided motion control module disassembling template, so that decoupling and multiplexing of the motion control module and upper-layer business logic can be realized, the motion control module can be developed independently of the business logic, and universality and flexibility are provided for different application scenes. Secondly, according to the mutually independent control quantity of the robots, the whole mechanical structure of the robot body is grouped and abstracted, and decoupling and multiplexing of hardware and a motion control module are realized. Finally, the mechanical structure component of the robot is matched and connected with the motion control module by utilizing the kinematic model, so that the automatic splicing of hardware and the motion control module is facilitated, the motion capability of the robot is realized, the development difficulty is reduced, the development efficiency is improved, and important support is provided for the motion capability of the robot.
It should be noted that, when the motion control device of the robot provided in the above embodiment implements the corresponding function, only the division of the above functional modules is used for illustration, in practical application, the above functional allocation may be implemented by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to implement all or part of the functions described above. In addition, the motion control device of the robot provided in the above embodiment and the motion control method embodiment of the robot belong to the same concept, and detailed implementation processes of the motion control device of the robot are shown in the method embodiment, and are not repeated here.
According to one aspect of the application, the embodiment of the application also provides a computer program product comprising a computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through a communication section. When the computer program is executed by the processor, the motion control method of the robot provided by the embodiment of the application is executed.
In addition, the embodiment of the invention also provides a computer device, which comprises a processor and a memory, wherein the memory stores a computer program, the processor can execute the computer program stored in the memory, and when the computer program is executed by the processor, the motion control method of the robot provided by any embodiment can be realized.
For example, FIG. 4 illustrates a computer device provided by an embodiment of the invention, the device including a bus 1110, a processor 1120, a transceiver 1130, a bus interface 1140, a memory 1150, and a user interface 1160.
In an embodiment of the present invention, the apparatus further includes: computer programs stored on the memory 1150 and executable on the processor 1120, which when executed by the processor 1120, implement the various processes of the motion control method embodiments of the robot described above.
A transceiver 1130 for receiving and transmitting data under the control of the processor 1120.
In an embodiment of the invention, represented by bus 1110, bus 1110 may include any number of interconnected buses and bridges, with bus 1110 connecting various circuits, including one or more processors, represented by processor 1120, and memory, represented by memory 1150.
Bus 1110 represents one or more of any of several types of bus structures, including a memory bus and a memory controller, a peripheral bus, an accelerated graphics port (AccelerateGraphicalPort, AGP), a processor, or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such an architecture includes: industry standard architecture (IndustryStandard Architecture, ISA) bus, micro channel architecture (MicroChannel Architecture, MCA) bus, enhanced ISA (ENHANCEDISA, EISA) bus, video electronics standards association (VideoElectronicsStandards Association, VESA), peripheral component interconnect (PeripheralComponent Interconnect, PCI) bus.
Processor 1120 may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method embodiments may be implemented by instructions in the form of integrated logic circuits in hardware or software in a processor. The processor includes: general purpose processors, central processing units (CentralProcessingUnit, CPU), network processors (NetworkProcessor, NP), digital signal processors (DIGITALSIGNAL PROCESSOR, DSP), application specific integrated circuits (application specific IntegratedCircuit, ASIC), field programmable gate arrays (Field ProgrammableGateArray, FPGA), complex programmable logic devices (ComplexProgrammableLogicDevice, CPLD), programmable logic arrays (ProgrammableLogicArray, PLA), micro control units (MicrocontrollerUnit, MCU) or other programmable logic devices, discrete gates, transistor logic devices, discrete hardware components. The methods, steps and logic blocks disclosed in the embodiments of the present invention may be implemented or performed. For example, the processor may be a single-core processor or a multi-core processor, and the processor may be integrated on a single chip or located on multiple different chips.
The processor 1120 may be a microprocessor or any conventional processor. The steps of the method disclosed in connection with the embodiments of the present invention may be performed directly by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules may be located in random access memory (RandomAccessMemory, RAM), flash memory (flash memory), read-only memory (ROM), programmable Read-only memory (ProgrammableROM, PROM), erasable programmable Read-only memory (ErasablePROM, EPROM), registers, and the like, as are known in the art as readable storage media. The readable storage medium is located in a memory, and the processor reads the information in the memory and, in combination with its hardware, performs the steps of the above method.
Bus 1110 may also connect together various other circuits such as peripheral devices, voltage regulators, or power management circuits, bus interface 1140 providing an interface between bus 1110 and transceiver 1130, all of which are well known in the art. Accordingly, the embodiments of the present invention will not be further described.
The transceiver 1130 may be one element or a plurality of elements, such as a plurality of receivers and transmitters, providing a means for communicating with various other apparatus over a transmission medium. For example: the transceiver 1130 receives external data from other devices, and the transceiver 1130 is configured to transmit the data processed by the processor 1120 to the other devices. Depending on the nature of the computer system, a user interface 1160 may also be provided, for example: touch screen, physical keyboard, display, mouse, speaker, microphone, trackball, joystick, stylus.
It should be appreciated that in embodiments of the present invention, the memory 1150 may further comprise memory located remotely from the processor 1120, such remotely located memory being connectable to a server through a network. One or more portions of the above-described networks may be an ad hoc network (adhocnetwork), an intranet, an extranet, a Virtual Private Network (VPN), a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Wide Area Network (WAN), a Wireless Wide Area Network (WWAN), a Metropolitan Area Network (MAN), the Internet (Internet), a Public Switched Telephone Network (PSTN), a plain old telephone service network (POTS), a cellular telephone network, a wireless fidelity (Wi-Fi) network, and a combination of two or more of the foregoing. For example, the cellular telephone network and the wireless network may be a Global System for Mobile communications (GSM) system, a Code Division Multiple Access (CDMA) system, a Worldwide Interoperability for Microwave Access (WiMAX) system, a General Packet Radio Service (GPRS) system, a Wideband Code Division Multiple Access (WCDMA) system, a Long Term Evolution (LTE) system, an LTE Frequency Division Duplex (FDD) system, an LTE Time Division Duplex (TDD) system, an Long term evolution-advanced (LTE-A) system, a Universal Mobile Telecommunications (UMTS) system, an enhanced Mobile broadband
(EnhanceMobileBroadband, eMBB) systems, mass machine class communications (massiveMachineTypeofCommunication, mMTC) systems, ultra-reliable low latency communications (UltraReliableLowLatencyCommunications, uRLLC) systems, and the like.
It should be appreciated that the memory 1150 in embodiments of the present invention may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. Wherein the nonvolatile memory includes: read-only memory (ROM), programmable Read-only memory (ProgrammableROM, PROM), erasable programmable Read-only memory (ErasablePROM, EPROM), electrically erasable programmable Read-only memory (ElectricallyEPROM, EEPROM), or flash memory (flash memory).
The volatile memory includes: random access memory (RandomAccess Memory, RAM) that serves as an external cache. By way of example, and not limitation, many forms of RAM are available, such as: static random access memory (STATICRAM, SRAM), dynamic random access memory (DYNAMICRAM, DRAM), synchronous dynamic random access memory (SynchronousDRAM, SDRAM), double data rate synchronous dynamic random access memory (DoubleData RATESDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (ENHANCEDSDRAM, ESDRAM), synchronous link dynamic random access memory (SYNCHLINKDRAM, SLDRAM), and direct memory bus random access memory (DirectRambusRAM, DRRAM). Memory 1150 described in embodiments of the present invention includes, but is not limited to, the above and any other suitable types of memory.
In an embodiment of the invention, memory 1150 stores the following elements of operating system 1151 and application programs 1152: an executable module, a data structure, or a subset thereof, or an extended set thereof.
Specifically, the operating system 1151 includes various system programs, such as: a framework layer, a core library layer, a driving layer and the like, which are used for realizing various basic services and processing tasks based on hardware. The applications 1152 include various applications such as: a media player (MediaPlayer), a Browser (Browser) for implementing various application services. A program for implementing the method of the embodiment of the present invention may be included in the application 1152. The application 1152 includes: applets, objects, components, logic, data structures, and other computer system executable instructions that perform particular tasks or implement particular abstract data types.
In addition, the embodiment of the invention further provides a computer readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the processes of the motion control method embodiment of the robot are implemented, and the same technical effects can be achieved, so that repetition is avoided, and no further description is provided herein.
The computer-readable storage medium includes: persistent and non-persistent, removable and non-removable media are tangible devices that may retain and store instructions for use by an instruction execution device. The computer-readable storage medium includes: electronic storage, magnetic storage, optical storage, electromagnetic storage, semiconductor storage, and any suitable combination of the foregoing. The computer-readable storage medium includes: phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), non-volatile random access memory (NVRAM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassette storage, magnetic tape disk storage or other magnetic storage devices, memory sticks, mechanical coding (e.g., punch cards or bump structures in grooves with instructions recorded thereon), or any other non-transmission medium that may be used to store information that may be accessed by a computing device. In accordance with the definition in the present embodiments, the computer-readable storage medium does not include a transitory signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a pulse of light passing through a fiber optic cable), or an electrical signal transmitted through a wire.
In the description of the embodiments of the present invention, those skilled in the art should appreciate that the embodiments of the present invention may be implemented as a method, an apparatus, a device, and a storage medium. Thus, embodiments of the present invention may be embodied in the following forms: complete hardware, complete software (including firmware, resident software, micro-code, etc.), a combination of hardware and software. Furthermore, in some embodiments, embodiments of the invention may also be implemented in the form of a computer program product in one or more computer-readable storage media having computer program code embodied therein.
Any combination of one or more computer-readable storage media may be employed by the computer-readable storage media described above. The computer-readable storage medium includes: an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of the computer readable storage medium include the following: portable computer diskette, hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory (FlashMemory), optical fiber, compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any combination thereof. In embodiments of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, device.
The computer program code embodied in the computer readable storage medium may be transmitted using any appropriate medium, including: wireless, wire, fiber optic cable, radio frequency (RadioFrequency, RF), or any suitable combination thereof.
Computer program code for carrying out operations of embodiments of the present invention may be written in assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or in one or more programming languages, including an object oriented programming language such as: java, smalltalk, C ++, also include conventional procedural programming languages, such as: c language or similar programming language. The computer program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer and entirely on the remote computer or server. In the case of remote computers, the remote computers may be connected via any sort of network, including: a Local Area Network (LAN) or a Wide Area Network (WAN), which may be connected to the user's computer or to an external computer.
It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions. These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer readable program instructions may also be stored in a computer readable storage medium that can cause a computer or other programmable data processing apparatus to function in a particular manner. Thus, instructions stored in a computer-readable storage medium produce an instruction means which implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The foregoing is merely a specific implementation of the embodiment of the present invention, but the protection area of the embodiment of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical area disclosed in the embodiment of the present invention, and the changes or substitutions are covered in the protection area of the embodiment of the present invention. Therefore, the protection area of the embodiments of the present invention shall be subject to the protection area of the claims.
Claims (9)
1. A method of controlling movement of a robot, the method comprising:
determining a motion function required to be provided by the robot according to the service demand information;
Splitting the motion function according to a preset motion control module disassembly template to generate a plurality of mutually independent motion control modules; the motion control module is used for running a corresponding motion control algorithm, and the motion control algorithm is determined based on a kinematic model;
Disassembling the whole mechanical structure of the robot to obtain a plurality of mutually independent control amounts, grouping the plurality of mutually independent control amounts according to a kinematic model, and determining a plurality of mutually independent mechanical structure components;
Matching the plurality of mutually independent mechanical structure components with the plurality of mutually independent motion control modules according to the kinematic model, and connecting the successfully matched mechanical structure components with the motion control modules;
Controlling the robot to perform mechanical movement based on the connected mechanical structure assembly and the movement control module;
wherein said grouping the plurality of mutually independent control quantities according to the kinematic model, determining a plurality of mutually independent mechanical structural components, comprises:
Reading a pre-stored model description file corresponding to the kinematic model;
scanning the model description file to obtain all mutually independent control amounts;
Traversing each control quantity one by one, and observing a movement result of the robot by changing the value of the control quantity so as to identify a mechanical structure component which moves;
The control quantity is associated with the corresponding moving mechanical structure component to complete the grouping of the control quantity.
2. The method of claim 1, wherein the splitting the motion function according to a preset motion control module splitting template generates a plurality of motion control modules independent of each other, including:
analyzing the motion function according to a preset motion control module disassembly template to obtain different motion purposes;
splitting the motion function according to the different motion purposes to generate a plurality of mutually independent motion control modules; wherein, each motion control module corresponds to each motion purpose.
3. The method of claim 1, wherein said disassembling the overall mechanical structure of the robot to obtain a plurality of independent control amounts comprises:
and disassembling the whole mechanical structure of the robot according to the degree of freedom to obtain a plurality of mutually independent control amounts.
4. The method of claim 1, wherein the connecting-based mechanical structure assembly and motion control module control the robot to perform mechanical motions, comprising:
in the connected mechanical structure assembly and motion control module, generating a motion instruction by the motion control module and sending the motion instruction to the mechanical structure assembly so as to instruct the mechanical structure assembly to perform mechanical motion according to the motion instruction;
when the mechanical structure component responds to the motion instruction to perform mechanical motion, the motion data are collected by using sensors arranged on the robot and transmitted to the mechanical structure component;
And generating motion feedback information according to the motion data through the mechanical structure component and sending the motion feedback information to the motion control module.
5. The method of any one of claims 1-4, wherein the motion control module comprises a standard interface; wherein,
And the standard interface is used for responding to a calling request of the logic module of the robot and calling the motion control module.
6. A motion control apparatus of a robot, the apparatus comprising:
The motion function determining module is used for determining motion functions required to be provided for the robot according to the service demand information;
The motion function splitting module is used for splitting the motion function according to a preset motion control module splitting template to generate a plurality of mutually independent motion control modules; the motion control module is used for running a corresponding motion control algorithm, and the motion control algorithm is determined based on a kinematic model;
The mechanical structure disassembly module is used for disassembling the whole mechanical structure of the robot to obtain a plurality of mutually independent control amounts, grouping the plurality of mutually independent control amounts according to a kinematic model and determining a plurality of mutually independent mechanical structure components;
the component module matching module is used for matching the plurality of mutually independent mechanical structure components with the plurality of mutually independent motion control modules according to the kinematic model and connecting the successfully matched mechanical structure components with the motion control modules;
The mechanical motion control module is used for controlling the robot to perform mechanical motion based on the connected mechanical structure component and the motion control module;
The mechanical structure disassembly module is specifically used for reading a pre-stored model description file corresponding to the kinematic model; scanning the model description file to obtain all mutually independent control amounts; traversing each control quantity one by one, and observing a movement result of the robot by changing the value of the control quantity so as to identify a mechanical structure component which moves; the control quantity is associated with the corresponding moving mechanical structure component to complete the grouping of the control quantity.
7. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor implements the steps of the method of any one of claims 1 to 5 when the computer program is executed.
8. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 5.
9. A computer program product comprising a computer program, characterized in that the computer program, when being executed by a processor, implements the steps of the method according to any one of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410354934.9A CN118003337B (en) | 2024-03-27 | 2024-03-27 | Robot motion control method, apparatus, computer device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410354934.9A CN118003337B (en) | 2024-03-27 | 2024-03-27 | Robot motion control method, apparatus, computer device and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118003337A CN118003337A (en) | 2024-05-10 |
CN118003337B true CN118003337B (en) | 2024-08-09 |
Family
ID=90959517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410354934.9A Active CN118003337B (en) | 2024-03-27 | 2024-03-27 | Robot motion control method, apparatus, computer device and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118003337B (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116673938A (en) * | 2023-07-05 | 2023-09-01 | 北京云迹科技股份有限公司 | Multifunctional split robot, robot function switching method, equipment and medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8850092B2 (en) * | 2011-04-11 | 2014-09-30 | Rockwell Automation Technologies, Inc. | Input module for an industrial controller |
CN116141303A (en) * | 2022-09-07 | 2023-05-23 | 颖态智能技术(上海)有限公司 | Self-decision compound robot control system |
CN115816459A (en) * | 2022-12-20 | 2023-03-21 | 东莞固高自动化技术有限公司 | Robot control method, device, computer equipment, storage medium and product |
-
2024
- 2024-03-27 CN CN202410354934.9A patent/CN118003337B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116673938A (en) * | 2023-07-05 | 2023-09-01 | 北京云迹科技股份有限公司 | Multifunctional split robot, robot function switching method, equipment and medium |
Also Published As
Publication number | Publication date |
---|---|
CN118003337A (en) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11331803B2 (en) | Mixed reality assisted spatial programming of robotic systems | |
Gasparetto et al. | Path planning and trajectory planning algorithms: A general overview | |
Coronel-Escamilla et al. | On the trajectory tracking control for an SCARA robot manipulator in a fractional model driven by induction motors with PSO tuning | |
JP2006302282A (en) | Method for optimizing robot program and robot control system | |
Urrea et al. | Design and validation of a dynamic parameter identification model for industrial manipulator robots | |
Li et al. | A gradient-based neural network accelerated for vision-based control of an RCM-constrained surgical endoscope robot | |
Urrea et al. | Design and implementation of fault-tolerant control strategies for a real underactuated manipulator robot | |
Sultanov et al. | A review on collaborative robots in industrial and service sectors | |
Liang et al. | Adaptive control of n-link hydraulic manipulators with gravity and friction identification | |
CN115072568A (en) | Control system and method of tower crane | |
CN118003337B (en) | Robot motion control method, apparatus, computer device and storage medium | |
Malgaca et al. | Measurement and modeling of a flexible manipulator for vibration control using five-segment S-curve motion | |
Jafarlou et al. | Fractional order adaptive sliding-mode finite time control for cable-suspended parallel robots with unknown dynamics | |
JP7083402B2 (en) | Methods, devices and control systems for controlling mobile robots | |
Huang et al. | The Robotic Arm Velocity Planning Based on Reinforcement Learning | |
Krishnan et al. | Interfacing an industrial robot and MATLAB for predictive visual servoing | |
Wu et al. | Dynamic behavior and path accuracy of an industrial robot with a CNC controller | |
CN114851190B (en) | Low-frequency drive and control integrated-oriented mechanical arm track planning method and system | |
Huang et al. | Multi-objective trajectory optimization of the 2-redundancy planar feeding manipulator based on pseudo-attractor and radial basis function neural network | |
CN115465799A (en) | Tower crane control parameter adjusting method and device, calculating equipment and storage medium | |
Liu et al. | Research on intelligent control system of manipulator based on multi degree of freedom | |
CN109531626B (en) | Intelligent robot singular configuration prediction method and device and storage medium | |
Zheng | Research on the Servo System of the Robot | |
CN113459111B (en) | Multi-robot and external shaft control method, system, device and storage medium | |
Zang et al. | Kinematics analysis and simulation of 6R industrial robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |