Fejemis

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
(Bridge or Hardware abstraction)
 
(22 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
== Autonomous Fejemis ==
 
== Autonomous Fejemis ==
  
[[File:fejemis-from-onshape.png | 800px]]
+
[[File:fejemis-from-onshape.png | 600px]]
  
Sketch of Fejemis from OnShape, where most items are generated.
+
Figure: Sketch of Fejemis from OnShape. The front part in yellow and black is a commercial brush for industry floor. The manual handle has been replaced with the Fejemis drive system. The front wheel can be lowered to allow the brush to be lifted when not in use.
  
@todo
+
The drawings can be accessed here: https://cad.onshape.com/documents/c3f44096b0f5e4646ed48e3f/w/670467f68cac02b087631e3d/e/e591dbcff8879adc4528ee2b
 +
 
 +
=== Onshape to robot ===
 +
The URDF file is made using [https://onshape-to-robot.readthedocs.io/en/latest/ Onshape-to-robot]
 +
There are added a dummy link for ROS and it is placed in its own ROS package.
 +
Important note: currently non-DOF relation (like two parts being fastened together) don't work on top-level assembly (therefore you can make the different parts as subassemblies, but you need an assembly joining the subassemblies using non-DOF before the assembly that places the wheels and other DOF.
 +
 
 +
== Main electronics ==
 +
 
 +
[[File:teensy-configuration.png | 600px]]
 +
 
 +
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.
 +
 
 +
==== Electrical ====
 +
 
 +
[[Fejemis electrical]] wiring etc.
 +
 
 +
==== Teensy firmware ====
 +
 
 +
[[Fejemis Teensy]] software is build using standard Arduino library configurations.
 +
The interface to the main PC is organized as text-lines.
 +
 
 +
==== 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.
 +
 
 +
==== 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.
 +
 
 +
== Main software ==
 +
 
 +
 
 +
==== Software repository ====
 +
 
 +
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]] should also provide the needed interface to ROS (to drive and control the operation).
 +
 
 +
==== ROS overview ====
 +
 
 +
[[Fejemis ROS]]
 +
 
 +
==== Reboot and startup ====
 +
 
 +
When WiFi is up, it should connect to the "device" access point to get an IP
 +
agreed with itservice to be) 10.199.253.209, and the hostname:
 +
 
 +
* fejemis.device.clients.local
 +
 
 +
NB! if a cable network is connected, then 'fejemis' refuse 'ssh' access on the wifi.
 +
 
 +
The Wifi is made available without any user logged in (server mode) by modifying
 +
 
 +
/etc/NetworkManager/system-connections/device.nmconnection
 +
 
 +
The "permissions" line in the [connection] section is changed to just
 +
 
 +
permissions=
 +
 
 +
== Main functionality ==
 +
 
 +
 
 +
==== Mapping and localization ====
 +
 
 +
The system should be able to systematically sweep the floor and therefore need knowledge of own position.
 +
 
 +
==== Sweeping control ====
 +
 
 +
The sweeping mission should be planned based on knowledge of the area to sweep and the schedule to do so.
 +
 
 +
The Fejemis should avoid swallowing loose cables and the hanging drone-net as some of the most troublesome obstacles.
 +
 
 +
==== Situation awareness ====
 +
 
 +
The Fejemis should be aware of the users of the facility and it should postpone cleaning if the situation is not sufficiently quiet.
 +
 
 +
==== Automatic charging ====
 +
 
 +
Charging requires 230V AC, and the Fejemis should be able to dock into a power outlet autonomously.
 +
 
 +
==== Garbage dumping ====
 +
 
 +
Garbage dumping is probably not going to be autonomous, but it would be nice with a warning when the dust-bin is full.

Latest revision as of 10:53, 17 October 2023

Project to automate the nice fejemis brush-cleaner

Contents

[edit] Autonomous Fejemis

Fejemis-from-onshape.png

Figure: Sketch of Fejemis from OnShape. The front part in yellow and black is a commercial brush for industry floor. The manual handle has been replaced with the Fejemis drive system. The front wheel can be lowered to allow the brush to be lifted when not in use.

The drawings can be accessed here: https://cad.onshape.com/documents/c3f44096b0f5e4646ed48e3f/w/670467f68cac02b087631e3d/e/e591dbcff8879adc4528ee2b

[edit] Onshape to robot

The URDF file is made using Onshape-to-robot There are added a dummy link for ROS and it is placed in its own ROS package. Important note: currently non-DOF relation (like two parts being fastened together) don't work on top-level assembly (therefore you can make the different parts as subassemblies, but you need an assembly joining the subassemblies using non-DOF before the assembly that places the wheels and other DOF.

[edit] Main electronics

Teensy-configuration.png

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.

[edit] Electrical

Fejemis electrical wiring etc.

[edit] Teensy firmware

Fejemis Teensy software is build using standard Arduino library configurations. The interface to the main PC is organized as text-lines.

[edit] 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.

[edit] 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.

[edit] Main software

[edit] Software repository

The Fejemis repository holds the documentation and source-code.

This section holds also the tool-chain instructions.

[edit] 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 should also provide the needed interface to ROS (to drive and control the operation).

[edit] ROS overview

Fejemis ROS

[edit] Reboot and startup

When WiFi is up, it should connect to the "device" access point to get an IP agreed with itservice to be) 10.199.253.209, and the hostname:

* fejemis.device.clients.local

NB! if a cable network is connected, then 'fejemis' refuse 'ssh' access on the wifi.

The Wifi is made available without any user logged in (server mode) by modifying

/etc/NetworkManager/system-connections/device.nmconnection

The "permissions" line in the [connection] section is changed to just

permissions=

[edit] Main functionality

[edit] Mapping and localization

The system should be able to systematically sweep the floor and therefore need knowledge of own position.

[edit] Sweeping control

The sweeping mission should be planned based on knowledge of the area to sweep and the schedule to do so.

The Fejemis should avoid swallowing loose cables and the hanging drone-net as some of the most troublesome obstacles.

[edit] Situation awareness

The Fejemis should be aware of the users of the facility and it should postpone cleaning if the situation is not sufficiently quiet.

[edit] Automatic charging

Charging requires 230V AC, and the Fejemis should be able to dock into a power outlet autonomously.

[edit] Garbage dumping

Garbage dumping is probably not going to be autonomous, but it would be nice with a warning when the dust-bin is full.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox