SpaceVacuum | |
---|---|
Participants | Giorg10 |
Skills | Electronics, Robotics, ROS |
Status | Active |
Niche | Yes |
Purpose | Clean and tidy HAAHAHA space |
Tool | No |
Location | Around the space |
Cost | Not a lot |
Tool category | Electronics |
SpaceVacuum Property "Tool Image" (as page type) with input value "File:{{{Picture}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. {{{Picture}}} {{#if:No | [[Tool Owner::{{{ProjectParticipants}}} | }} {{#if:No | [[Tool Cost::Not a lot | }}
In the (false) hope that this will help keep the space cleaner, this project aims at performing a brain-transplant to one of the robot vacuum cleaners at the space to improve its ability to navigate and connect it to the space's IRC.
Plan
- Reverse-engineer the robot's PCB
- Replace the MCU with a custom controller
- Set up a Pi with ROS + nav-stack
- Write a ROS driver to link to said custom controller
- Make an initial 2D map of the space
- Write a ROS driver to act as a bot in the space's IRC
This should be enough to get some basic behaviour.
Extensions
Lost more could be done.
- Add charging pads, make a charging station so it can charge itself
- There are 3D cameras like the Kinect and D-Lite, these could be used to make/update a 3D map of the space.
- There is a horn, could be linked to a camera to horn at people that don't get out of the way.
- A camera on the front of SpaceVacuum that streams live on YouTube/Twitch
- Add your silly idea to this list
Progress
Currently busy with step 1, RE'ing the PCB.
Reverse-engineering
The robot's PCB is a very dense, and a 4-layer one... a bit of a PITA to RE, but it will slowly get done.
- MCU: STM32F030C8
- H-bridges: PT5126
- Comparators: LM393 (function not known to this day)
- Step-down DC-DC: A5268
- Battery: 3S Lithium (originally 3x 18650 @ 2.2 Ah)
- MOSFETs: STP4435
The bumper sensors are IR phototransistors (for durability, perhaps?) The motor encoders are also optical, and very high-precision (Hz / m: TBD)
MCU pin-out
Pin | Function | Description |
---|---|---|
A14 | USART2 TX | Used to flash the chip |
A15 | USART2 RX | Used to flash the chip |
B7 | Left motor IN-A | To IN-A of H-bridge of left motor |
A10 | Left motor IN-B | To IN-B of H-bridge of left motor |
A9 | Right motor IN-B | To IN-B of H-bridge of right motor |
B2 | Right motor IN-A | To IN-A of H-bridge of right motor |
B10 | Right encoder | Optical encoder of right motor |