Final design version
The robot frame design was based on materials that were readily available on DIY shops. The main hull construction was made with flat metal joint brackets like the one shown below. The benefit of these is the multiple holes that allow adjustments to be made on the fly. Flat jointers along with angled brackets form the rectangle shape of the hull that is strong enough to support the motors, tracks and electronics. The frame size is 28x47cm while the complete robot footprint is 40x47cm. The robot has two layers built on top of each other. The bottom layer accommodates the motors, electronics and batteries while the second holds the laptop. The camera is attached on its own raised support bracket.
Figure 38 Flat metal brackets often found in DIY stores
The motors used for the robot were extracted from cheap cordless drills. The benefit was that these motors have adequate torque, come with a stock gearbox and a clutch. The motor can draw up 15A when starting up and settle at around 3A under normal loads. High current surges are usually associated with sparks from the motor’s commutators that in turn create a lot of parasitics in the circuit. As a precaution three ceramic capacitors were added to each motor to suppress any high frequency noise.
Figure 39 On the left is the drill motor and on the right, the installed ceramic capacitors
To achieve complete autonomy the robot has to be able to carry, along with its own electronics, the processing unit. Since the laptop size fits the robot’s frame, a raised slot was created to host it. The robot electronics were placed on a bottom layer along with the battery and motors while the laptop was placed on top of the raised platform, on the four white pads shown below.
Figure 40 Robot raised platform for the laptop, made from multiple parallel 10mm PVC pipes and rubber pads to absorb vibration
Hardware – Tracks and suspension
Since the first version of the robot design, the parts that underwent the most design iterations were the tracks and the suspension. These two parts define the whole locomotion properties of the robot. Slippage, current draw, vibrations, etc. are heavily dependent on the track pads and tension of the track. Below are the three types of suspensions that were built for the robot.
The first one is a CAD representation of what is shown in figure 42 on the left. This was the first attempt to equip the robot with a suspension. This implementation, although operational, was not optimal. It had problems such as difficulty dealing with forces applied to the wheel at various angles other than vertically. Another issue was the narrow error margin of the placement of the bearings making it difficult to duplicate the same design and behaviour across each robot wheel.
The second design was of an angled short arm carrying the wheel and 90 degrees away, a coil spring was placed to push the wheel down. The spring used was an oil piston spring that was perfect for absorbing most vibrations. This design was adequate for the task. The only minor issue was that the tension of the spring could not be adjusted more than a few Newton per meter.
The last type of suspension came with the track pad change (Figure 43) from PVC pipes to Lexan polycarbonate pieces. This last suspension design had the added benefit of adjustable tension of the leaf spring. The leaf spring itself (specifically quarter-elliptic) is an old concept used in mainly trucks where steel leafs – flat plates are stacked to achieve the desired N/m.
Figure 41 Left: First version, vertical linear suspension. Middle: Second version, hinge type with a coil spring pushing down. Right: Final version, flat carbon steel pieces combined to form a leaf spring
Figure 42 First robot version with the narrow blue wheels and vertical springs allowing linear motion of each wheel, Right: second suspension type with oil piston coil springs and angled brackets for each wheel
The track pads replacement, from PVC to Lexan was the second part of the design changes towards less vibration. The motivation to perform any changes to the robot at a mature stage was the effort to achieve less vibration and subsequently improve algorithm performance. Nodes that were dependant on camera movement did benefit from this change. The issue with the previous PVC pipe track pads was that even if the robot was moving on a completely even surface the curved surface of the PVC pipes resulted in unnecessary vibrations.
In Figure 43 the concept is illustrated.
Figure 43 Illustrating how the second design suffers less from vibrations due to flat pads.
The first design was dropped due to the PVC pipe curves creating unecessary vibration.
Figure 44 Close up of the two different track versions. Left: Old prototype, Right: Version used for the project
Notable differences: 1. Switch from curved pads to flat pads. 2. Motion transfer from tension to a geared pulley
The robot’s circuit was designed to allow the robot to run in different modes, depending on the occasion. Every mode of operation can be selected using the on-board buttons on the PCB or by requesting the mode using the USB to serial connection. When the robot is headless, without the laptop, it can be driven using the R/C receiver. If the laptop is connected, it can change the mode to take control and drive the robot. The microcontroller also packs some security features such as emergency stop if the connection is dropped or if the current draw is above a threshold.
The circuit consists of an ATmega328 microcontroller that is directly connected to two VNH2SP30 motor H-bridges. Most of the I/O pins are used for direction control of each motor, current sense, PWM, etc. The serial port of the microcontroller is connected to a PL3230 integrated circuit that is used as a bridge to the laptop. Accommodating circuitry is also present to provide a stable power supply and audio-visual debugging elements.
The robot electronics consist of:
• USB to Serial, based on the PL3230 IC
• 1 breakout board of 2 x 30A motor drivers from Texas Instruments VNH2SP30
• Connections to the motors
• ATMEGA328 microcontroller
• R/C receiver connected to the counter/decoder of the microcontroller
• Battery connections
• Power regulators
• Indicator LEDs
The robot electronics are placed on a custom printed circuit board and use a USB to serial connection (1), to connect the microcontroller to the on-board computer.
Figure 45 Schematic and board layout of the robot's PCB
Figure 46 The two VNH H-bridges on their breakout board. The two small mosfets shown were removed. Extra capacitors were also added.
The selection of the motor driver was purely guided by power requirements of the motors.
The driver features current sense pins that allow two ADC channels to be connected providing 0.13 Volts per Ampere. This is easily read by a 10bit ADC and allows us to monitor the current draw to prevent any breakdowns in case of a motor stall. In addition, the driver itself provides a maximum current shutdown that is enabled when the current goes up in a specific dt. Each channel of the driver needs five I/O pins connected to it. Two pins are needed for direction (xIna, xINb), one for PWM, one for current sense (xCS) and one for the enable pin (xEN).
Due to the high burst currents induced by the two motors a battery technology that is capable to withstand high surges up to 40A had to be selected. A 5000ma/h Lithium-Polymer battery was selected for the task.
The initial battery had three cells outputting 11.1V nominal. However one of the cells was punctured during testing and was removed, resulting in a two cell battery at 7.4V. The robot electronics were designed to operate at voltages as low as 5.5 volts (including regulator dropout) and therefore the only thing affected was the top speed of the robot.