Scorpi modules

From Rsewiki

Back to Scorpi

Overview of hardware interface

This overview is focused on the hardware and hardware interface modules used as the basis for controlling the Scorpi system.

The described software module relates to the source code file where the module is implemented.

Processor boards

The Scorpi system has two Raspberry Pi processors (version 4 and 5) and three hardware interface boards (Teensy motor drive boards).

The main functionality for autonomous operation is handled in the ROS2 nodes.

Camera and Lidar interface directly to ROS2 using ROS drivers.

All other sensors and actuators are interfaced through a ROS-MQTT node. There is one MQTT broker only.

MQTT messages are generated by the hardware abstraction layer (HAL) in a Teensy_interface application. Both Raspberry Pi processors run a teenst_interface, sending data to the same MQTT message broker.

The teensy_interface uses USB to talk to one or two processor boards with a Teensy 4.1 processor. The Teensy software is called motor_drive. Each board includes four motor drivers, an interface to three angle encoders, two MPUs, and other items. The board also delivers power to the Raspberry Pi and handles the power on and off.

Drive control

The forward drive uses four motors, two on each wheel. Two motors give more power, and the backlash is reduced by driving each motor with a different offset voltage.

All motors have rotation encoders and are velocity-controlled from the teensy_interface. When Scorpi is turning (controlled by the front wheels), the velocity of the driving wheels is adjusted to match the curvature.

Steering


Crane control

Sensor interface

Actuator interface