Fejemis 2026: Difference between revisions
| Line 93: | Line 93: | ||
The software is split into two components: | The software is split into two components: | ||
*'''[[Fejemis bridge]]''' handles communication between the main Raspberry Pi and the Teensy controllers and provides a manual/remote-control interface. See [[Fejemis repository]] for source and docs. | *'''[[Fejemis bridge]]''' handles communication between the main Raspberry Pi and the Teensy controllers and provides a manual/remote-control interface. See [[Fejemis repository]] for source and docs. | ||
*'''ROS2 | *'''[[Fejemis ROS2 Software]]''' higher-level programs for mapping, navigation, and robot behaviours located in '''Fejemis_workspace_2026'''. | ||
==== Old repository ==== | ==== Old repository ==== | ||
Revision as of 14:10, 27 May 2026
Introduction
Fejemis is an autonomous cleaning robot developed to clean the Asta building. The building is divided into different cleaning areas, where the robot navigates autonomously to a selected point, plans a cleaning path, and performs the cleaning task using its brushing system while following the generated route.
Start up guide
To turn on Fejemis, you need to press the turn on button for more than 2 seconds. If not, both Raspberry Pis wont boot. To turn it off you need to press it for more than 7 seconds.
To work with Fejemis, you can connect directly using a monitor and keyboard. The monitor can be connected to one of the Raspberry Pis, while the keyboard connects through USB. After booting, log into the Ubuntu system using the provided credentials.
Fejemis uses two Raspberry Pis:
Main Raspberry Pi and Auxiliary Raspberry Pi
The Raspberry Pis can be also accessed through SSH.(The IP some time changes, check it by connecting directly with the monitor)
Main lab local@10.197.213.227 Aux lab local@10.197.213.226 Main asta local@10.197.219.238 Aux lab local@10.197.219.237
The last way of connecting is through Ethernet.
Main 197.168.1.1 Aux 197.168.1.2
If you are connected to the main Raspberry Pi,the auxiliary Raspberry Pi can also be accessed using:
ssh fejemis-aux
Launch
Launching the bridge (from anywhere):
ros2 launch fejemis_bridge bridge.launch.py
Launching the mixer + gamepad control (from anywhere):
ros2 launch fejemis_bridge mixer.launch.py
You need to press the "BACK" button on the gamepad to actually start the control from the gamepad.
You can launch both at once with the following command: ros2 launch fejemis_bridge control.launch.py
This launch file runs the latest version of the autonomous cleaning software:
ros2 launch fejemis robot.launch.py
It must be launched on both Raspberry Pis, since each device handles different parts of the system.
Arguments:
localization:=true/false, map_location:=asta/lab
Default: localization true, map loc asta
If the argument "localization:=false" is provided, the robot will automatically start a new mapping process and overwrite the current map.
If Fejemis crash (one of the battery display will turn off), you need to plug it in before turning it on again.
Other utilities
If you want to generate a square signal, you can use the node I made:
ros2 run arcana_tools signal_generator --ros-args -p frequency:=<signal_freq> -p out_type:=<output ROS2 type> -r /sig_out:=<output topic> -p bias:=<signal bias> -p range:=<vmax-vmin>
Typically you wight want to send it as if it was a gamepad input:
ros2 run arcana_tools signal_generator--ros-args -p frequency:=0.5 -p out_type:=geometry_msgs.msg.Twist.linear.x -r /sig_out:=/joy_control/cmd_vel -p range:=0.5
You can display graphs using the rqt tool (type rqt in a terminal). There's a plugin "Vizualization>Plot" that integrate the python 3 matplotlib package.
To enable the fetching of the wheels velocities from the bridge, you may need to edit the file "~/.config/fejemis_bridge/bridge.yaml" and set enable: true instead of false in the vel section.
Hardware
Mechanics
You can access the technical description of the Mechanics in this page.
Electronics
You can access the technical description of the Electronics in this page.
Software
The software is split into two components:
- Fejemis bridge handles communication between the main Raspberry Pi and the Teensy controllers and provides a manual/remote-control interface. See Fejemis repository for source and docs.
- Fejemis ROS2 Software higher-level programs for mapping, navigation, and robot behaviours located in Fejemis_workspace_2026.
Old repository
You can access the description of the legacy Repository through this link.