CN113246134A - Robot motion behavior control method, device and computer readable medium - Google Patents

Robot motion behavior control method, device and computer readable medium Download PDF

Info

Publication number
CN113246134A
CN113246134A CN202110596797.6A CN202110596797A CN113246134A CN 113246134 A CN113246134 A CN 113246134A CN 202110596797 A CN202110596797 A CN 202110596797A CN 113246134 A CN113246134 A CN 113246134A
Authority
CN
China
Prior art keywords
module
athletic performance
behavior
sub
planning module
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.)
Granted
Application number
CN202110596797.6A
Other languages
Chinese (zh)
Other versions
CN113246134B (en
Inventor
陈士凯
王小挺
白静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Slamtec Co Ltd
Original Assignee
Shanghai Slamtec Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Slamtec Co Ltd filed Critical Shanghai Slamtec Co Ltd
Priority to CN202110596797.6A priority Critical patent/CN113246134B/en
Publication of CN113246134A publication Critical patent/CN113246134A/en
Application granted granted Critical
Publication of CN113246134B publication Critical patent/CN113246134B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor

Abstract

The application provides a robot motion behavior control scheme, which sets a motion behavior task stack constructed according to a first-in last-out principle, is used for storing each motion behavior planning module for controlling the robot behavior, and traverses motion behavior planning modules in the motion behavior task stack in an iterative manner, so that each motion behavior planning module performs cooperative processing based on the driving of input information until the motion behavior task stack is empty, and the motion behavior control of a robot is realized. Therefore, the control process of the movement behavior can be multiplexed and expanded in a modularized and hierarchical mode, and the same movement behavior planning module can be called in different control tasks according to different logics, so that the universality of the scheme is improved, and the development difficulty is reduced.

Description

Robot motion behavior control method, device and computer readable medium
Technical Field
The present application relates to the field of robot control technologies, and in particular, to a method and an apparatus for controlling a robot motion behavior, and a computer readable medium.
Background
As robotics has become more sophisticated, more and more robots are beginning to enter human lives. Compared with the traditional industrial robot which works in a single environment and is strictly controlled, the household/commercial robot facing the common consumers has higher requirements on the intelligent degree of the household/commercial robot. Because the using environment has high uncertainty and the user does not have the related field professional knowledge of the robot, and other restrictive factors, the intelligent robot needs to rely on the intelligent software algorithm to perform autonomous control to complete the task. The capability of realizing the autonomous control of the motion behaviors of the robot is realized by motion behavior planning software running on a robot system.
In the present day that the related hardware and sensor technologies have tended to mature and the hardware configuration between intelligent robots is relatively close, the motion behavior planning software running therein directly determines the kind and complexity of the tasks that can be completed by the robot. The same intelligent robot can help the robot to complete new tasks by only adding new motion behavior planning software under the condition of not upgrading the hardware configuration of the robot. For example, through software upgrading, a household intelligent cleaning robot can additionally realize a reciprocating cleaning mode on the basis of original simple cleaning. For an intelligent robot, the motion behavior planning software in the intelligent robot directly determines the functions that the robot can realize just like various application programs running on a computer nowadays.
However, nowadays, the development of intelligent robot motion behavior planning software still continues to use the earlier development mode of robots in the past, and more attention is paid to the algorithm details of motion behavior control software. The control scheme itself that it realizes mostly takes to solve specific problem for this robot as the starting point, often has very high dependence to robot bottom hardware, is difficult to carry out multiplexing and extension between different robots, different tasks, and the control scheme commonality is relatively poor.
As the tasks that can be completed by intelligent robots are increasingly diverse and more complex, the difficulty in developing athletic behavior planning software for specific tasks has begun to grow exponentially. Due to the lack of modularity in structure and hierarchy, the developer must have sufficient technical background to be competent for the development task. The development of the exercise behavior planning software becomes a task which can be engaged only by a few elite. However, in response to the increasing complexity of exercise planning software, the workload of developing such software has been overwhelmed by a small number of elite developers.
Due to the reasons, the existing robot motion behavior control scheme has poor universality and high development cost to a great extent, and is difficult to adapt to increasingly diversified and complicated task requirements.
Disclosure of Invention
An object of the present application is to provide a method, an apparatus and a computer readable medium for controlling a robot motion behavior, so as to solve the problem of poor versatility in the prior art.
In order to achieve the above object, the present application provides a robot motion behavior control method, including:
creating an exercise behavior planning module according to the target exercise behavior, and putting the exercise behavior planning module into an exercise behavior task stack;
traversing an exercise behavior planning module in the exercise behavior task stack, wherein the exercise behavior planning module is used for realizing part of behavior control logic of a target exercise behavior, and comprises a synthetic layer module, a filter layer module and an execution layer module, and in the traversing process:
a synthesis layer module or a filter layer module calls a filter layer module and/or an execution layer module as a sub-module according to input information, and ends a self-module or an end sub-module, wherein the synthesis layer module is positioned at the bottom of the exercise behavior task stack, the exercise behavior planning module is sequentially put into the exercise behavior task stack according to the called sequence, and the exercise behavior planning module is moved out of the exercise behavior task stack after the exercise behavior planning module is ended; the execution layer module generates a motion behavior control instruction of the robot according to the input information or finishes the module per se;
and iterating the traversal processing process until the motion behavior task stack is empty.
Further, creating an athletic performance planning module according to the target athletic performance and putting the athletic performance planning module into an athletic performance task stack, comprising:
and determining a needed composite layer module according to the target motion behavior, and putting the composite layer into a motion behavior task stack.
Further, traversing an athletic performance planning module in the stack of athletic performance tasks, comprising:
and sequentially distributing the input information to an athletic performance planning module in the athletic performance task stack so that the athletic performance planning module executes corresponding processing.
Furthermore, the motion behavior planning module at the top of the stack in the motion behavior task stack enters a control mode, the motion behavior planning module outside the top of the stack in the motion behavior task stack is in a monitoring mode, and the motion behavior planning module in the monitoring mode prohibits calling the sub-module and generates a motion behavior control instruction of the robot.
Further, when the motion behavior planning module calls a sub-module, the sub-module is added to the motion behavior task stack and enters a monitoring mode, and the sub-module is located at the upper layer of the parent module and enters a control mode.
Further, if the motion behavior planning module already has a sub-module, the existing sub-module is terminated when a new sub-module is called.
Further, when the athletic performance planning module finishes the module of the athletic performance planning module, the sub-modules of the athletic performance planning module are firstly finished, so that the association module is moved out of the athletic performance task stack, and the association module is all the sub-modules sequentially called by the athletic performance planning module; and then entering a completion state and informing a parent module of the athletic performance planning module so that the athletic performance planning module is moved out of the athletic performance task stack and the parent module of the athletic performance planning module enters a control mode.
Further, when the athletic performance planning module ends the sub-modules, the sub-modules of the athletic performance planning module are ended, so that the association module is moved out of the athletic performance task stack, and the athletic performance planning module enters a control mode, wherein the association module is all the sub-modules sequentially called by the athletic performance planning module.
According to another aspect of the present application, there is also provided a robot athletic performance control apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, cause the apparatus to perform the robot athletic performance control method.
In addition, the application also provides a computer readable medium, wherein computer readable instructions are stored on the computer readable medium and can be executed by a processor to realize the robot motion behavior control method.
Compared with the prior art, in the robot motion behavior control scheme provided by the application, a motion behavior task stack constructed according to a first-in last-out principle is set and used for storing each motion behavior planning module for controlling the robot behavior, and the motion behavior planning modules in the motion behavior task stack are processed in an iterative mode in a traversing mode, so that each motion behavior planning module performs cooperative processing based on the driving of input information until the motion behavior task stack is empty, and the motion behavior control of the robot is realized. The exercise behavior planning module is used for realizing part of behavior control logic of a target exercise behavior, and may include a synthesis layer module, a filter layer module and an execution layer module, the synthesis layer module is located at the bottom of the exercise behavior task stack, the exercise behavior planning module is sequentially placed in the exercise behavior task stack according to a called sequence, the exercise behavior planning module is removed from the exercise behavior task stack after the exercise behavior planning module is finished, and in the process of each traversal processing, the synthesis layer module or the filter layer module calls the filter layer module and/or the execution layer module as a sub-module, a self-ending module or an ending sub-module according to input information; and the execution layer module generates a motion behavior control instruction of the robot according to the input information or finishes the module. Therefore, the control process of the movement behavior can be multiplexed and expanded in a modularized and hierarchical mode, and the same movement behavior planning module can be called in different control tasks according to different logics, so that the universality of the scheme is improved, and the development difficulty is reduced.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
fig. 1 is a processing flow chart of a robot motion behavior control method according to an embodiment of the present disclosure;
FIG. 2 is a diagram illustrating a hierarchical structure of an athletic performance task stack according to an embodiment of the present disclosure;
FIG. 3 is a system block diagram of a robot locomotion behavior control system employing a control scheme provided by an embodiment of the present application;
FIG. 4 is a diagram illustrating interface specifications of an athletic performance planning module according to an embodiment of the present application;
FIG. 5 is a diagram illustrating a transition relationship between states of an athletic performance planning module according to an embodiment of the present application;
FIG. 6 is a schematic diagram of the control logic employed in an embodiment of the present application to achieve a target athletic performance;
FIG. 7 is a flowchart of a process for implementing the above-mentioned target athletic performance control using the solution provided in the present application;
the same or similar reference numbers in the drawings identify the same or similar elements.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In a typical configuration of the present application, the terminal, the devices serving the network each include one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, which include both non-transitory and non-transitory, removable and non-removable media, may implement the information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, 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), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
In the method for controlling the robot motion behavior provided by the embodiment of the application, a motion behavior task stack constructed according to a first-in last-out principle is set and used for storing each motion behavior planning module for controlling the robot behavior, and the motion behavior planning modules in the motion behavior task stack are processed in an iterative mode in a traversing mode, so that each motion behavior planning module is driven based on input information to carry out cooperative processing until the motion behavior task stack is empty, and therefore motion behavior control of the robot is realized, and in the process of each traversing processing, a synthesis layer module or a filter layer module calls a filter layer module and/or an execution layer module as a sub-module, and ends a self module or an end sub-module according to the input information; and the execution layer module generates a motion behavior control instruction of the robot according to the input information or finishes the module. Therefore, the control process of the movement behavior can be multiplexed and expanded in a modularized and hierarchical mode, and the same movement behavior planning module can be called in different control tasks according to different logics, so that the universality of the scheme is improved, and the development difficulty is reduced.
Fig. 1 shows a processing flow of a robot motion behavior control method provided in an embodiment of the present application, which may include at least the following processing steps:
and step S101, creating an athletic performance planning module according to the target athletic performance, and putting the athletic performance planning module into an athletic performance task stack. The motion behavior task stack is constructed according to a first-in and last-out principle and used for storing each motion behavior planning module for controlling the robot behavior, and the motion behavior planning modules are sequentially stacked according to the called sequence and then sequentially stacked according to the reverse sequence. In an actual scenario, the life cycle of the athletic performance planning module may be bound to the athletic performance task stack, that is, the module initialization and the module stacking may be performed simultaneously, and the module ending and the module popping may be performed simultaneously.
The motion behavior planning module is used for realizing part of behavior control logic of the target motion behavior, namely processing can be carried out according to various input information of the robot to call other motion behavior planning modules or output motion behavior control instructions of the robot, so that specific motion behavior control is realized, and the robot can finally make the target motion behavior.
And step S102, traversing the motion behavior planning modules in the motion behavior task stack, wherein in the process of one-time traversal, the motion behavior planning modules in the motion behavior task stack execute processing of calling other motion behavior planning modules, finishing the modules or sub-modules thereof, or outputting motion behavior control instructions of the robot and the like according to the acquired input information.
And step S103, iterating the traversal process until the motion behavior task stack is empty through multiple iterations. When the motion behavior task stack is empty, the target motion behavior of the robot at this time is executed, and the one-time motion behavior control task is finished.
In traversing the athletic performance planning module, a data flow driven model may be employed. The data flow driving means that data is used as a center, and the logic of which module is triggered when the data flows to which exercise behavior planning module. In an actual scene, an exercise behavior planning scheduler can be designed, and provides power, the exercise behavior planning scheduler is used for transmitting various data serving as input information to the exercise behavior planning module in the process of traversing each exercise behavior planning module on an exercise behavior task stack in iteration each time, and the exercise behavior planning module controls the exercise behavior planning module or other modules according to the data, such as calling, finishing and the like, or outputs an exercise behavior control instruction of a robot. The input information of the athletic performance planning module may include current state information, environmental information, and the like of the robot, and specifically, the input information may be pose of the robot, a current map, radar observation data, data collected by other sensors, and the like. And the output motion behavior control instruction of the robot may include linear velocity, angular velocity, and the like of the robot in coordinate axis directions (such as x axis, y axis, and the like).
In the embodiment of the present application, the exercise behavior planning modules may cooperate with each other, and the supported cooperative behaviors at least include: and calling other exercise behavior planning modules, modifying the behaviors of the other exercise behavior planning modules, and monitoring the other exercise behavior planning modules.
In the cooperation mode, if the exercise behavior planning module A calls the exercise behavior planning module B, the module A is called a parent module of the module B, the module B is called a sub-module of the module A, and the module B is positioned at the upper layer of the module A in the exercise behavior task stack because the module A calls the module B. Modifying the behavior of other athletic performance planning modules means that one athletic performance planning module may modify the state of another athletic performance planning module, e.g., a parent module may end a sub-module. The other motion behavior monitoring planning module refers to a parent module which can monitor the execution result of the sub-module and execute different logics according to different results.
The state definition and the life cycle of the exercise behavior planning module in the embodiment of the present application may be set as follows, and the state of the exercise behavior planning module may include initialization, a control mode, a monitoring module, completion, and termination, which are specifically as follows:
initialization: the athletic performance planning module is invoked and added to the initial state after the athletic performance task stack, indicating the beginning of the lifecycle.
And (3) control mode: the motion behavior planning module at the top of the motion behavior task stack enters a control mode, and the motion behavior planning module in the state can call a new sub-module or generate a robot motion behavior control instruction.
And (3) monitoring mode: the other motion behavior planning modules in the motion behavior task stack except the stack top can enter a monitoring mode, the motion behavior planning modules in the state can only switch the internal state according to input data, a robot control instruction is not generated, a new sub-module cannot be called, and the existing sub-module can be stopped.
And (3) completing: the exercise behavior planning module actively ends. When the execution of the processing logic corresponding to the exercise behavior planning module is finished, whether the execution is successful or failed, the exercise behavior planning module finally enters the state.
And (4) terminating: the athletic performance planning module may enter this state after being forcibly terminated by a parent module or an external command. Whether terminated or completed, indicates that the athletic performance planning module's lifecycle is over and will be removed from the athletic performance task stack.
In some embodiments of the present application, the entire athletic performance task stack may be divided into 3 levels, including a composition layer (composite layer) 210, a filter layer (filter layer) 220, and an execution layer (execution layer) 230, as shown in fig. 2.
And the composite layer (composite layer) is positioned at the stack bottom of the stack, the module of the composite layer is a composite layer module which is a movement behavior planning module called firstly in the process of controlling the movement behavior at one time, and the movement behavior planning module can select and call a proper sub-module according to a robot movement model and an algorithm adopted in an actual scene, so that other proper movement behavior planning modules are put into the movement behavior task stack to realize specific movement behaviors together. The synthetic layer module does not generate a motion behavior control instruction of the robot. When step S101 is executed, the exercise behavior planning module obtained according to the target exercise behavior in this step is a composite layer module, and in the process of implementing exercise behavior control, the composite layer module will finally complete a certain specific exercise behavior by calling other exercise behavior planning modules in the subsequent iterative traversal processing process. Therefore, in step S101, a required composite layer module may be determined according to the target athletic performance, and the composite layer may be placed in the athletic performance task stack.
And a filter layer (filter layer), wherein a module of the filter layer is a filter layer module, and the filter layer module is an athletic activity planning module called by a synthesis layer module or other filter layer modules to enter the athletic activity task stack. Each filter layer module is responsible for a portion of the functionality in the athletic performance control logic, but does not generate robot control instructions. In practical scenarios, the design principles of the filter layer module generally include: it is possible to perform known functions by calling existing modules as much as possible; focusing on a sub-target, not relating to an overall moving target, and focusing on the overall target by a synthesis layer module; specific sub-modules are not specified, and are specified by the composite layer module, and the like.
And an execution layer (execution layer), wherein a module of the execution layer is an execution layer module, is a movement behavior planning module which is called by a synthesis layer module or a filter layer module to enter a movement behavior task stack, and can directly generate a robot control instruction according to input information. In practical scenarios, the design principles of the execution layer module generally include: control of a particular action is concerned without regard to how the action is used; the method is simple to maintain, and one execution layer module corresponds to one action; and the upper layer module of the execution layer module is called to judge whether the target is achieved or not, and the like.
In the process of traversing the athletic performance planning module in the athletic performance task stack, the synthesis layer module or the filter layer module may call the filter layer module and/or the execution layer module as a sub-module according to the input information, and end the module or end the sub-module, while the execution layer module may generate the athletic performance control instruction of the robot according to the input information, or end the module.
The rules for mutual calling between the exercise behavior planning modules are as follows:
1. the athletic performance planning modules on the athletic performance task stack may interact with each other.
2. The exercise behavior task stack has only one parent module at the same time except the exercise behavior planning module at the bottom of the stack.
3. The exercise behavior task stack has only one sub-module at the same time except the exercise behavior planning module at the top of the stack.
4. The movement behavior planning module can only interact with a parent module or a child module thereof, such as A calls B, B calls C, direct interaction can be carried out between A and B and between B and C, but direct interaction cannot be carried out between A and C.
5. The motion behavior planning module in the control mode can call the sub-module, the sub-module is placed in the motion behavior task stack when being called, and the self module enters the monitoring mode from the control mode. If an athletic performance planning module already has a sub-module, the existing sub-module may be terminated when a new sub-module is called, for example, by directly terminating the existing sub-module by means of forced termination.
6. The motion behavior planning module in the monitoring mode can monitor the logic execution process of the sub-module, the parent module makes a judgment according to the input information, and if necessary, one of the following three actions can be taken:
a) modifying the behavior of the sub-module, such as passing new parameters to the sub-module to change its behavior;
b) the termination submodule directly terminates the execution of the submodule;
c) and acquiring the execution result of the sub-module, and when the sub-module is finished, the parent module can obtain a notification of the execution result state.
Therefore, the movement behavior planning modules of all the hierarchies can be called based on the above rules, and the functional multiplexing of the movement behavior planning modules is realized through the mutual calling. The multiplexing mode can have the following basic modes:
in a Tailor Mode (Tailor Mode), the parent module only needs to use partial behaviors of the sub-modules, and the parent module monitors the execution of the sub-modules in real time and terminates the execution of the sub-modules if necessary. If the function of a module is simply to execute a forward action, the parent module calls the sub-module when it needs to forward, and then terminates the sub-module when the forward reaches a predetermined distance.
Filtering Mode (Filtering Mode), enhancing the functionality of the sub-modules by modifying event/state inputs. If the function of a certain submodule is to walk along the wall, when the father module calls the submodule, the virtual wall is simulated into an actual wall and is used as data to be transmitted into the submodule, so that the behavior of the submodule can be enhanced, and the function of walking along the virtual wall can be realized at the same time.
Combination Mode, which has 2 usage modes:
1. the behavior of the parent module is expanded by calling a sub-module, for example, the parent module for controlling movement calls a sub-module for avoiding obstacles to realize the function of dynamic obstacle avoidance during movement.
2. A plurality of submodules are combined to realize a complex behavior, for example, a five-pointed star can be drawn on the walking track of the robot through the combination of a straight module and an in-situ rotation module.
Based on the basic modules, more multiplexing modes can be derived in a combined mode to realize more complex control functions.
Due to the introduction of the hierarchical relation concept among the motion behavior planning modules, for any complex robot motion behavior, the motion behavior planning modules can be decomposed into the motion behavior planning modules for realization. For example, the motion behavior of the robot autonomously moving from the a ground to the B ground can be formed by dividing the whole motion behavior into a synthetic layer module for calculating a path from the a ground to the B ground at a higher level, a filter layer module for detecting and avoiding obstacles, and an execution layer module for generating motor drive control commands, which is bound to an actual robot drive manner, through the hierarchical relationship. The function of the motion behavior planning module of each level is defined in advance, so that modular multiplexing and expansion can be realized in different motion control schemes, cross-platform performance and universality in motion behavior control software development are facilitated, different robots can run the same set of motion behavior control software, and the development difficulty of the motion behavior control software can be greatly reduced.
In some embodiments of the present application, when the athletic performance planning module in the athletic performance task stack is processed in a traversal manner, the traversal may be started from the stack bottom to the stack top in the athletic performance task stack, and the input information is sequentially distributed to the athletic performance planning modules in the athletic performance task stack, so that the athletic performance planning modules perform corresponding processing. For example, when traversal processing is performed for the first time, the athletic activity task stack may start processing from the composite layer module located at the bottom of the stack, and provide input information required by the athletic activity task stack to the composite layer module, where the composite layer module may call a required sub-module, initialize the sub-module, and place the sub-module in the athletic activity task stack, where the sub-module may be a filter layer module or an execution layer module. If the filter layer module is used, other sub-modules can be continuously called according to the control logic of the motion behavior, and iteration is continuously carried out until the execution layer module is finally called. And the execution layer module can generate a motion behavior control instruction of the robot according to the input information to control the robot to make corresponding action. In the subsequent iterative traversal process, each module in the motion behavior task stack calls the sub-module, ends the module per se, ends the sub-module or outputs a motion behavior control instruction and the like according to needs, so that the control of the target motion behavior is realized.
For an athletic performance planning module, when the sub-module is ended, the sub-module of the athletic performance planning module is ended, so that the association module is removed from the athletic performance task stack, and the athletic performance planning module enters a control mode. The association module is all sub-modules sequentially called by the athletic performance planning module, for example, the athletic performance planning module A, B, C is taken as an example, the calling relationship among the sub-modules is that a calls B, and B calls C, when a finishes its own module, since B is called by a and C is called by B, there is a sequentially called relationship between them, both B and C can be considered as the association module of a. After one of the associated modules B and C is finished, C and B are sequentially removed from the athletic performance task stack, so that the parent module A is positioned at the top of the athletic performance task stack and enters a control state.
If one athletic performance planning module needs to end its own module, the sub-module of the athletic performance planning module may be ended first, so that the associated module is removed from the athletic performance task stack. Then, the athletic performance planning module needing to end itself enters a completion state, and notifies a parent module of the athletic performance planning module, so that the athletic performance planning module is removed from the athletic performance task stack, and the parent module of the athletic performance planning module enters a control mode. For example, when the athletic performance planning module O is a parent module of the athletic performance planning module a, after the a finishes the associated modules B and C, the a enters a complete state, so that the module is finished, and the parent module O is notified, so that the module is removed from the athletic performance task stack, and at this time, the parent module O is at the top of the athletic performance task stack, and enters a control mode.
Fig. 3 shows a system framework of a robot motion behavior control system using the control scheme provided in the embodiment of the present application, in which a motion behavior planning scheduler 310 may be defined as a global container and a scheduling execution mechanism, and a motion planning service interface is provided to the outside. The responsibilities of the athletic performance planning scheduler 310 are as follows:
1. and storing and maintaining motion behavior task stacks, module contexts (Action contexts) and other data required in the whole motion behavior control process.
2. Input data such as current state information and environmental information of the robot are acquired from the data and control service layer 320.
3. And driving a data stream through an iteration mechanism, traversing the motion behavior task stack in each iteration, and distributing input data to each motion behavior planning module in the motion behavior task stack.
4. And acquiring the exercise behavior control instruction generated by the exercise behavior planning module, sending the exercise behavior control instruction to the data and control service layer 320, and transmitting the exercise behavior control instruction to the real robot hardware body 330 through the data and control service layer 320 so as to drive the robot to make corresponding actions.
In some embodiments of the present application, the athletic activity planning module is implemented as a c + + class object, which may be referred to as an Action in the present application, all actions inherit from the same base class, and have a set of common interface functions, where the main interfaces are defined as follows:
and markAsFinish () called by the motion behavior planning module, and used for informing the motion behavior planning scheduler to set the motion behavior planning scheduler in a completion state, wherein calling the function means that the motion behavior planning module actively finishes execution.
The following member functions are called back interfaces of the motion behavior planning module by the motion behavior planning scheduler at each iteration:
when an athletic performance planning module is called, the module will first perform some initialization operations through the function, and then the module will be pushed into the athletic performance task stack by the athletic performance planning scheduler to enter the control mode.
And finishing function onStop (), when one motion behavior planning module finishes actively (namely, the markAsFinish function is called), the motion behavior planning scheduler informs the motion behavior planning scheduler of cleaning operation through the function and removes the cleaning operation from the motion behavior task stack.
The function onafort () is terminated, and when one athletic performance planning module is terminated, the athletic performance planning scheduler notifies it to perform a cleaning operation through the function and then removes it from the athletic performance task stack.
The sub-module notifies a function onReturnFromChild (), when one motion behavior planning module calls markAsFinish, the motion behavior planning scheduler calls onReturnFromChild of the parent module to notify the execution state of the sub-module in addition to calling onsop.
The data distribution function onPreSensorData (), the motion behavior planning scheduler distributes data through the function, all motion behavior planning modules on the motion behavior task stack are called, and each module monitors the self state and the sub-module behaviors in the function.
And a control function onSensorData () which is called only by the motion behavior planning module in the control mode and is used for generating a robot control instruction or calling a new sub-module.
In some embodiments, a specification may be set that sets onStart and onSensorData as functions necessary for an Action, while other member functions may be implemented as desired, as shown in fig. 4.
Based on the definition of each interface, when the control scheme for different specific motion behaviors is actually developed, the motion behavior planning modules with various functions can be concentrated, and the combination of the motion behavior planning modules is carried out based on the interfaces, so that the robot can be controlled to complete various complex actions, the modularization and layering multiplexing and expansion are realized, the universality of the scheme is improved, and the development difficulty of control software is reduced.
In addition, in order to provide an interface for accessing the athletic performance task stack and implement the inter-call between the athletic performance planning modules, in some embodiments of the present application, a module context (ActionContext) is further defined, and the module context is a series of interfaces bound to the athletic performance planning modules in the athletic performance task stack, and may mainly implement the following functions:
1. obtaining a submodule of a current exercise behavior planning module, wherein an interface corresponding to the function is as follows: getchild action () is used to obtain a handle of the child module, through which the parent module can perform a series of operations on the child module, in this embodiment, a pointer of the child module is used as the handle.
2. And terminating the sub-module of the current exercise behavior planning module, wherein the interface corresponding to the function is as follows: abortcholdaction () is used to terminate the execution of the sub-module, meaning that a series of associated modules, such as sub-modules of the sub-module, are also terminated and removed from the athletic activity task stack.
3. Calling a new exercise behavior planning module as a sub-module of the new exercise behavior planning module, and automatically terminating the sub-module of the current exercise behavior planning module at the moment, wherein the interface corresponding to the function is as follows: the submodule acquires a function invokeChildAction () for terminating the currently running submodule first and then starting a new motion behavior planning module as the submodule.
As can be seen from the above, for an athletic performance planning module, it is terminated when: calling a child module termination function abortChildAction (), by the parent module; the parent module finishes executing whether entering a completion state or a termination state; the parent module calls the child module to call the invokeChildAction () function, and a new child module is started. With reference to the various states of the motion behavior planning module defined above, the conversion relationship between each interface function and the state of the motion behavior planning module is shown in fig. 5, where Init represents an initialization state, Ctrl Mode represents a control Mode state, Monitor Mode represents a Monitor Mode state, Finish represents a completion state, and Abort represents a termination state.
Furthermore, in order to make the functions easier to develop when implementing the athletic performance control, a plurality of interfaces of the athletic performance planning scheduler may be defined as follows:
callAction () to terminate all running athletic performance planning modules and launch a new athletic performance planning module.
abortive action () for terminating all running athletic behavior planning modules and thereby cancelling the robot's current task.
getactionscript (), which is used to obtain the athletic behavior planning module that is the first to-be-stacked module in the current athletic behavior task stack, that is, the synthetic layer module obtained in step S101 may be referred to as Root Action.
dispatchSensorData () for performing one motion planning iteration for distributing the input information to each motion behavior planning module on the motion behavior task stack.
In some embodiments of the present application, if the target motion behavior of the robot in the current control is set as follows: and (5) moving forwards and straightly, stopping and waiting when meeting obstacles in the way, and stopping moving when moving to 10 meters. In this embodiment, the entire athletic performance may be divided into three levels, implemented in a modular fashion. Wherein, the function realized by the synthesis layer module is as follows: determine if the 10 meter target is reached, and invoke other sub-modules. The function that the filter layer module realized is: and judging whether the sub-module meets the obstacle or not, calling the sub-module to realize the action of straight-line walking without meeting the obstacle, and stopping the sub-module when meeting the obstacle. The execution layer module realizes the following functions: and generating a motion behavior control command of linear movement to control the robot to move forwards and straightly.
Fig. 6 shows the control logic adopted in this embodiment, in which the mobile monitoring module movemonitor Action is a synthetic layer module, and is called by the motion behavior planning scheduler as a Root Action, and the judgment on whether the target is reached is implemented in the Action, and the calling of the sub-module. The obstacle avoidance module StudibOctacleAvoidacence action is a filter layer module and can be called by MoveMonitorAction to realize obstacle judgment, if an obstacle exists in the front, the abortChildAction () interface is called to terminate the submodule, and if no obstacle exists in the front and the current module is in a control mode, the invokeChildAction () interface is called to call the submodule. The linear movement module YawLockedRunAction is an execution layer module and can be called by StudidObstacleAvoidance action to realize the linear movement of the robot. The three exercise behavior planning modules comprise the following specific contents:
MoveMonitorAction includes two interface functions of onStart and onPreSensorData, where onStart is:
initialPos=getRobotPos();
invokeChildAction(StupidObstacleAvoidanceAction);
the robot position information acquisition module is used for acquiring the position information of the robot during initialization and calling a submodule stupidobstacle Avoidence action.
onPresensordata is:
currentPos= getRobotPos();
if (currentPos.distanceTo(initialPos)) > 10) {
this->markAsFinish(true);
}
and the self module is ended after judging and determining that the advancing distance is more than 10 units.
YawLockedRunAction includes three interface functions of onStart, onPreSensorData and onSensorData, where onStart is:
initialYaw = getRobotHeading();
for acquiring robot orientation information.
onAbort is:
robot.stop();
for controlling the robot to stop advancing.
onSensorData is:
float currentYaw = getRobotHeading();
float angularDiff = angularDiff(currentYaw, initialYaw)
If (angularDiff > 0) robot.turnRight();
else If (angularDiff < 0) robot.turnLeft();
else robot.run();
and the control unit is used for controlling the robot to advance after judging and determining that the robot is currently facing forward and controlling the robot to turn when judging and determining that the robot is not facing forward.
StudiobstaleAvoidacence action includes three interface functions of onStart, onafort and onSensorData, where onStart is null, i.e., no processing needs to be performed when onStart is called
onPresensordata is:
if(obstacleFound{}){
abortChildAction()
};
for terminating the submodule if an obstacle is found in front;
onSensorData is:
if(!obstacleFound{}){
invokeChildAction(YawLockedRunAction)
};
for invoking the submodule yawlockdrrunaction when no obstacle in front is found.
Fig. 7 shows a processing flow when the above-mentioned target athletic performance control is realized by using the solution provided by the present application, which includes the following processing steps:
step S1, the athletic performance planning scheduler invokes a corresponding athletic performance planning module, i.e., MoveMonitorAction, according to the target athletic performance, so that it enters an initialization state and is placed in the athletic performance task stack. Meanwhile, the MoveMonitorAction calls the submodule StudidObstacleAvoidecection during initialization, so that the submodule is also put into the motion behavior task stack at the same time, and the MoveMonitorAction is positioned at the bottom of the stack and the StudidObstacleAvoidecection is positioned at the top of the stack according to the sequence of calling.
And step S2, the exercise behavior planning scheduler performs iterative processing, firstly judges whether the exercise behavior task stack is empty, if so, the task is ended, otherwise, the exercise behavior task stack starts to traverse from the stack bottom to the stack top, and sequentially distributes the input information to all exercise behavior planning modules, and the exercise behavior planning modules are driven by the corresponding input information to execute corresponding processing logics. If the self module needs to be ended, the step S3 is carried out; if the submodule needs to be terminated, the step S4 is entered; otherwise, the process proceeds to step S5.
Taking the current exercise behavior task stack as an example, the exercise behavior planning scheduler firstly provides the current position of the robot as input information to the MoveMonitorAction, and when the distance between the current position and the initial position is judged not to exceed 10 meters, the MoveMonitorAction does not perform other processing and is still in a monitoring mode; the motor behavior planning scheduler provides the detection result of the obstacle detection sensor as input information to the stupid obstacle avaidance action, and if the detection result indicates that no obstacle is detected, a new sub-module YawLockedRunAction is called through an invokeChildAction () interface and is put into the motor behavior task stack. In the motion behavior task stack at this time, MoveMonitorAction is located at the bottom of the stack, YawLockedRunAction is located at the top of the stack, and StudidObstacleAvoideance Action is located between the MoveMonitorAction and the YawLockedRunAction. And then, the motion behavior planning scheduler continuously traverses, provides the yaw related information as input information to YawLockedRunAction, and generates a control instruction of robot movement when determining that no yaw occurs. Thus, the process of one iterative traversal is completed.
In the subsequent iterative traversal process, if the robot moves to a certain position within 10 meters, and the obstacle detection sensor detects that an obstacle exists in front of the robot, the stupid obstacle avoidance Action terminates the sub-module YawLockedRunAction through the abortcoldaction () interface, so that the robot stops advancing, at this time, the step S4 is entered, and after the sub-module is terminated, the YawLockedRunAction is removed from the motion behavior task stack.
When the obstacle is cleared, the stupid obstacleeidendanceaction will call the submodule yawlockrudactoction again through the invokeChildAction () interface, so that the robot can advance again.
Thereafter, when the robot moves 10 meters to complete the target movement behavior, the MoveMonitorAction calls the markaspenishish () interface to actively end the self module, and then the process proceeds to step S3.
Step S3: all the sub-modules of the athletic performance planning module are terminated and removed from the athletic performance task stack, the athletic performance planning module is then put into a complete state, and its parent module is notified, the module is removed from the athletic performance task stack, and its parent module automatically enters a control mode.
Step S4: all sub-modules of the athletic performance planning module are terminated and removed from the athletic performance task stack, the athletic performance planning module is placed back in control mode, and the process proceeds to step S5.
Step S5: the motion behavior planning module in the control mode generates a decision according to the self processing logic, for example, the foregoing stupid obstacle avoidance action may call a sub-module when in the control mode, and YawLockedRunAction may move a control instruction of the robot when in the control mode, and the like.
In summary, with the incessant iterative processing of the exercise behavior planning scheduler, the exercise behavior planning modules in the exercise behavior task stack dynamically change, the robot can also complete various individual functions such as global path searching, local planning, dynamic obstacle avoidance, driving of the motor and the like through the dynamic combination of the exercise behavior planning modules, and finally with the completion of the individual functions, the exercise behavior planning module is also completed, and the exercise behavior task stack is emptied again, thereby completing a complete exercise behavior control process.
Furthermore, the present application also provides a robot motion behavior control device, which includes a memory for storing computer program instructions and a processor for executing the computer program instructions, wherein when the computer program instructions are executed by the processor, the device is triggered to execute the aforementioned robot motion behavior control method.
In particular, the methods and/or embodiments in the embodiments of the present application may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. The computer program, when executed by a processing unit, performs the above-described functions defined in the method of the present application.
It should be noted that the computer readable medium described herein can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable 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, or device.
In this application, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The 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 or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart or block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
As another aspect, the present application also provides a computer-readable medium, which may be included in the apparatus described in the foregoing embodiments; or may be separate and not incorporated into the device. The computer-readable medium carries one or more computer-readable instructions executable by a processor to perform the steps of the method and/or solution of the embodiments of the present application as described above.
In addition, the embodiment of the application also provides a computer program, and the computer program is stored in computer equipment, so that the computer equipment executes the robot motion behavior control method.
It should be noted that the present application may be implemented in software and/or a combination of software and hardware, for example, implemented using Application Specific Integrated Circuits (ASICs), general purpose computers or any other similar hardware devices. In some embodiments, the software programs of the present application may be executed by a processor to implement the above steps or functions. Likewise, the software programs (including associated data structures) of the present application may be stored in a computer readable recording medium, such as RAM memory, magnetic or optical drive or diskette and the like. Additionally, some of the steps or functions of the present application may be implemented in hardware, for example, as circuitry that cooperates with the processor to perform various steps or functions.
It will be evident to those skilled in the art that the present application is not limited to the details of the foregoing illustrative embodiments, and that the present application may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the application being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is obvious that the word "comprising" does not exclude other elements or steps, and the singular does not exclude the plural. A plurality of units or means recited in the apparatus claims may also be implemented by one unit or means in software or hardware. The terms first, second, etc. are used to denote names, but not any particular order.

