Close

Discussing Component Choices

A project log for DIY Home Rover

Like a commercial/OTS robo floor/vacuum cleaner, but totally built as a DIY project and bringing in customizability

kumar-abhishekKumar, Abhishek 04/25/2023 at 13:540 Comments

This log is about discussing the component choices and tradeoffs.

Frame and Drive

Overall TL;DR is that this is a differentially-driven 4-wheel robot (2 left motors and 2 right motors) because adding two more motors will make the frame stable without adding a castor wheel.

The red rectangles in the top view are the wheels here.

Base frame material choice is ~2mm thick plywood as it will be strong enough to support the weight of the electronics. Laser cut options will be provided along with the DXF in due course as the design progresses. The laser cut frame may only be able to support a LiPo battery though because of weight restrictions. More below.


Battery, control electronics

For the battery, there are basically 2 choices - LiPo (2S/3S batteries) and SLA (12V, 7Ah) batteries. In my case, while the 12V SLA is easy to source and cheap, it has the disadvantage of being not as environment friendly because of the presence of lead, and heavier than the LiPo option. A LiPo will add additional cost both by being more expensive as well as with needing dedicated charging hardware circuitry. When being turned into a kit, while LiPo will be the preferred option, a SLA variant will be also kept for cost effectiveness.

I personally will be using the SLA to prototype as I already have one at hand.

For the controller, I would ideally like to split it into two parts, one board with a small microcontroller (like the Pico, or a STM32) that is in control of all the sensors and motors, getting data and doing minimal processing and then a more powerful SBC like a BeagleBoard or a Raspberry Pi (I have both, and will provide options for flexibility here). The more powerful SBC will control the MCU board, which will in turn, control the hardware.

The aim of DIY-ness here is to offer the choice to use the hardware people building this may already have lying around. Let's say somebody has a RPi, they can use it. Somebody has a spare BeagleBoard, they can put it into the build. Some of the more obscure Allwinner boards may have a bit of difficulty with respect to GPIO but as long as there's a reasonably high speed UART/USB interface available, we should be fine.

What I would be using to prototype the design is a BeagleBone Blue. BeagleBoard has been gracious enough to provide me with their boards from time to time since I was a student who worked to develop BeagleLogic a fairly long time back, and the key feature of this board is that while it's a normal SBC, it has a lot of control electronics integrated within for robotics applications. Including but not limited to - integrated WiFi and Bluetooth, a 9-axis IMU, 4 motor drivers, servo support, quadrature encoders and more.

I do hope to design a more affordable standalone controller using the Pico in due course as an option which can directly plug in to any SBC via USB, and has to be supplemented with whatever SBC the user decides to bring.

Sensors

Depending upon the computing device the user wants to use, this can vary from low complexity (IR sensors) but low autonomy, to LIDAR sensors (high autonomy, but more computational power). Vision sensors can be incorporated as well as long as on-device processing is done and no information is uploaded to the cloud.

Connectivity

The ideal way of connectivity is that this device will aim to connect to the local WiFi network and/or Bluetooth and be controllable by devices within the local bounds of the house without sending anything out. If the user is technically proficient to configure the device to be remote controllable by means of a VPN/proxy, it is their responsibility to configure their home network appropriately but by default nothing will be sent out.

Discussions