Fejemis 2026: Difference between revisions

From Rsewiki
No edit summary
Line 91: Line 91:


== Software ==
== Software ==
The software is split into two components, the fejemis_bridge which handles communication between the main rasperry pi and the teensy controllers, the second is the ROS2 programs that are used to achieve the higher level functionality.


=== Repository ===
=== Fejemis Bridge Documentation ===
You can access the detailed description of the github repository through this link [[Fejemis ROS2 Software]].
The [[Fejemis repository]] holds the documentation and source-code. This section holds also the tool-chain instructions.
==== Bridge and message broker ====
The hardware is integrated with the PC in a bridge-unit that also integrate a manual (remote control) possibility.
This [[Fejemis bridge]] also provide the needed interface to ROS (to drive and control the operation).
 
=== ROS 2 Software Documentation ===
You can access the documentation of the ROS2 software and github repository here [[Fejemis ROS2 Software]].


==== Old repository ====
==== Old repository ====

Revision as of 13:59, 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, the fejemis_bridge which handles communication between the main rasperry pi and the teensy controllers, the second is the ROS2 programs that are used to achieve the higher level functionality.

Fejemis Bridge Documentation

The Fejemis repository holds the documentation and source-code. This section holds also the tool-chain instructions.

Bridge and message broker

The hardware is integrated with the PC in a bridge-unit that also integrate a manual (remote control) possibility. This Fejemis bridge also provide the needed interface to ROS (to drive and control the operation).

ROS 2 Software Documentation

You can access the documentation of the ROS2 software and github repository here Fejemis ROS2 Software.

Old repository

You can access the description of the legacy Repository through this link.

Mission Statement