Claims (10)

1. A robot motion behavior control method is characterized by comprising the following steps:
creating an exercise behavior planning module according to the target exercise behavior, and putting the exercise behavior planning module into an exercise behavior task stack;
traversing an exercise behavior planning module in the exercise behavior task stack, wherein the exercise behavior planning module is used for realizing part of behavior control logic of a target exercise behavior, and comprises a synthetic layer module, a filter layer module and an execution layer module, and in the traversing process:
a synthesis layer module or a filter layer module calls a filter layer module and/or an execution layer module as a sub-module according to input information, and ends a self-module or an end sub-module, wherein the synthesis layer module is positioned at the bottom of the exercise behavior task stack, the exercise behavior planning module is sequentially put into the exercise behavior task stack according to the called sequence, and the exercise behavior planning module is moved out of the exercise behavior task stack after the exercise behavior planning module is ended; the execution layer module generates a motion behavior control instruction of the robot according to the input information or finishes the module per se;
and iterating the traversal processing process until the motion behavior task stack is empty.
2. The method of claim 1, wherein creating an athletic performance planning module from the target athletic performance into an athletic performance task stack comprises:
and determining a needed composite layer module according to the target motion behavior, and putting the composite layer into a motion behavior task stack.
3. The method of claim 1, wherein traversing an athletic performance planning module in processing the athletic performance task stack comprises:
and sequentially distributing the input information to an athletic performance planning module in the athletic performance task stack so that the athletic performance planning module executes corresponding processing.
4. The method of claim 3, wherein the athletic performance planning module at the top of the stack in the athletic performance task stack enters a control mode, the athletic performance planning module outside the top of the stack in the athletic performance task stack is in a monitoring mode, and the athletic performance planning module in the monitoring mode disables the invoking of the sub-module and generates the athletic performance control instructions for the robot.
5. The method of claim 4, wherein the athletic performance planning module adds a sub-module to the athletic performance task stack and enters a monitoring mode when the sub-module is invoked, the sub-module being located on top of a parent module and entering a control mode.
6. The method of claim 5, wherein if the athletic performance planning module already has a sub-module, the existing sub-module is terminated when a new sub-module is invoked.
7. The method according to claim 4, wherein when the athletic performance planning module finishes its own module, the sub-modules of the athletic performance planning module are finished first, so that the association module is removed from the athletic performance task stack, and the association module is all the sub-modules that are called by the athletic performance planning module in sequence; and then entering a completion state and informing a parent module of the athletic performance planning module so that the athletic performance planning module is moved out of the athletic performance task stack and the parent module of the athletic performance planning module enters a control mode.
8. The method of claim 4, wherein the athletic performance planning module ends the sub-modules of the athletic performance planning module upon ending the sub-modules such that the association module is removed from the athletic performance task stack and the athletic performance planning module enters a control mode, wherein the association module is all sub-modules that are sequentially invoked by the athletic performance planning module.
9. A robot locomotor behavior control apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, cause the apparatus to perform the method of any one of claims 1 to 8.
10. A computer readable medium having computer readable instructions stored thereon which are executable by a processor to implement the method of any one of claims 1 to 8.
CN202110596797.6A 2021-05-31 2021-05-31 Robot motion behavior control method, device and computer readable medium Active CN113246134B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110596797.6A CN113246134B (en) 2021-05-31 2021-05-31 Robot motion behavior control method, device and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110596797.6A CN113246134B (en) 2021-05-31 2021-05-31 Robot motion behavior control method, device and computer readable medium

