P18390: Translational Drift Robot
/public/

Subsystem Build & Test

Table of Contents

During this phase, the final robot needed to have been completed in order to participate in the Motorama battle bots competition. This included chassis machining, electronics and hardware assembly, and coding. This was in line with our accelerated schedule.

Team Vision for Subsystem Level Build & Test Phase

Our team sought to complete the transitional drift robot for use in the Motorama battle bots competition. The chassis of the robot would be machined, as well as the motor components. We sought to finish assembly of the robot, including PCB and electronics, hardware, and chassis assembly. With the robot assembled, we would begin to implement and test the code on the robot: namely, we would implement the heading estimation, Persistence of Vision display, and drive control.

The chassis and components were machined with some errors, which were addressed as they became apparent. These were mostly issues with wire placement and friction with the wheels and motor. Unfortunately, friction issues still exist, and led to the melting of a pulley belt due to the generated heat.

In regards to the electronics, initial issues were experienced in generating enough torque from the brushless motors, but these issues were soon resolved by changing the firmware used with the motor controllers. Some wiring issues existed, but space was machined in the chassis, mostly resolving the issue.

The robot as a whole assembled easily enough, though some of the rubber padding had to be removed, particularly from around the wheels. The wheels elevated the bot high enough that it would be able to spin without the bottom touching the ground. However, some friction still exists with the wheel and motor assemblies.

With the robot fully assembled, even with error, we hoped to code it enough to get Persistence of Vision working and to create translation with the robot. Rotation has already been doable since last semester. Something resembling POV was achieved, though it was not accurately showing the forward direction. Configuration modes were added to improve this. Translation could not be made to work for Motorama, so tank controls were added instead, to turn the robot into a ramming machine instead.

The intention was to compete in Motorama with these modified controls. However, further issues with the wheels prevented the robot from functioning correctly. As such, we were unable to compete in Motorama.

Test Results Summary

Electrical testing initially revealed issues with motor drive, solder bridging, and motor speed control. The motor drive issues were solved by matching the ESC firmware to the motors using the BLDC tool used to configure the ESC's. Solder bridging was fixed by conducting continuity tests and removing the excess solder. Motor speed control issues were solved by switching to PPM control of the motor RPM. Mechanical tests initially revealed very high internal friction between the wheels and the chassis via the pulleys. These initial issues were fixed by adding additional space. After these changes, the system was demonstrated to be partially functional after uploading initial firmware. However, substantial internal friction and misalignment issues remained, limiting the run time and edge speed of the bot. THese issues culminated in significant internal heating, unexpectedly melting one of the V-belts. A new V-belt was purchased, and tank-drive style firmware was written to allow the robot to pass safety inspections at Motorama. Unfortunately, the internal friction issues returned, preventing Polar Storm from operating properly and causing a forfeit of the match.

Fabrication and Test

PCB Design in Eagle .brd files can be found on the project github. Image appears sideways because of edge, not because of image formatting.

PCB Design in Eagle .brd files can be found on the project github. Image appears sideways because of edge, not because of image formatting.

PCB Design as seen in eagle. The front side of the PCB was milled at the construct, while the full PCB was ordered from OSH Park.

PCB G CODE, Shorting between magnetometer pins due to bit size was later removed with a Dremel.

PCB G CODE, Shorting between magnetometer pins due to bit size was later removed with a Dremel.

PCB design was exported to GCODE for milling at the construct

 Beginning of PCB Milling at the Construct

Beginning of PCB Milling at the Construct

The PCB was milled using a gcode controlled cnc mill at the Construct

 PCB Trace Milling at the Construct

PCB Trace Milling at the Construct

The above video shows the initial trace milling, later the slew speed was reduced significantly to reduce wear and breakage of the micro end-mills.

 Continued PCB Trace Milling at the Construct with reduced slew rate

Continued PCB Trace Milling at the Construct with reduced slew rate

Slew rate when machining the traces was reduced to prevent breakage of the micro end-mills

PCB Being Machined at the Construct

PCB Being Machined at the Construct

PCB halfway finished

PCB Being Machined at the Construct, almost finished with trace routing

PCB Being Machined at the Construct, almost finished with trace routing

PCB mostly finished

 PCB through hole drilling

PCB through hole drilling

Through holes were drilled in the PCB to mount the components.

Finished PCB before Trimming Edges

Finished PCB before Trimming Edges

Finished PCB before trimming edges and removing shorts between magnetometer pins

PCB with headers soldered and edges trimmed, and reverse side copper removed

PCB with headers soldered and edges trimmed, and reverse side copper removed

