Fejemis ROS2 Software
Fejemis Software Overview
The Fejemis software is split into multiple components. The full ROS2 workspace and related repositories are available on GitHub: https://github.com/Melvin-Angel/Fejemis_Workspace_2026.git
Introduction
This documentation summarises the main software components used on the robot and explains how the system can be distributed across multiple Raspberry Pis (Multi‑Pi setup).
The two primary concerns are:
- Hardware bridge and low-level microcontroller integration (the Fejemis bridge).
- The ROS 2 software stack for mapping, perception, and high-level behaviours (the Fejemis ROS2 workspace).
Fejemis Bridge
Fejemis Description
Fejemis Sim
Fejemis Maploc
Fejemis Vision
Multi pi setup
This system supports a multi‑Pi arrangement where some hardware (for example, a RealSense camera or other sensors) runs on an auxiliary Raspberry Pi while the main robot and ROS 2 stack run on the primary Pi.
Recommended minimal steps for a Multi‑Pi setup:
1. Network and host setup
- Ensure all Pis are on the same local network (switch, VLAN or Wi‑Fi SSID) and can reach each other via IP.
- Prefer DHCP reservations or static IPs for each Pi to simplify configuration.
2. SSH and automation
- Install SSH keys on each Pi so you can run remote commands and automation without passwords.
3. Clone the workspace and install dependencies On each Pi that needs software from the repository, clone the workspace and run the provided install scripts:
```bash git clone https://github.com/Melvin-Angel/Fejemis_Workspace_2026.git cd Fejemis_Workspace_2026 ./install.sh source ./activate.sh ```
4. Camera / sensor hosts
- If the camera is on an auxiliary Pi, run the camera driver or streaming node there and expose the expected ROS topics across the network.
- In this workspace the mapping components expect RealSense RGB‑D topics; when the camera is on an aux Pi you can launch the camera remotely. Example (run on the primary Pi to start the aux launch):
```bash fejemis launch_aux fejemis_maploc realsense.launch.py ```
5. Time sync and reliability
- Enable NTP or systemd‑timesyncd on all Pis so timestamps on messages line up for logging and perception.
6. Verify topics
- Use `ros2 topic list` and `ros2 topic echo` from the primary Pi to confirm the camera and sensor topics are visible.