What are the special techniques for designing an ideal robot?

Robot programming involves the design and implementation of control systems, including environmental sensing, interaction, movement, and behavioral control. The system architecture can also be referred to as a strategic design (such as component-based engineering standards, security) and a functional design (such as algorithms, design patterns, underlying implementations) of how the solution is implemented.

An ideal robot programming process includes (assuming the hardware is ready):

1. System architecture design

2. Algorithm implementation of specific functions

3. Coding and integration

First, the robot system architecture

"Architecture can be defined as the structure of components and the relationships between them, as well as principles and guidelines that govern their design and subsequent evolution. In short, architecture is the deeper design of constructing and integrating software-intensive systems."

The system architecture can also be referred to as a strategic design (such as component-based engineering standards, security) and a functional design (such as algorithms, design patterns, underlying implementations) of how the solution is implemented.

What are the special techniques for designing an ideal robot?

Figure 1. Robot function decomposition

In addition, the basic requirements of software engineering include modularity, code reusability, and function sharing. Using a common framework facilitates the decomposition of development tasks and code migration. Robot software also follows the general rules of software engineering. To put it bluntly, the architecture is how you break up the functions of the robot and how to organize the code. A clear, project-matched architecture directly determines the success of your development and even the success of your final functionality.

From the very beginning of the development of human first programmable robots, architectural problems have accompanied them. As early as 1996, Garlan and Shaw summarized the basic design requirements of mobile robots in "Software Architecture: An Emerging Discipline Outlook", such as: (1) careful planning and reactive behavior; (2) tolerance uncertainty; (3) Consider danger; (4) Flexibility. In response to these requirements, they evaluated four architectures for mobile robots, including control loops, layers, implicit invocaTIons, and blackboards. After decades of practice, some architectures have been phased out and some architectures have been gradually improved.

Note: Many bot developers are now ROS. Although ROS is a relatively good system architecture, its node-based thinking was very advanced at the time and has become mainstream today. But we also need to be clear that it is just one of the architectures, especially when customizing robotic systems on small embedded devices, other architectures may be more efficient. In addition, the Master Central Control Mode is also a product of the stand-alone era, which is not very suitable in the case of multiple machines.

1.SPA structure

What are the special techniques for designing an ideal robot?

Figure 2. The "see-think-act" working mode of the robot

What are the special techniques for designing an ideal robot?

Figure 3. "Sensing - Planning - Action" (SPA) structure

The natural working mode of the robot is “see-think-act”, so it is natural to form a “sensing-planning-action” (SPA) structure: mapping from perception, constructing through an intrinsic world model, and then This model plans a series of actions that are ultimately implemented in a real-world environment. The corresponding software structure is called the classic model, also called hierarchical model, functional model, engineering model or three-layer model, which is a predictable software structure executed from top to bottom.

The typical structure of the SPA robot system is that there are three abstraction layers, called the Pilot (lowest layer), the navigation layer (Navigator) (middle layer), and the planning layer (Planner) (the highest layer). The carrier data obtained by the sensor is preprocessed by the next two layers and then reaches the highest "smart" layer to make driving decisions. The actual driving (such as navigation and low-level driving functions) is performed by the following layers, and the lowest layer becomes the interface with the car again. Send the driving instructions to the robot's actuator.

Disadvantages: This method emphasizes the construction of the world model and plans actions with this model, and constructing the symbol model requires a lot of computation time, which has a significant impact on the performance of the robot. In addition, the deviation of the planning model from the real environment will cause the robot's movements to fail to achieve the desired results.

2. Behavior-based structure

What are the special techniques for designing an ideal robot?

Figure 4. Behavior-based structure

Since the SPA system is too rigid, another implementation approach has emerged: a behavior-based approach. The behavior-based method is a reactive system. The reactive system does not use symbolic representation, but it can generate reasonable compound behavior. The behavior-based robotic approach further extends the concept of a simple reactive system so that simple and distributed can work in combination.

Small history: "Robot Programming: A PracTIcal Guide to Behavior-Based RoboTIcs" published by Joe Jones and Daniel Roth in 2003 and the success of using the behavior-based iRobot sweeping robot (through behavior-based systems can effectively achieve traversal, Avoiding the achievement of multiple targets, such as being stuck somewhere, marks the dominant position of the behavioral system structure that year. In just a decade, the rapid rise of SLAM, map-based planning and navigation has revived, and many people seem to have forgotten or simply heard of the existence of Behavior-Based RoboTIcs.

What are the special techniques for designing an ideal robot?

Figure 5. Behavior-Based Robot Programming

The behavior-based software model is a bottom-up design, so the results are not easy to predict. Each robot's functionality is encapsulated into a small, independent module called a "behavior" rather than writing an entire Large section of code. Since all behaviors are executed in parallel, there is no need to set priorities. One of the purposes of this design is to make it easy to expand, for example to add a new sensor or to add a new behavioral feature to the robot program. All behaviors can read the data of all the sensors of the carrier, but problems arise when the numerous behaviors that result in the generation of a single output signal to the actuator.

A fixed priority is used between the initial behaviors, while a more flexible approach is used in modern applications.

Key features of "Behavioral Robotics" include (see "Embedded Robotics"):

1) Tight coupling of induction and action

