Week 16: Applications and implications
AlfredBot project consists of an autonomous mobile robot based on ROS (Robot Operating System) with the objective of transporting objects from one point to another inside the FabLab or any other indoor environment.
AlfredBot will have the following features:
- Navigate autonomously from one point to another.
- Avoid obstacles
- Capacity to carry up to 15kg of load
- Mecanum wheels for greater freedom of movement
- Modularity to add more sensors in the future
- Web interface to call it or send it to a location
To understand more easily what I am going to do to achieve the above features I am going to break it down into two areas which are: Hardware and Software, both contain sub-components which I describe below.
Hardware:
- Mecanum wheels
- Robot housing
- Robot chassis
- Close loop motor controller
- 9dof IMU
Software:
- Setup Ubuntu Mate on a Raspberry Pi 4 Model B 4GB
- Setup ROS
- Setup Navigation Stack
- Firmware for the close loop motor controller
- ROS Driver for the motor controller
- ROS Driver for the IMU
- Web Interface
I have been working for a little less than a year now on ROS based autonomous navigation systems for wheeled robots and drones, both using commercial hardware or even a commercial robot like the Summit XL HL with which I am working on a GNSS navigation system (RTK), obstacle avoidance and a web interface to track the current position of the robot in real time, you can find a sample video of the web interface and the tracking system here (the project is still under development), and regarding the drone is a DJI F550 kit with the objective to perform SLAM and 3D mapping of the environment, you can see a video desmostración here.
Within the FabLab ecosystem I found some interesting projects and I ordered them in descending order of similarity.
- Fab2D2 by Carlos Andrés Moreno Molina "is a differential robot designed to help for move small objects into the laboratory. The robot has implemented the line follower sensing system to move autonomously. The robot can carry maximum 10 lbs. Each moment that the robot moves, it emits a warning sound."
- Pipe Tracking Bot by Wael Khalil "which surveys a pipe from the inside and draws a digital map to the existing pipes underground, thus saving a lot of Time, Effort and Money used to survey the existing pipes the old way."
- FAB-E by Vinod Kumar B G "a robot which can be usefull for Fablab cleaning ... can be operated manually using an RF-based remote control and also can move automatically by sensing the obstacles."
Other cool mobile robots projects
I will design the following components:
- Mecanum wheels
- Close loop motor controller
- IMU
- Robot chassis
- Robot housing
For the components that I will make myself, I will classify the materials according to the component they correspond to.
More links will be added soon
Mecanum wheels
Quantity | Item | From where it comes | Cost (EUR) |
---|---|---|---|
1kg | PLA filament 1.75mm | Amazon | 18.99 |
500g | TPU filament 1.75mm | Amazon | 17.99 |
x80 | 683ZZ bearing | Amazon | 7.99 |
4m | Threaded rod M3 | Conrad | 1 m = 1,29 |
x80 | Nuts DIN 985 M3 | Amazon | 8.99 |
x12 | Screws M4 x 60mm | FabLab inventory | x |
x12 | Nuts DIN 934 M4 | FabLab inventory | x |
Robot housing
Quantity | Item | From where it comes | Cost (EUR) |
---|---|---|---|
1.5kg | PLA filament 2.8mm | FabLab inventory | x |
1kg | Wood filler | Amazon | 7.64 |
400ml | Plastic Primer | Amazon | 10.99 |
400ml | Black paint | Amazon | 8.99 |
400ml | Primer paint | Amazon | 10.49 |
Robot chassis
Quantity | Item | From where it comes | Cost (EUR) |
---|---|---|---|
3.28m | Bosch aluminum profil 20x20 | Item | x |
x24 | Aluminum bracket | Amazon | 9.99 |
x24 | Screw M5x20mm | FabLab inventory | x |
x10 | Screw M5x30mm | FabLab inventory | x |
IMU
Quantity | Item | From where it comes | Cost (EUR) |
---|---|---|---|
x1 | ICM20948 | Digikey | 8.77 |
x1 | MIC5225-1.8YM5-TR | Digikey | 0.34 |
x1 | BSS138DWQ | Digikey | 0.37 |
x2 | 0.1uF Capacitor SMD 0603 | Digikey | 0.21 |
x2 | 10uF Capacitor SMD 0805 | FabLab Inventory | x |
x1 | SMD 1206 LED | FabLab Inventory | x |
x4 | 10k Resistor SMD 1206 | FabLab Inventory | x |
x1 | 1k Resistor SMD 0603 | Digikey | 0.13 |
x1 | 01x04 Connector Male | FabLab Inventory | x |
Close loop motor controller
Quantity | Item | From where it comes | Cost (EUR) |
---|---|---|---|
x1 | ATSAMD21E17A 32-pin TQSP | FabLab Inventory | Item |
x2 | TB6612FNG_C_8_EL | Amazon | 9.9 |
x1 | ZLDO1117-3.3V-1A | FabLab Inventory | x |
x2 | 1uF Capacitor SMD 0805 | FabLab Inventory | Item |
x2 | 47uF/16V Capacitor SMD Elec. 6.3x5.4 | Item | x |
x2 | SMD 106 LED | FabLab Inventory | x |
x4 | 01x04 female connector | FabLab Inventory | x |
x1 | Pin header pitch 2.54mm 2x05 vertical SMD | FabLab Inventory | x |
x4 | Screw Terminal bornier pitch 5.08mm | FabLab Inventory | x |
x1 | USB Mini B | FabLab Inventory | x |
x1 | 1.2k Resistor SMD 1206 | FabLab Inventory | x |
x1 | 330 Resistor SMD 1206 | FabLab Inventory | x |
Commercial components
- Raspberry Pi 4 Model B
- Intel RealSense D435i
- LiPo Battery
Some of the materials come from the FabLab inventory, the IMU components from Daniele (Thank you very much) and the rest I bought online.
- Mecanum wheels
- Close loop motor controller
- IMU
- Robot chassis
- Robot housing
I will classify the manufacturing processes based on the parts that I will manufacture myself.
Mecanum wheels
- Computer-aided design
- 3D printing
Robot housing
- Computer-aided design
- 3D printing
- Computer-controlled cutting
Robot chassis
- Computer-aided design
- Computer-controlled cutting
- Mechanical design
IMU
- Electronics design
- Electronics production
- Embedded programming
Close loop motor controller
- Electronics design
- Electronics production
- Embedded programming
- Networking and communications
Web interface
- Interface and application programming
AlfredBot logo
- Computer-aided design
- Computer-controlled cutting
The main question running through my mind is: Will I be able to complete the final project on time with the features I would like?
Will the motors have enough torque to move 15kg of load?
Will the closed loop motor controller work well?
Will I be able to get the final finish on the Robot Housing?
I will evaluate my final project in four levels which are "Level 1", "Level 2", "Level 3" and "Final Boss" which consist of the following.
- Level 1: The robot is able to move in manual operation mode without ROS.
- Level 2: The robot is able to move in manual or assisted operation mode with ROS.
- Level 3: The robot is able to construct a map of the environment and navigate autonomously.
- Final Boss: The robot is able to navigate autonomously by interacting with it through a web interface.
- Easter eggs: Cool Video production and music to show the final result (It is necessary to eliminate the final boss to unlock it).