Publications (2)

Publication Number Publication Date
CN113246134A true CN113246134A (en) 2021-08-13
CN113246134B CN113246134B (en) 2021-11-09

Family

ID=77183491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110596797.6A Active CN113246134B (en) 2021-05-31 2021-05-31 Robot motion behavior control method, device and computer readable medium

Country Status (1)

Country Link
CN (1) CN113246134B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115617006A (en) * 2022-12-16 2023-01-17 广州翼辉信息技术有限公司 Industrial robot controller design method based on distributed safety container architecture

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268837A (en) * 1992-04-23 1993-12-07 Digital Equipment Corporation Robotics workstation
DE19800210A1 (en) * 1998-01-06 1999-07-15 Helge B Cohausz Computer system with changeable units
CN101154180A (en) * 2006-09-29 2008-04-02 大唐移动通信设备有限公司 Method for monitoring task stack overflow
CN103624777A (en) * 2013-04-26 2014-03-12 苏州博实机器人技术有限公司 Industrial operation type six-freedom-degree series robot
CN106200645A (en) * 2016-08-24 2016-12-07 北京小米移动软件有限公司 Autonomous robot, control device and control method
CN108428243A (en) * 2018-03-07 2018-08-21 北京航空航天大学 A kind of pedestrian movement's speed predicting method based on artificial neural network
CN111775145A (en) * 2020-06-01 2020-10-16 上海大学 Control system of series-parallel robot
CN112088070A (en) * 2017-07-25 2020-12-15 M·奥利尼克 System and method for operating a robotic system and performing robotic interactions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268837A (en) * 1992-04-23 1993-12-07 Digital Equipment Corporation Robotics workstation
DE19800210A1 (en) * 1998-01-06 1999-07-15 Helge B Cohausz Computer system with changeable units
CN101154180A (en) * 2006-09-29 2008-04-02 大唐移动通信设备有限公司 Method for monitoring task stack overflow
CN103624777A (en) * 2013-04-26 2014-03-12 苏州博实机器人技术有限公司 Industrial operation type six-freedom-degree series robot
CN106200645A (en) * 2016-08-24 2016-12-07 北京小米移动软件有限公司 Autonomous robot, control device and control method
CN112088070A (en) * 2017-07-25 2020-12-15 M·奥利尼克 System and method for operating a robotic system and performing robotic interactions
CN108428243A (en) * 2018-03-07 2018-08-21 北京航空航天大学 A kind of pedestrian movement's speed predicting method based on artificial neural network
CN111775145A (en) * 2020-06-01 2020-10-16 上海大学 Control system of series-parallel robot

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王治宇: "《管理信息系统工程》", 31 January 1996, 科学技术文献出版社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115617006A (en) * 2022-12-16 2023-01-17 广州翼辉信息技术有限公司 Industrial robot controller design method based on distributed safety container architecture

