• Non ci sono risultati.

2.3 DDS

3.1.1 Low Level

As said, the Low Level is the name by which Alba Robot identifies the set of electronic components, such as cameras, sensors, boards, and controllers which are applied to the structure of the vehicle, being it a wheelchair or a scooter, to enable its mechanical movements to perform navigation and to gather information about the environment, in order to let the High Level take decisions about the navigation itself.

Figure 3.1: SEDIA Low Level schema

Figure 3.1 represents a simple explanatory picture of the Low Level, with its main components, which we’re not going to focus on in detail, being the Low Level strictly tied to the physical structure and mechanics of SEDIA and therefore not prone to be moved elsewhere (like to the Cloud).

All the communications between the Low Level components, shown in Figure 3.1, are UART communications at the time of this thesis (effort is being done at this time to switch to CAN communication), except for the one between the Joystick (J) and the Controller (H7), which is a serial communication.

Starting from the left, we have:

ToF sensors

The Time of Flight (ToF) sensors belong to the family of perception sensors, pro-viding with 360-degree close-range and fast-rate obstacle coverage. The Navigation system uses the ToF -retrieved information to avoid close objects and for emergency stop, in other words they’re mainly used for obstacle avoidance and their info can be used by the Nav2 system to force the vehicle to stop if an obstacle cannot be avoided.

The ToF sensors’ system on SEDIA is divided in two clusters, each one composed of a pair of 3D-printed scaffolds in which the single sensors are inserted:

• The front clusters are located in the frontal corners of the wheelchair, with up to 8 sensors inserted in each 3D-printed support, resulting in about 200 degrees horizontal FoV (Field of View) per corner and about 27 degrees in vertical FoV. The rate at which each sensor can work depends on configurable parameters. In order to achieve better performance and measure reliability, the sensors operate in a “short distance” mode, meaning that the maximum sensed distance is up to 1,3 meters. The resulting field of view of each group has the following pattern:

Figure 3.2: ToF front cluster

• The side clusters are placed in the rear corners, also on the left and on the right of the wheelchair, in order to achieve lateral view, crucial for rotations in tight spaces. They consist in 3 ToF sensors and cover around 75 degrees in an arc of 125 degrees:

In addition to the previous sensors, for each side board an ultrasound sensor has been connected in order to get obstacles data from the rear part of the system.

The ToF Sensor System is characterized by the Embedded Firmwares: they manage the different ToF sensors clusters and communication with the Collector.

Figure 3.3: ToF side cluster

Collector

The Collector is simply a module in charge of gathering the ToF data and sending them to the Controller.

Actually, it is a bit more complex than this and performs some additional tasks than the one mentioned: the collector firmware has three main functions:

1. Get the data from all four ToF clusters through the different UART interfaces 2. Handle and filtering measures with algorithms

3. Send the data to the Controller (H743ZI2) via UART interface

The Collector is characterized by the Firmware Bridge, which collects ToF clusters data and communicates with the Controller.

Controller

The NUCLEO-H743ZI2 module, H7 in Figure 3.1. It is the most complex module, because handles the majority of system signals, elaborates and redirects them to the other boards of the system. It is also able to compute odometric data of the wheelchair thanks two sensors: the optical incremental encoders, that give position (velocity) data of the wheelchairt and the IMU board, that gives heading and angular velocity data. The Controller combines the velocity and heading data to retrieve continuously the odometric information.

Being the component that makes all the other elements of the Low Level speak to each other, the Controller is the one in charge of collecting all the system’s data in order to send them to the High Level, as well as retrieve data from the High Level to give them to the Low Level, such as navigation commands to make the wheels move.

Encoders

There are two optical encoders (e in 3.1) EH17-30MH, and each of them is fixed on one of the two motors (M in 3.1).

Each encoder is composed of two main parts:

• The optical unit

• The codewheel

The optical unit, coupled with the custom codewheel, is able to provide relative position. They are fixed to the wheel thanks to gears.

IMU

An Inertial Measurement Unit (IMU) measures and reports a body’s specific force, angular rate, and the orientation of the body, using a combination of accelerometers and gyroscopes.

It is connected to an STM32 L432KCU microcontroller which retrieves the data from the sensor, combines the information and provides the result to the Controller.

Joystick

J in 3.1, it is the component used for manual controlling of the wheelchair. The joystick has priority over the autonomous driving system, meaning that if a navi-gation command comes from it all the other commands generated by the ROS2 system (High Level) are ignored.

This feature can be useful either for controlling the wheelchair manually when someone wants to quickly move it without providing autonomous navigation com-mands, or in an emergency situation, when the vehicle is needed to be stopped, or moved towards another direction, than the one decided by the autonomous driving system.