Previously
It is important that you have seen the previous post, Definition of the Bbot model, for a complete understanding of the development of the project.
In step two of the Bbot construction process, and any other robotics project, it is important to define the robot’s functionalities. Before we start the next steps, the design of the robot’s architecture (hands-on!), 👷🔧 we need to list these characteristics and analyze how they are connected to each other, thus having total control of the development of the project.
Feature diagram
In the diagram built for Bbot, we can see a range of features. To make it easier to understand, let’s partition the diagram into functionality sections.
Feature diagram.
Localization
The Localization is responsible for monitoring the position and orientation of the robot within the environment in which it is contained. Using the positioning and orientation data sent by the sensors present in the perception system, this functionality provides the mapping and trajectory planning systems with a message containing the robot’s position and orientation data in the environment. The Localization feature serves as the basis for other features that promote autonomy to the robot.
Localization diagram.
Navigation
Navigation to bbot uses local and global planning to safely navigate the environment. The navigation system depends on the route planning functionality. As an output of the navigation functionality, the execution of the trajectory will be sent and, in the absence of adequate navigation, a route replanning command will be sent.
Navigation diagram.
Perception
The Bbot’s sensing system should provide the robot with the ability to perceive and translate its own conditions and the conditions of the environment in which it is inserted. These functions are ensured by the acquisition and processing of data collected from inertial sensors and optical sensors, which are integrated into the robot’s structure. The perception system offers, therefore, modeling of the robot and the environment obtained by the representation of IMU, 2D LiDAR, Camera and Voltage Sensor data and by the treatment algorithms applied to these data.
The perception functionality depends on the sensory data that is embedded in the robot’s structure.
The outputs of this functionality are mapping, location, detection and control.
Perception diagram.
Mapping
Using the location information, you can create a map of the environment.
The mapping functionality depends on the perception data (3d points from the LiDAR sensor) and location.
Through the maps, it is possible to generate a global costmap and a local costmap, which is used by the trajectory planning functionality to identify the positions on the map where the robot cannot travel and by the navigation functionality to plan the robot’s speed controls so that it does not collide with obstacles.
Mapping diagram.
Detection
In Bbot, this functionality is responsible for detecting the TAG (important for the robot’s mission). It depends on the data from the perception functionality and has as its output the trajectory planning (sending the target pose).
Detection diagram.
Control
Defines the strategy adopted so that the robot can balance itself. In our case, the PID controller was chosen. It depends on the functionality of perception and has as output the robot’s speed commands so that it can balance.
Control diagram.
Behavior
The behavior has the function of evaluating the situations of the environment and the state of the robot. This feature is generic and can be described as a decision-maker that ensures the proper functioning of the robot. In the case of Bbot, this feature will monitor the current battery charge and ensure that the robot interrupts its mission and signals the user if it is below a given value. This functionality, however, can be increased in the future to encompass other decisions.
Behavior diagram.
Inactivity
It is the feature that gives the robot a position of protection for reasons of failure. It has the robot’s faults as inputs and the inactivity position as output.
Inactivity diagram.
Trajectory planning
It receives data from mapping, detection, location and navigation and, following a trajectory defined in the interface, makes an appropriate planning for the robot. It outputs the global and local path for the navigation functionality.
Trajectory diagram.
Acting
This functionality makes it possible to control the leg and locomotion actuators. It has as input the speed commands given by the control and as output the movement commands for each joint of the robot. This feature communicates directly with the hardware.
Acting diagram.
Conclusion
In the second stage of the project, we present the features and how they are related. Based on these parameters proposed here, we can start building Bbot.
Author
References
- The original post was published on braziliansinrobotics, which is a project of the Brazilian Institute of Robotics (BIR). The website is no longer available, so I am reposting it here.
This is an automatically translated version of the original post from the site ‘brazilians in robotics’ (no longer available).