The copper on the back of the PCB was removed to prevent shorting and the headers were soldered to the pads on the through holes.

Side View of PCB with Headers

Side View of PCB with Headers

Side View of PCB with headers, Teensy 3.2 was placed in its socket. The extra pins on the front side were later removed

PCB with Jumpers Added to Replace Bottom Layer

PCB with Jumpers Added to Replace Bottom Layer

Jumpers were added to replace the missing connections on the bottom side of the PCB, as the construct is only able to produce single sided boards. Initial soldering produced some shorting which was later fixed.

PCB with LED connectors soldered, and some shorting fixed

PCB with LED connectors soldered, and some shorting fixed

The connectors for the LED strips were soldered to their respective headers, and some shorting between various nodes was eliminated.

PCB with components placed in sockets

PCB with components placed in sockets

This shows the components in their sockets on the PCB after some testing, some more shorts were found and fixed.

Full Robot Circuit with all Components

Full Robot Circuit with all Components

Second View of full Circuit

Second View of full Circuit

Control and drive circuitry with all components

Initial Issues with Motor Drive

Initial Issues with Motor Drive

At first the ESC's had trouble driving the motors properly, this was fixed with a change to the VESC's configuration, which resulted in oscillation when unloaded, but proper operation when under load.

Robot Chassis with components inside, prior to wiring

Robot Chassis with components inside, prior to wiring

Initially, there was not space for all of the wiring, due to the low wire gauge. This was later fixed by cutting additional channels in the chassis.

Robot Chassis with additional channels for wiring

Robot Chassis with additional channels for wiring

Additional space was made in the chassis to allow for wiring.

Motor Driving Wheel Inside Chassis for First Time

Motor Driving Wheel Inside Chassis for First Time

Significant internal friction and low start torque on the BLDC motors appeared prohibitive to the proper functionality, preventing the wheels from spinning, However, after some reconfiguration and changes to the VESC firmware, the motors were able to spin the wheels. This video shows the motor in current controlled mode.

Driving both wheels in rpm control mode using control circuitry

Driving both wheels in rpm control mode using control circuitry

After the initial issues with motor startup were solved, the motors were put in RPM control mode based on PPM outputs from the Teensy 3.2 and throttle data from the transmitter.

Initial Test of Full System

Initial Test of Full System

The full system was tested and had issues with maintaining edge speed and stability, this was due to a large amount of internal friction on one of the wheels.

Double Sided PCB's from OSH Park

Double Sided PCB's from OSH Park

Double Sided PCB's from OSH Park with Headers Soldered

Double Sided PCB's from OSH Park with Headers Soldered

The extra PCBs from OSH Park arrived and the headers were soldered on

Higher Speed Test Of Full System with Initial POV Display

Higher Speed Test Of Full System with Initial POV Display

The Full System was again tested, with revised code that ran the POV display, The POV display required additional calibration, but the system worked as expected. Again, internal friction caused issues maintaining desired edge speed over extended periods.

Motorama 2018!

Motorama 2018 was both a success and failure for us. The night before we were scheduled to leave for Motorama 2018 we were met with a big challenge due to a catastrophic failure of one of our v-belts. Jimmy and Stephen however, decided to go to Harisburg, PA with the broken battle bot in hopes to show it off and get advice to improve the design. What happened instead was help from several other competitors the night before competition to get the bot running again. A new v-belt was made and tank drive controls were made and put onto the microprocessor in the bot. We had a running bot that was off to safety inspection. We passed safety inspection and were ready to compete in the morning. An unfortunate event happened again and our bot during a morning test began to smoke and became once again inoperable. We were forced to forfeit and were unable to compete. We did receive a handful of helpful tips to help improve our design so our bot would not have these failures again.

Building our new V-Belt

Building our new V-Belt

Testing our Bot with Tank Drive at Motorama

Testing our Bot with Tank Drive at Motorama

While there we checked out a couple other interesting bot designs.

Checking out other Bots

Checking out other Bots

Checking out other Bots

Checking out other Bots

Risk and Problem Tracking

Testing

Testing

Problem Tracking

Problem Tracking

Plans for next phase

Team

Individual

Jacob Harrell

Stephen Pasek

Alex Howard

Jimmy Kramer

Rob Sokolowski

Individual Three Week Plans
Stephen Pasek Jimmy Kramer Alex Howard Rob Sokolowski Jacob Harrell

Home | Planning & Execution | Imagine RIT

Problem Definition | Systems Design | Preliminary Detailed Design | Detailed Design

Build & Test Prep | Subsystem Build & Test | Integrated System Build & Test | Customer Handoff & Final Project Documentation