Electronics: Difference between revisions
| Line 87: | Line 87: | ||
To access ROS 2 topics from a local computer, the computer must be connected to the robot router through Ethernet. | To access ROS 2 topics from a local computer, the computer must be connected to the robot router through Ethernet. | ||
Configure the computer with a static IP address on the same subnet as the Raspberry Pi units as described in | Configure the computer with a static IP address on the same subnet as the Raspberry Pi units as described in section above. | ||
The following CycloneDDS | The following [[CycloneDDS Configuration File]] must be created on the local computer: | ||
File location: | File location: | ||
Revision as of 15:48, 27 May 2026
Back to Fejemis 2026
Raspberry Pi
The robot uses two Raspberry Pi 5 units, referred to as the "Main" and "Aux" Raspberry Pi.
The "Main Pi" is responsible for core robot functionality and launches the odometry, lifecycle management, and bridge-related ROS nodes.
The "Aux Pi" handles the majority of the remaining ROS launch packages, including the computationally intensive perception and support nodes.
Main Raspberry Pi
- Raspberry Pi 5
- 16 GB RAM
- 60 GB storage (SD card)
Aux Raspberry Pi
- Raspberry Pi 5
- 8 GB RAM
- 512 GB external SSD storage
System Architecture
During testing, it was observed that the Main Pi could not reliably handle all ROS launch packages simultaneously. To improve stability and performance, most workloads were therefore moved to the Aux Pi.
One likely reason for this difference is the storage medium. The Main Pi uses an SD card, while the Aux Pi uses an external SSD, which provides significantly faster read/write performance and better handling of high I/O workloads generated by ROS 2 nodes, logging, and vision processing.
This split architecture allows the robot to distribute computational load more effectively and improves overall system responsiveness and reliability.
Ethernet Network
Router
The router is used to connect the Raspberry Pi units and external devices on the robot network. It allows communication between the onboard computers and provides Ethernet access for external computers during development, debugging, and monitoring.
The router has a total of five Ethernet ports:
- Two ports are currently occupied by the Main and Aux Raspberry Pi units
- The remaining ports can be used to connect external computers directly to the robot network
- Router power supply: 5V / 0.6A
Network Configuration
- Network/CIDR: 192.168.1.0/24
- Subnet mask: 255.255.255.0
Ethernet IP Addresses
- Main Raspberry Pi: 192.168.1.1
- Aux Raspberry Pi: 192.168.1.2
Setup for External Computers
To connect a computer to the robot network through Ethernet, configure the network interface manually. The following settings must be configured:
- Subnet mask: 255.255.255.0
- Assign an available static IP address in the range 192.168.1.x
Note: 192.168.1.1 and 192.168.1.2 are already assigned to the Raspberry Pi units and must not be reused
ROS 2 Network Setup
The ROS 2 network is configured so that the Raspberry Pi units and an external computer can communicate over the robot Ethernet network.
The setup is already configured on the Raspberry Pi units. This includes:
- Static Ethernet IP addresses
- ROS 2 environment variables
- CycloneDDS as the selected RMW implementation
- CycloneDDS network interface configuration
The Raspberry Pi setup uses the following ROS 2 settings:
ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST RMW_IMPLEMENTATION=rmw_cyclonedds_cpp ROS_DOMAIN_ID=0 CYCLONEDDS_URI=file://$HOME/.config/cyclonedds/cyclonedds.xml
The CycloneDDS configuration binds ROS 2 communication to the Ethernet interface. This prevents ROS 2 from using the wrong network interface, such as Wi-Fi.
Setup on External Computer
To access ROS 2 topics from a local computer, the computer must be connected to the robot router through Ethernet.
Configure the computer with a static IP address on the same subnet as the Raspberry Pi units as described in section above.
The following CycloneDDS Configuration File must be created on the local computer:
File location:
~/.config/cyclonedds/cyclonedds.xml
Teensy Configuration
Figure: The main hardware blocks. Two Teensy processors are the interface to the hardware. The drive processor controls the drive motors, safety and battery system. The front processor controls the brush and the front wheel to lift the brush. A main PC integrates the functionality with additional sensors to allow autonomous operation.
Teensy firmware
Fejemis Teensy software is build using standard Arduino library configurations. The interface to the main PC is organized as text-lines.
Electrical
Fejemis electrical wiring etc.
Battery control
The Fejemis battery control is a 24V system (2x3cell LiPo 5Ah) with power on-off and measurement electronics. There is on-board chargers for all batteries.
Other features
LD19 LiDAR Sensor
The LD19 is a 2D DTOF LiDAR sensor used for obstacle detection, mapping, and localization in the Fejemis platform.
Technical specifications:
- Scanning range: 360°
- Scan frequency: 10 ± 0.1 Hz
- Sampling rate: 4500 measurements per second
- Communication interface: UART
- Baud rate: 230400 bit/s
- Supply voltage: 5V (4.5V–5.5V)
- Typical logic level: 3.3V
More information and full documentation: https://www.elecrow.com/download/product/SLD06360F/LD19_Development%20Manual_V2.3.pdf
Realsense D455
The Intel RealSense Depth Camera D455 provides RGB‑D sensing used for mapping, localization and obstacle detection. It is supported by the realsense2_camera ROS driver and integrates directly with the mapping components in this workspace (RTAB‑Map expects the standard RealSense RGB‑D topics). Technical specifications:
- Operating range (min–max): 0.6 m – 6 m
- Depth resolution & FPS: 1280×720 up to 90 FPS
- Depth field of view (HxV): 86° × 57°
- Components: RGB sensor: Yes; Tracking module: Yes
- Module dimensions: 124 mm × 29 mm × 26 mm
- System interface type: USB 3.1
Product specifications and details: Intel RealSense Depth Camera D455 - Specifications
Linear actuator
The linear actuator used is a 12V DC actuator from Transmotec with a 10:1 gear ratio, 250 N maximum force, and a 150 mm stroke length.
More information and full documentation: https://transmotec.com/product/DLA-12-10-A-150-HS2-IP65/
Brush unit
The Fejemis brush unit is a commercial brush that comes with its own battery (12V), charger and motor control. The unit is slightly modified to to allow measurement and control from the software.