What is Perplex?

FIRST

PREV

LAST

NEXT

21 Oct 2023

Combat robot classes are split up by weight, so it's important to be efficient with how the weight is used. Normal robots have drive motors and weapon motors, and significant weight in frame and weapon. If we could merge these, the damage potential increases massively.

This is where meltybrains come in. They work by spinning the frame of the robot at high speed, then as the robot rotates, varying the speed of each wheel, so when its pointing in the desired direction of translation the wheel spins faster, and when the wheel is pointing the opposite direction the wheel spins slower.

If meltybrains are so good why aren't they common?

Meltybrains face serious challenges. Some major ones are below:

These challenges result in few builders attempting them.

Some notable Meltybrain resources

As part of my research I've taken lots of inspiration from a few places

Thoughts on some measurement systems:

If your measuring time (which micrcontrollers do), if your measuring position you can calculate speed (thanks derivatives), and if you measuring speed you can estimate precision (thanks integrals).

Accelerometer

Measures the centripetal acceleration, then uses that to calculate the speed at a known radius, and hence the spin rate.

One challenge is finding an acceleromter capable of measuring the massive acceleration. This can be minimised by placing the accelerometer more centrally, but this increases measurement error.

Wheel Encoders

Measures the position of the wheels. This can then be used to calculate both spin rate and spin position.

Some challenges including effectively measuring the very fast wheel. This also doesn't account for wheel slip.

This does have the benefit of enabling better wheel speed adjustment algorithms since the speed can be measured easily.

Magnetometers

Magnetometers measure the local magnetic field. Assuming the magnetic field around the robot is constant the angle of the magnetic field is the angle of the robot.

A major issue is the magnetic field isn't constant. Theres two motors spinning around at full pelt right next door, plus some bonus rapidly changing high current wires.

IR Beacon

A Light outside the arena emits a constant IR signal, then a sensor on the robot receives that light whenever it is pointed in that direction.

This works really well sometimes, but is heavily dependent on the environment. Some arena's cause lots of reflections so the robot can "see" the beacon in multiple locations.

Gyroscope

Gyroscopes measure the rotation of objects. Which is exactly what we want. Unfortunately they only work up to relatively low spin rates, so are practically unusable for meltybrains.

Inducting Magnetometer

This makes use of the robots rotation, to spin a coil. The spinning coil in a magnetic field generates a voltage as it rotates, with the voltage being proportional to the sine of the current angle.

So what to choose?

Honestly I'm not sure. I will probably have wheel encoders on the robot, for better wheel speed control. The accelerometer seems like a relatively good option. I'm currently looking at the ADXL375, which does +/- 200g. I'll probably start with those two, and see how it goes, potentially introducing a magnetometer later.

What's next?

I've designed and ordered an assembled PCB with an ATTiny1616 and an ADXL375, which has arrived and works (I'm honestly surprised how well it worked. The only hiccup was using the wrong I2C address). I've done some math in Excel, so I'll see where that goes.

FIRST

PREV

LAST

NEXT