To some extent, the actions of all behavioral robots are responses to stimuli rather than relying on conscious rules. Avoid using thinking planning, instead of some computationally simplified modules to implement mapping from input to execution, which facilitates fast response. Based on this observation, Brooks succinctly expresses the principle of "planning is just a way to avoid calculating what to do next."

2) Avoid the symbolic representation of knowledge

There is no need to construct an internal model for the execution of planning tasks for the environment, but to adopt the real world "its own best model." Instead of trying to generate an abstract representation of the world that can be manipulated internally, the robot takes immediate action from observations and uses it as a basis for planning future actions.

3) Decompose into units with causal significance

Behavior occurs in pairs in terms of state-actions, designed to respond to specific states.

4) Time-varying level adjustment of concurrent association behavior

In order to adapt to the task to be achieved, a control scheme is used during the operation to change the activation level of the behavior.

5) Behavioral choice

In a behavior-based system running a certain number of behaviors as parallel processes, each behavior can read all the sensors (read actions), but only one behavior can gain control of the robotic actuator or the driving mechanism (write action). Therefore, a global controller is needed to assist in behavior selection (or behavioral activation, or behavioral output fusion) at the right time to achieve the intended purpose. This shifts the design of the system from describing the system itself to defining the output of a functioning system.

Say more, feel like going off the subject. If you are interested and want to learn more about programming robots to deal with unknowns, Ronald Arkin's "Behavior-Based Robotics" and Thomas Braun's "Embedded Robotics: Embedded System-Based Mobile Robot Design and Applications" is recommended. . Deliberate robot programming methods, from intermediate to advanced, recommend "Agent Technology from a Formal Perspective" by Christopher A. Rouff et al.

A picture summary:

What are the special techniques for designing an ideal robot?

Second, the hybrid system: the product of practice

What are the special techniques for designing an ideal robot?

Without a Wanling structure, the hybrid system combines the principles of SPA and reaction systems to apply a variety of hybrid systems to coordinate tasks between sensors and motor outputs. Perhaps the most attractive benefit of a hybrid architecture is that the system is designed to a standard that is good for the task, rather than rigidly following a dogma. But the more complicated institutions are basically the combination of the two. Take the ROS navigation package as an example:

What are the special techniques for designing an ideal robot?

Figure 6. ROS navigation package

The navigation package is SPA structure as a whole, and the left and right sides are sensing S, including sensor data/odometer/map, etc. The middle block diagram is Global and Local two-level planning P, and finally sends cmd_vel to action A.

If the world is perfect, then proceeding to the destination according to the planned map is done. However, behavior-based methods are born to deal with various accidents. The embedded behavior-based system comes into play when the robot encounters an obstacle or gets stuck. According to the situation, a certain pre-set "behavior" is called in the "behavior library" recovery_behaviors to get rid of the dilemma.

What are the special techniques for designing an ideal robot?

Figure 7. recovery_behaviors

The default behavior is: First, clear obstacles outside the specified area of ​​the robot map. Next, if possible, the robot will perform an in-place rotation cleanup space. If this fails, the robot will more aggressively clean the map, removing all obstacles outside the rectangular area that can be rotated in place. This will be another in-place rotation followed. If these fail, the robot will consider its goal not feasible, stop running and notify the user.

Of course, you can also design a more complex recovery_behaviors "behavior library" for various accidents.

Third, the safety of autonomous robot application framework

There is also a design framework based on scenes and situations, SARAA, which I find very interesting. The Safe Autonomous Robot Application Architecture (SARAA) is a development method for autonomous robots that emphasize safety.

What are the special techniques for designing an ideal robot?

Figure 8. SARAA

SARAA robot summary

In the book "Practical Programming in Robotics" (published in 2017), a detailed description of programming a robot to perform its tasks autonomously constitutes the seven technologies of so-called SARAA:

Software robot framework

ROLL model

REQUIRE

RSVP

SPACES

STORIES

PASS

We call the robot with this architecture a SARAA robot. When implemented correctly, these programming techniques produce a knowledge-based robot controller. Therefore, a SARAA robot is a knowledge-based robot that can act autonomously in pre-set scenarios and situations. One of the design ideas is to judge the premise/postconditions according to the scene and situation to improve security.

Interested in visiting Ctest Labs, SARAA has been used to work within open source robotics platforms such as Arduino, Linux and ROS. If the scenes and postures of the programmed SARAA robot are well understood and properly defined, the design of the SARAA robot can help to improve the safety of the robot.

Sweeper Robot Battery

Robot Battery,Sweeper Battery,Sweeper Robot Battery,Robot Vacuum Battery

Shenzhen Sunwind Energy Tech Co.,Ltd , https://www.sunwindbatterylm.com