Projects Bbot - Features
Post
Cancel
MULTI-ROBOT

Bbot - Features

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.

bbot_arc 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.

bbot_loc Localization diagram.

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.

bbot_nav 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.

bbot_perception 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.

bbot_mapping 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).

bbot_detection 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.

bbot_control 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.

bbot_comp 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.

bbot_ina 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.

bbot_traj 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.

bbot_act 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).

This post is licensed under CC BY 4.0 by the author.