Building a TITAN -Let's Make Robots!
TITAN is a much larger version of my Wild Thumper robot chassis which was based on my original 6WD robot chassis. The reason for making TITAN is simple, I want a robot chassis big enough to do jobs like plowing snow, mowing the lawn or carrying heavy garden supplies like a few bags of fertilizer.
To help give you an idea of how much bigger TITAN is, have a look at the difference in wheel size. That's a 13 inch (330mm) wheel from a quad bike. It makes the 5 inch (125mm) Wild Thumper wheel look small. The chunky herring bone pattern of the tread should suit a wide range of off-road terrains.
The drawing below shows the basic dimensions. Dimensions in red will vary depending on the wheels used and are currently shown with 12 inch wheels, not the 13 inch wheels i am now using. Click on the picture below for a higher resolution image.
Although it is probably not essential for a snow plow I think suspension is essential for an offroad robot as it allows the robot to maintain maximum traction on uneven ground.
TITAN uses the same "Super Twist" suspension system that is used in the Wild Thumper chassis. The front and rear suspension are "floating" which allows the wheels to rotate ±30° about the pivot point freely but still support weight and absorb shock. This keeps all wheels on the ground even when the terrain is extremely rough.
The middle section has a standard independant suspension system. The wheels can still rotate ±30° but it requires much more force. This stabilizes the chassis and stops it leaning to one side or the other.
Unlike my previous robot designs, TITAN uses brushless motors with planetary gearboxes. The brushless motors are essentially 3 phase stepper motors with hall effect sensors built in. The motor drivers use the feedback from the hall effect sensors to determine when to step the motor. As with stepper motor drivers, the brushless motor drivers use current limiting.
Normally I like to design my own motor driver circuit but for this chassis we are using 6x ZM-6405E "off the shelve" motor drivers. Each ZM-6405E motor driver is rated for 18V - 40V @ 5A. To control the speed of all six motors I am going to use a Spider controller. The Spider controller has the ATmega2560 processor. This gives me lots of I/O pins, timers, PWM outputs and analog inputs. Everything I need for controlling a big robot and accesories.
The brushless motors I am using are 24V but the hall effect sensors have 0V - 5V outputs which I can use instead of encoders. This will let me measure distance and precisely control the speed of all 6 motors. As I will be monitoring 3 sensors from each of the 6 motors I will use a timer interrupt and port manipulation instead of external interrupts to read the sensors.
As the robot is quite large I do not want high speed. If it went out of control then it might hurt someone. The motors I am using have been wound especially for high torque at low speed. The motors are only rated for 1000 RPM but their torque is 0.6Nm (6.1 kg.cm).
I chose this motor because it allowed me to use a smaller gearbox. Each planetary gearbox has a 36:1 gear ratio. Top speed is only about 0.5 meters / second. Not excitingly fast but a safe speed for a robot chassis that can weigh more than 50Kg.
Two large bays provide enough room for 6x DM12-12 SLA batteries. These 12V, 12AH batteries are commonly used in electric bikes. As the motors are 24V, this gives me a maximum capacity of 36AH. The motors are 60W each (2.5A @ 24V). With all motors under full load the current draw is 15A so the 6 batteries will give a minimum run time of about 2 hours.
The DM12-12 batteries typically weigh about 3.6Kg so the full load of 6 SLA batteries would weigh about 22Kg however they are a common size and you can get lithium versions which are lighter but typically 5-6 times more expensive. One LiFePO4 DM12-12 battery I looked at was half the weight, same capacity but claims 5x the service life. LiFePO4 batteries do not have the best energy density compared to other lithium battery chemistries but are considered much safer.
The first parts arrived, we are making two prototypes. The parts are supposed to be folded from single sheets of aluminium but the factory in their infinite wisdom decided to make the parts from individual panels that are welded together with very small, weak welds. In future I will make prototype parts by hand :(
After the boss talked me down from my murderous rage (I still think he should not pay them unless they can survive 10 minutes locked in my office with me) I started grinding back all the welds that would prevent the parts from assembling correctly. That is why the nice anodized finish is already ruined on some parts. I am told they are only prototypes so it does not matter.
The suspension springs come from a bike factory. The supplied springs are too strong so we need to change the springs to suit the desired load.
Some parts still need a personal touch. I need to tap 6mm threads in all the stainless steel mounting plates. These stainless steel plates allow a payload to be bolted onto the aluminium chassis. The stainless steel plates help spread the load and make it easier to mount additional hardware because you don't need to try and hold a nut on the inside of the chassis.
You can see the stainless steel parts (white) in the exploded diagram below. Click on the image for higher resolution. I use this exploded view to help me assemble the chassis.
More parts have arrived and I have been grinding away the welds that prevent the parts from being assembled correctly. I am really pissed off that some bone head decided to modify the drawings without consulting me first. Now I need to repair all their mistakes before I can even assemble the chassis.
Below is one of the motors mounted in it's wishbone frame. You can see how much I have had to grind away at the parts. Some of the parts were not made correctly so I'm still waiting for the top and bottom parts of the frame. The top and bottom parts combined signifficantly increase the strength of the wishbone and provide an attachment point for the suspension.
I can't mount the wheels until the other parts arrive but I took this photo of the parts next to a T'REX to help give you an idea of the size of the Titan 6WD. You can see one of the six brushless motor drivers sitting in the chassis. The chassis has enough room for the motor drivers, batteries, sensors and a controller.
After numerous delays including another trip to XinJiang I am finally back onto the Titan chassis.This is only the first generation prototype so it's pretty rough, especially the wiring. Originally I had considered running the wires either side of the chassis but then the boss asked about making the Titan into a firefighting robot. For this reason I'm now thinking how I can keep all wires in the center where they are least likely to be damaged by fire.
The total height of the chassis with the top panel will be about 350mm depending on the payload and suspension settings. The ground clearance shown in this photo is about 160mm. The wheel diameter is just over 330mm. You can see in this photo where I have had to grind back welds. You can also see the rivets used in the assembly. All the chassis parts are 3mm thick aluminium. The motor shaft adaptors are machined aluminium.
The chassis is ready for testing! There are 6 brushless motors, each motor controller has a simple PWM / analog input used to control speed which makes it difficult to get all motors running at the same speed. I am using a Spider controller (essentially an Arduino Mega) to monitor the hall effect sensor outputs and control the speed of each motor individually. This means monitoring 18 hall effect sensors.
My code uses a timer interrupt and port manipulation to monitor the motor speeds. This prevents the motors from fighting each other and provides the best traction. Aside from speed control, monitoring the encoders has other benifits such as measuring distance and detecting a stalled / faulty motor.
The prototype chassis is complete. I am now doing some basic offroad test. This blog will continue as a robot project.