Introduction: ProBot - the Protesting Robot
The objective is to make a robot that can be controlled by any protester while sitting on a coffee, at their gardens or anywhere on their work by simply using a web page, where is possible to watch, hear and speak through it. That’s why we created a self-balancing robot, with a rigid sturdy frame, a megaphone on the top as a symbol of protest and a smartphone to talk and see people.
What you gonna need:
1 × Smartphone with frontal camera
1 × Beaglebone black
2 × Matsushita GMX-6MP013A DC Motors
1 × 24V 6S LiPo battery
1 × Megaphone
1 × Wifi Bundle
2 × Cytron 13A, 5-25V Single DC Motor Controller
1 × Sabertooth 2X25A
2 × Voltage regulators
1 × MPU6050
1 × Battery Monitor
2 × Level Converter
1 × 100k resistor
1 × 6.8k resistor
1 × 820 resistor
1 × 8.2k resistor
3 × 150 resistor
1 × Optocoupler 4N35
1 × RGB Led
3 × 100nF Capacitors
2 × JST XH Connectors female/male (2 pins)
3 × JST XH Connectors female/male (3 pins)
1 × JST XH Connectors female/male (4 pins)
2 × JST XH Connectors female/male (5 pins)
0.528 m² × Plywood
2 m × L shape Aluminium
1 × Selfie Stick
2 × 18 tooth sprockets
2 × 45 tooth sprockets
40cm × #25 chain
4 × 12mm shaft collars
40 × M6x30cm bolts
24 × M6 washers
24 × M6 nuts
16 × Wing nuts
2 × Nylon spacers
2 × Buttons
4 × Bearings
62 cm × 12mm calibrated shaft
2 × Hinges
1 x Selfie Stick adapter
Step 1: The Body Pieces
So we decided to build the ProBot body using 12 mm plywood. First we marked the dimensions of the pieces and then we cut them with a circular saw. The dimensions are:
Middle sections: 10x40 mm
"Legs": 10x70 mm
Of course you can adapt the dimensions, depending on the size of the body that you want to build.
To hold the body pieces together, we cut with a band saw several aluminum L shaped and then we made 4 holes with a 6 mm drill press to put the M6 bolts.
Step 2: Put the Body Pieces Together
After the cuts, we use M6x30mm bolts, washers and M6 wingnuts to hold the L shape to the plywood. We use wingnuts to make the assembly/disassembly easier and faster. Then we can store the ProBot pieces on a suitcase and send to any part of the world xD
Step 3: Megaphone and Selfie Stick Supports
To make the megaphone support we used the Autodesk Fusion 360 and a CNC machine but you can use a jigsaw to cut the pieces. We assembled all the pieces at the top of the body with M6x30 mm bolts, washers and nuts. In the middle, we used 2 pieces of wood (65x125mm). To attach the megaphone to the wood support we used some bicycle wheel rubber with 2 wood screws on both sides.
For the selfie stick support, we made a small "top hat" adapter on a lathe and we locked it to the top of the body with 3 wood screws. To fix the selfie stick to the adapter we used a 3 mm grub screw.
Step 4: Bottom Box
To store all the electronics and to fix the wheels to the body, we made a wooden box with metal plates on the sides. For the side plates we used Autodesk Fusion 360 and the CNC Mini Mill machine. These side plates allow us to adjust the motor position and adapt the chain tension.
Also we used the CNC machine to produce the sprockets for the motor and the sprockets for the wheels. To lock the sprocket to the motor shaft we use a 3mm grub screw. When it comes to the wheel, each one is composed of 3 pieces, the sprocket, the outside plate and the spacer. The original bearing was not suitable so we upgraded to a better one. The nylon spacer is used to keep the big sprocket away from the rubber and parallel to the outside holding plate. For the wheels, we chose a 62 cm long and 12mm calibrated shaft and they were locked to the shaft with 1 locking bush/collar, on each side.
To lock the top of the robot to the rest of the box we used 2 hinges. On the top, we made 2 holes, one for the buttons and another for LED that indicates the state of the ProBot. On the inside, we kept the Beaglebone Black microcontroller, with a custom pcb shield, the 24V 6S LiPo battery and all the electric installation. In order to organize all the components, we had to use 2 pieces of 4mm plywood to create some divisions, one for the battery and the other one for the Beaglebone. The Beaglebone is inside of an aluminum box in order to avoid the electromagnetic noise produce by the motors,
Step 5: Electric Installion and Pcb Shield
Inside the box we can find all the electronics being used, protected from the outside conditions. We followed an electric diagram for this step (see attachment). It consists on the battery, 2 pwm controllers, 2 voltage regulators and the Beaglebone. Here you can see how to hack the megaphone to the jack plug and speak/emit sounds through the megaphone.
On the pcb shield theres is the MPU6050 sensor. With this sensor we can have the angle of the ProBot and then calculate the right reference. We also included on the pcb the inputs for the motors encoders to monitor their position, power supply for the Beaglebone, led that indicates the state of the ProBot, optocoupler for the battery monitor(with a buzzer), output for the pwm controllers our for the Sabertooth and resistor divider for monitoring the battery voltage. You can download the pcb schematic here.
Step 6: Software
You can find the code that we are using on github also with the tutorial how to install the software on the Beaglebone and on the server. After the installation, you will be able to see the ProBots status (on-line or offline) and, if you are the administrator, also launch the main routine on the Beaglebone from the web page and see if someone is using one specific ProBot. After the login on the webpage, and if a ProBot is on-line and available, you can make a video call to the ProBot smartphone and control it! You can use keyboard keys, a gamepad or control it from a touch device!
Step 7: Protest!
Finally everything is ready! Now you can launch your ProBot anywhere! Here is the link for a youtube channel where you can see videos of tests made with this ProBot version and previous versions to.