SpaceVacuum: Difference between revisions

From NURDspace
(The purpose of this project is to give more intelligence to one of the robot vacuum cleaners found at the space, connect it to the space's IRC, possibly using it for funny things as well.)
 
m (Added more pins)
 
(7 intermediate revisions by 2 users not shown)
Line 12: Line 12:
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.
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.


This page is just a stub and will get expanded soon.
= 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)
 
<gallery>
PCB-vacuum-overlay.png
PCB-vacuum-front.png
PCB-vacuum-back.png
</gallery>
 
=== MCU pin-out ===
 
{| class=wikitable
|-
! 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
|-
|}

Latest revision as of 20:34, 12 April 2023

SpaceVacuum
SpaceVacuum.jpg
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