Also Published As

Publication number Publication date
CN113246134B (en) 2021-11-09

Similar Documents

Publication Publication Date Title
US9327403B2 (en) Advanced behavior engine
Kaelbling An architecture for intelligent reactive systems
Alami et al. Multi-robot cooperation in the MARTHA project
Mansard et al. A unified approach to integrate unilateral constraints in the stack of tasks
Nishiwaki et al. The experimental humanoid robot H7: a research platform for autonomous behaviour
Abdellatif et al. Rigorous design of robot software: A formal component-based approach
JP7290291B2 (en) Dynamic generation of solutions to update plans and task assignment strategies
Bensalem et al. A verifiable and correct-by-construction controller for robot functional levels
CN113246134B (en) Robot motion behavior control method, device and computer readable medium
Scheutz et al. Systematic integration of cognitive and robotic architectures
Alami et al. Around the lab in 40 days [indoor robot navigation]
Alzetta et al. Towards a real-time BDI model for ROS 2
Ortiz et al. Model-driven analysis and design for software development of autonomous underwater vehicles
Hong et al. Semo: Service-oriented and model-based software framework for cooperating robots
Wirkus et al. Online reconfiguration of distributed robot control systems for modular robot behavior implementation
Chen et al. Task planning and action coordination in integrated sensor-based robots
Bias et al. A real-time rover executive based on model-based reactive planning
Bera et al. Designing weakly terminating ROS systems
Wesz Integrating robot control into the Agentspeak (L) programming language
Dominguez et al. A common data fusion framework for space robotics: architecture and data fusion methods
Jeong et al. Behavior tree driven multi-mobile robots via data distribution service (DDS)
Obdržálek Mobile agents and their use in a group of cooperating autonomous robots
Zutell et al. Ros 2-based flexible behavior engine for flexible navigation
Zieliński et al. Robotic systems implementation based on fsms
Kowarz et al. Optimal checkpointing for time-stepping procedures in ADOL-C

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