Feature

Mine Sweeper

Mine-Seeking Arduino-based Hexapod

Dylan HOLMES

Issue 77, December 2023

Curious about what high school students are designing these days, we attended a secondary school’s Tech Art Exhibition. Can you imagine our surprise when we saw this winning design by student Dylan Holmes?

With its 3D printed parts, Arduino brain, LoRaWAN technology and goal to solve real-world problems, we just had to get in touch with the brilliant mind behind the project.

We caught up with Dylan to learn more about it.

Congratulations on being a winner in the exhibition, Dylan. We also love what you have made. Before we get into details about your robot, please introduce yourself to our readers and what first got you interested in electronics.

Hi! I’m Dylan Holmes, a 17-year-old student at St Helena Secondary College, an avid roboticist and programmer. In my time away from school, I hone my taekwondo skills, work on robotics, and hang with my mates.

This year I studied VCE Systems Engineering, as well as performing voluntary work on real-world solutions to problems with the council.

Electronics has been a passion since I was eight years old, when I first began learning basic programming skills. At ten, I joined my first Maker’s Club, where I began learning engineering and STEM skills.

I became really passionate about all things tech and worked on many projects. The problems that plague humanity became of great interest to me, and I strove to alleviate them in the ways I knew how - using technology. The majority of my passion and interest in electronics was due to both a natural application in STEM, (more specifically engineering, maths and programming areas), as well as the intense drive that I developed in an attempt to help solve these problems.

What was the motivation to design and build a project based on mine-seeking?

The motivation to design and build my project came from reading about current and previous political crises, which have resulted in the lives of millions of people being significantly degraded. I kept myself informed on the issues around the world, and when it came time to decide on a project I knew I wanted to solve a problem that spoke to me. There are an estimated 110 million landmines currently in the ground. Landmines cause an estimated 15,000 – 20,000 injuries each year (landminefree.org).

Land mines prevent access to food, water, and other basic needs as well as inhibiting freedom of movement. They hamper humanitarian aid and prevent the return or relocation of internationally displaced persons. They destroy agricultural land and maim and kill civilians.

Reading about the growing number of land mines in Ukraine prompted a conversation with my mum about when she travelled through Southeast Asia and met the Khmer man Aki Ra, founder of the Cambodian Landmine Museum, who devoted his life to demining Cambodian land and providing aid and assistance to victims. Aki Ra was forced to leave his village and work in the fields at the age of five when his parents were killed by the Khmer Rouge. He was conscripted into the Vietnamese army and had to lay mines in the same fields. After the war ended, he devoted his life to clearing landmines. He started up the Cambodian Landmine Museum to fund his efforts.

“It’s estimated that up to 30 percent of Ukraine—an area about twice the size of Austria—has been contaminated with landmines and unexploded ordnance. Many devices left in the field are designed specifically to harm people.” Russia Has Turned Eastern Ukraine Into a Giant Minefield by RICH WORDSWORTH, Wired: SCIENCE DEC 21, 2022 7:00 AM

Countries like Cambodia, Egypt, Libya and even Ukraine now, are so heavily land-mined that whole communities of people are displaced, and forced to abandon their homes, or otherwise useful land. My project is an attempt to solve this issue.

Most landmine detectors are either human-operated, which puts the operator in danger, or are “rover-like”, only able to drive along flat terrain. My electro-mechanical system is an intended solution, using legs to walk along rough terrain, whilst also spreading its weight to surface-area ratio – in an attempt to not set off the mine.

Can you give our readers a quick summary about landmines and why technology like this will help clear them.

Landmines are a large issue across the world, and their function differs depending on the type and the nature. The mines in focus are anti-personnel mines, designed to maim and kill humans. These landmines have trigger pins, which detect weight and drop a connecting hammer to some explosive. They are often buried underground, and can make huge expanses of land unusable – harming thousands and displacing millions.

Land mine detection robots are an advancing field designed to reduce the danger posed to humans who demine. Rather than have someone risk their own life for the demining cause, a robot can be used to identify the mine locations, and report back the location for an operator to safely remove it. These technologies remove the entire step of land mine detection with a physical operator, and sometimes remove the defusal step as well. Whilst in use in the rich countries, developing countries require a cheaper solution which also tailors for their geographical climate.

We read that your design brief was to design a robot based on an arthropodal spider/crab. Please elaborate more on this and how it differs from tracked or wheeled robots?

Arthropodal refers to looking and functioning like an arthropod. An arthropod has an exoskeleton and has segmented body pieces. Whilst not characteristic of the entire arthropodal phylum, a large number of arthropods also have multiple spindly and segmented legs – example: cricket, crab, spider, etc. In terms of the system, arthropodal refers to the robot having an exoskeleton, segmented body pieces, and multiple segmented legs.

This differs from tracked and wheeled robots by adding a significantly greater manoeuvrability. The system can physically lift individual legs, walk sideways or diagonally, and can raise and lower the body as it pleases. In terms of my system – it allows it to extend its weight over a greater surface area – reducing the chance of setting off a mine and allows it to walk on uneven and rocky terrain – which is a major issue with current autonomous mine detectors.

Cons: Slower, Has a weight requirement, uses more power, more complicated to program.

What is a skewed truncated octahedron and what benefits does this have?

The base of the hexapod is an octahedron. I chose an octahedron as it allowed for a mine detector to be attached directly to the front, and legs to protrude out from the sides in an insect-like fashion. The angled shape of the legs allows the legs to move further without colliding – unlike in a straight example. To ensure that the legs had further room to move, I skewed the body, extending the front out further, giving more length to the sides. Then to reduce weight, and PLA usage, I truncated the vertical height so that the base would use up less physical space.

What sensor is used to simulate detecting mines, and what sensor would a commercial unit use?

Due to the classification behind the mines in use today, and the health and safety requirements, I had to approximate the mine detector for a metal detector. The metal detector I created had a 58m enamel copper wire coiled hundreds of times around a 9cm cylinder. By running a current through the wire, a magnetic field is generated, which ferromagnetic metals can amplify. With the use of a small capacitor circuit, I can read the magnetic field as an analogue input, and identify if a metal has been detected.

In a commercial unit, I would prefer to use a more advanced mine detection technique – laser doppler vibometry. A laser, photodetector, and a magnetic field generator, makes vibrations that pulse down through the dirt, and when tuned to the right frequency, can be used to detect the pin in the mine, as it vibrates from the magnetic wave. The laser and photodetector read the vibrations through the dirt to adequately identify if a mine is present.

This method, whilst significantly more costly for a high school student, would function with a much greater accuracy and be able to function on magnetic soil, and around other pieces of metal, making for less false positives. It also has a better ability to detect deeper mines.

How much did your robot cost to build, and how did you raise the funds?

The robot in total costs $853.41. This number doesn’t include the multiple redesigns or parts that were either destroyed or unusable in the later designs. The majority of the current cost was due to the SG5010 fast, high-torque servos, and delivery.

When I made the purchase, I needed very timely delivery and a product I knew was high enough quality to use – I didn’t have time to trial and test cheaper alternatives.

My price of creation was approximately $300 dollars larger, due to the many redesigns - however the parts I had bought can be sold on or reused so they were excluded from this total.

This is also not accurate for the system if it was implemented as an actual product. For instance, in a production line all the unit costs would be significantly cheaper due to bulk purchasing. If being made for hobby purposes, all the prices could come from second hand users - however in my production I did not have time to source lower cost alternatives so the ones I used aren’t necessarily the cheapest alternatives.

There would also be no cost for the PLA, as recycled plastic could be used instead - whilst it is a larger upfront cost for the creation of a single robot, it eliminates the future cost of PLA permanently and can be used for other projects of similar nature. The full cost analysis can be found in my folio.

I used the money I earned teaching Taekwondo and my parents sponsored the rest. They were pretty keen to see if I could build the mine-seeking arthropod, having spent time travelling through countries plagued with landmines.

We've done a few projects before using the amazing LoRaWAN technology. For our readers not familiar with LoRa, can you give them a quick run-down?

LoRa, is a Long Range radio system and communication technology. LoRa covers the lower bandwidth, frequency and power spectrum of radio wave technology, for both a significantly lower cost and covering a variety of ranges. LoRa, and the communication protocol, LoRaWan, have exploded in popularity for Internet Of Things projects, due to their ease of use, cheap cost and significant range in applications! From Arduino and Raspberry pi shields, to entire home router connections LoRa has become an integral part of the maker's toolbox.

Can you summarise what was considered a success with your project to meet expectations? Were these criteria set by yourself or your teacher?

The evaluation criteria for my project was very important – it helped me identify how well I had succeeded in creating a system that solved my problem. These criteria were set entirely by myself back when I identified the problem and wrote my design brief.

For my project to be considered a success I decided that:

  • The robot must be able to send and receive radio instructions – solved by using LoRA
  • Must be able to move at least 1 metre – which I succeeded
  • Must be able to move each servo to the servo’s fullest extent – quality control – basically I needed quality servos
  • The external software that can send the radio must be cheap, or function on a cheap computer - LoRa satisfies this condition – can even use an RPI, another Arduino, or an entire LoRa router
  • Must be able to detect metal – I used a magnetic field metal detector
  • Must be able to run for at least 30 minutes – which calculations and trial and error showed as successful

What electronic parts, servos, and microcontroller does your robot use?

The microcontroller used by the robot is the Arduino Mega2560 Rev3 Development Board, due to the higher calculation complexity and extended pin interface.

Electronics:

SG5010 Dual ball bearing tower pro 180 degree servos, Arduino Compatible Long Range LoRa Shield, DC Voltage Regulator (+Heatsink), 7.4v 4500mAh 45C LiPo Battery

Less Relevant:

10nF 50VDC Ceramic Capacitors, 220 Ohm 1 Watt Carbon Film Resistors, 3A 1000V diode, Jumper Leads,

Electronics in previous revisions:

MCP23008 8-Bit Expander with Serial Interface DIP18, ULN2300A Darlington Array (For stepper motors), 6V Stepper Motors,

An overview of how your robot functions

The Arduino Mega is programmed to receive a packet over Lora. When a Lora packet is received, it decompiles it and performs the functions pre-specified. I designed the system to be fully customisable, but for the purposes of this I will explain the walk event I wrote. The robot iterates through the event, like an enumerator or list of instructions, performing the stage specific code.

The backend controls the initiation of the servos, and the event handling as well as memory collection. In the event code, the legs are told to raise, move, drop, and move again in a specific order – 3 legs at once – for both balance and speed. The raise and drop functions specified automatically lift and drop each leg as required, by moving each individual servo to the right angle. As the servos are positioned along the robot's leg, this allows for a much more controlled walking cycle. Whilst it moves, the backend constantly checks for mines with the metal detector.

How do the legs work?

The legs function in a very specific and robust manner. They are printed from PLA, with extremely precise measurements for allowing the positioning of the servos – which I used Fusion to design. There are four segments to the leg. First the “Rotation Base” XY / Hip section. This is a small piece directly connected to the hull that holds the first servo in place and has a small cylindrical divot beneath to allow for a strong connection to the next piece. Then was the “Hip” Z section, which controlled raising the entire leg. This piece was almost identical to the rotation base, but has connectors to the previous piece, one detachable via screw and the other permanently attached for a strong connection. Then there is the upper leg piece, a small H piece which connects to the Knee piece. The knee piece is the final piece – which holds a servo that controls the lower leg. It has the same connections as the first two servo pieces but is position significantly further away.

By having this three-servo system, I can control the legs as if they were a human leg, or a leg of a real arthropod. Initially I was considering using a centred system on the front to reduce torque (holding all the servos on the base,) but this reduced my angles of freedom.

It is also important to note the physics of the legs – I created a torque balance simulation using Python. I was able to enter approximate lengths of everything I wanted, and their approximate weights, and the simulation would approximate the force of gravity upon each leg, performing a reverse torque balance using T = F*perpendicular Distance, and a normal balance, to identify the torque requirements of the legs. The legs have designated length to reduce surface area to weight ratio (so they don’t set off mines), and work as a simple machine lever – at different points as both a 1st, 2nd and 3rd class lever. With these restrictions I was able to use code to identify the kind of servo I needed, and identify the lengths.

I also had to place rubber feet on the bottom of the legs to ensure the hexapod would not slip.

Did you have challenges using the NEMA17 motors?

The NEMA17 motors were initially conceived for use within the project, but upon purchasing one I realised both the true scale of the model that it would turn out to be, and the power it would need. If I were to use only NEMA17 models, I would require a car battery and a significantly stronger material than plastic. Due to the restrictions I have in creating a model, I opted for a smaller and more robust approach.

Did you have issues with the voltage reducers burning out?

I had many issues with my voltage regulators. As the voltage DC regulators/Bucks were connected up to the 7V battery directly, they would receive the full load of the battery. Normally this would have been no issue, but I made a few small mistakes.

Initially, I inserted the battery in backwards, which caused an explosion on the voltage regulators. The second time, they burnt out due to some bad wiring.

Since then, I used diodes, and specifically soldered everything with extreme care to ensure that they wouldn’t burn out again.

What is the role of the MCP23008 IC?

The MCP23008 IC, whilst unused in the final model, was extremely important in the first two revisions of the design. The Arduino Mega only has approximately 50 usable DC pins, and I needed 72 pins. The MCP23008 is a pin extender, which uses the SCL/SDA wire connection and addressing system to turn 2 pins into 8.

When daisy chaining, you can turn those further 2 pins into any multiple of 8 pins, until you have an extra 56. When linking down, you can have even more. I only used 5 in the first two revisions, giving me access to an extra 20 pins. This allowed me to access all the pins, and only interface 2 into the Arduino. However it was later removed, as the servos did not need the MCP23008’s.

Congrats on designing and producing a PCB. Can you tell us more about that? What software package did you use and did you make the PCB yourself?

To design the PCB I used Fusion360’s electronics tools and libraries. I first had to create a fusion electronics library, to contain the chips that fusion did not have built in (The MCP23008). I brought them into the program with the help of the Data Sheet. I also had to customise the PCB symbol for the circuit diagram view.

Then I opened a new Fusion circuit file, I imported the parts and created a large circuit diagram. Fusion tools allow for some easy copy pasting, and auto path linking, so designing circuits is quick and painless. I could easily switch into a PCB view, where I could design and move the pieces I had placed in the diagram view. I used the auto-router tools to create the most efficient top layer, and only a few jumper wires. I also restricted the design to the size of the copper board.

After creating a usable design, I exported, in black and white, to Adobe Illustrator. In Illustrator, I directly placed pads for jumper wires, and blocked out whole sections to ensure that the etching step would not destroy the lines.

Then I printed onto a press and peel blue film from Jaycar. I placed the film face down onto a copper sheet and heated the back with an iron for 2 minutes.

This imparted the printed sides, and I washed off the rest of the blue sheet with water.

I prepared a 5-part water, 1-part crystal solution of ammonium persulfate, an oxidising agent to undergo redox with the surface copper on the PCB, in a tub.

I placed the copper sheet in, and slowly washed the water over it. When it had burnt through the non-covered areas, I removed it safely from the tub, and cleaned it.

Then I scrubbed off the final press and peel layer, revealing the copper lines on the pcb.

With a mini drill/etcher, I drilled out all the tiny holes for the pcb.

(Initially I realised I messed up the pcb and had to re do it all, as it was flipped).

I then inserted all the components, and soldered them in, before performing a diagnostic test to confirm it was working.

We are impressed by the amount of design sketches you made. Did you sketch by pencil first, then in a CAD program?

I sketched my concepts with pencil first. I then used Fusion360 to create engineering drawings, schematics and models, which helped me to better understand what I was manufacturing. The initial sketches however, were a crucial part to my understanding of the system I was creating and how it would work. I think sketching and idea generation are vital to conceptualising projects.

What 3D printer and filament was used, and what challenges did you have with 3D printing?

I am an avid Prusa supporter, due to their right-to-repair philosophies whilst also producing a great product for an affordable price. My school also only uses Prusa printers. I bought a Prusa mini, in parts form, and learnt how to build it at the start of the year so I could fix the ones at school, and my own, whenever an issue was encountered – ensuring I had a safeguard to complete my project.

I also ended up getting an Ender three when the project started getting very time limited, and whilst it didn’t function as well for me as the Prusa mini, it helped to complete the project in time.

The Filament was eSun, purchased from my local Jaycar, in black and orange. eSun’s PLA+ is the easiest and cheapest thing for me to attain within my local municipality.

The printers would not always work, and their maintenance became a big thing for me. I was very lucky to have spent a long time working on my own printer, and was able to fix a majority of the issues that arose. I also had prior experience with printers, and with using 3D design softwares, so if a print failed I would often immediately identify the issue and reprint with fixed settings/design. Sometimes the issue was in the printer itself – and whilst I did spend hours fixing the printers – this helped extend my understanding of troubleshooting and helped to accelerate the project forward.

How much of the build was done between home and school?

The project was split evenly between my school and my home. I had recently bought a 3D printer at the start of the year, and some members of my family had utilities and tools that I could borrow while working at home. This allowed me to work from home with limited resources, and use the school’s high-powered machinery when I was on-site.

The ability to work at home was also vital – given the size of the model it was very hard to transport safely to school via public transport – so I had to work on portions of the system and move them between home and school. No – I did not have a workshop – I ended up working across three rooms, my bedroom, the dining room and my father’s office all ended up covered in my project, much to my family's horror.

Despite this they were still very supportive and understanding!

It looks like you went through rigorous diagnostic tests? Were there many late nights on that?

I performed diagnostic tests to confirm if my model was up to the evaluation criteria I set back at the start of the project. I set some very complex requirements, and along the way diagnostic testing helped me identify how close I am to achieving my goal. With more late nights than I care to admit, and a few 3am’ers, I managed to complete every evaluation criteria I set out. I had many, many failures, and so there were many diagnostic tests. I wasn’t satisfied with even a partial completion, so I worked tirelessly to confirm every individual part of each system functioned flawlessly. The diagnostic tests were also used to identify what I had to do to move forward with my project, and reach my goals in a timely manner.

What CAD software did you use?

I used Fusion 360, as it’s an industry standard, easy to learn, and provides free licenses to students who are using it as part of their studies!

I had a proficient understanding of Fusion before the project. It allows the user to export a variety of usable file types for manufacturing – as well as having built-in simulations and generative design tools.

When it comes to the code, did you write all that from scratch? Any challenges you needed to overcome?

The code was completely written from scratch. The only part that utilised online sources, was the metal detector code – as I needed to learn how to read magnetic field changes. Otherwise, I wrote everything from scratch over many weeks.

The code was riddled with challenges. I wanted the code to be easily customisable, extendable, and have a built-in API so that a future operator could modify it in any way they pleased. The code needed to be efficient as well, as the robot needs to walk effortlessly, like an arthropod would. As such the code was also made memory small and safe, to function as quickly as possible.

Initially, when the MCP23008 was used, it did have a limiting speed factor to the processor, but with the redesign to servos that problem was removed. The majority of the issues that arose from the code were due to the complexity of the code I wrote. I made sure that the code was designed in both a memory safe way, using arrays and pointers, structures and classes as well as safe referencing and parameter handling to ensure a quality experience.

Many times, a small break in the code would result in the Arduino resetting, making it very hard to debug – but I managed to design two separate segments of a large and integrated program. Segment A, the aptly named LegControl processed the handling of the structures, and classes – like the servo classes, and processed each event running. Segment B is the Event code, which is designed for any user to use. It has a built-in api of “event” processes, and only requires an initial 8 lines of code to create an event. An event is a simple set of instructions which tells the robot exactly what it will do physically over a dynamic time frame segmented by intervals. I wrote many functions and methods, to integrate into this system. The hardest part of this Event API was its construction to use the virtual table.

The Arduino C++ is a type-specific language, with a lower amount of object-oriented practices than its higher-powered counterparts. However, the Arduino Mega comes with memory allocated for a virtual table. By creating my class with the right instructions, I could have child classes, which derive off the base class.

These child classes can override the Process function, so that when the runtime compiler eventually runs the code, it calls the child class instead of the parent/base class. This system, as a whole, took a long time to set up, as it was very hard to keep an array of events of differing types, differing functions and base classes contained in stable structures – luckily pointers helped me fix this issue!

We read that you needed to solve issues relating to overriding EEPROM in the Arduino?

Due to the aforementioned issues, I came across with memory management and the complexity of the code I was writing – I encountered a few issues with Arduino EEPROM. Whilst I was not intentionally saving data, I did accidentally overwrite memory through some poor safe pointer practices. In an attempt to emulate C# style list manipulation, I used arrays of pointers to structures that contain more pointers. Pointers are like an address to a position in memory.

I can use these pointers to adequately reposition memory within the program as I see fit, but poor code can result in wildly unintentional consequences. The greatest of which was a memset function taking the pointer to the array of pointers and dropping it to an undefined position in memory. The array was full of large structures (a few longs: 8 bytes/l, a few ints: 4 bytes/I, 1 id byte: 1 byte, the virtual buffer references (which have an undefined byte count – only figured out at runtime), the size of the process function (which again has an undefined byte count).)

Essentially the extreme overload of data used, as well as the data that was already in that position (all the leg structures, which contained many large instances of classes controlling the motors), caused the data to spill over into EEPROM. After fixing my code and clearing EEPROM everything did eventually work as intended.

How long does the battery last on a full charge?

At full charge, the model could last for approximately an hour, running at full power (that means moving a leg at every point in time). This estimate varies, based on the walking cycle position, as the torque requirements for the servos are offset by their normal force, and therefore the power they draw is based on the amount of force required to get into the designated position. I calculated the initial estimate from the rating at which each servo draws average power, as listed by the manufacturer in their Data Sheet, along with included calculations for the metal detector and Arduino.

How long did it take for it to walk the 150cm in your test?

That test was performed at a slower speed for the purpose of showing the reviewers/markers how it walked. In that test, it took approximately 30s.

At the highest speed I tested, it could travel at approximately 0.1 m/s, although with good code optimisation and a better walk cycle, it could be possible to get higher.

How long did your project take from idea to finished product? How did you stay on track and avoid scope-creep?

It took approximately 26 weeks. The project had many vital and crucial steps that either took too long, didn’t work as intended, or took longer than expected to produce. The project time also included prototyping and much of my design process.

I used a project planner / “Gaant” chart to help to stay on track – and whilst it did initially have a positive effect, when the project began to change in complexity, and with the considerable amount of redesigns, I used a combination of the planner and segmenting tasks. By breaking up my larger problems into smaller ones, I could effectively stay on track to completing the project, by taking one small step at a time. The small steps really add up, and very quickly I had a working model!

I must admit there were many times where I either lost a bit of motivation, or had other studies which clouded my weeks, but I still tried my hardest to progress on my project, whilst balancing year 11 and two year 12 subjects.

What consideration and design changes were made relating to its aesthetics, performance, size, safety, etc?

aesthetics:

I preferred the system to be affordable and easily replicated rather than focusing on aesthetics. But to add a level of professional recognition, it should be styled like a spider – as a homage to the multiple legs it walks on being universally acknowledged as spider legs (although not realistic, as arachnophobia could present issues for the operator)

I chose the orange and black PLA combination so that it could be easily spotted in a large field or against a blue sky.

Performance:

PLA was selected as the material of choice as it is easily recycled, durable and cheap – but recycled plastic of any type would function. The electronics will be waterproofed from rain through a shield of some kind to prevent short circuiting, but will not be water tight, and under flooding (especially in a mine field) it should be cheaper to produce another rather than attempt to salvage the model (or apply expensive water proofing procedures).

Initially, I was considering the use of metal, but after consideration as the availability of materials in developing countries, and tools used to produce the system.

Size:

The size of the model was restricted by funds, ergonomics and usability. The model could not be too large, as it must be carried, and transported locations. The large size would also significantly increase cost and would require much stronger components to hold the model.

But a model too small would prevent the detection of mines, or simply stand directly on a mine and explode itself. So a hybrid approach was taken for the size. Research (https://web.mit.edu/demining/assignments/understanding-landmines.pdf) from MIT found that most Anti Personal mines are typically 60 mm to 140 mm in diameter.

In the creation of my system, I used the max size of the model to be double the size of the typical max mine size (140 * 2 = 280, or approximately 300mm) in length and width as the model must be able to stand near the mine without setting it off, and a larger surface area will diffuse force over the ground rather than on a singular point. This led to the rough estimation of 300 * 300 * 300 mm^3 volume for the entire system, and a max 300 mm length leg extension.

Safety:

To help prevent human injury, and increase the safety of the operators measures must be taken. To prevent any electronic failure, including but not limited to: short circuits, burn outs, electronic fires, explosions, electrocution, the electronics were contained safely within the hull of the system. This adds a benefit of the wires being beyond human reach, and preventing their unintentional rapid disassembly.

On a minefield the safety of an operator is paramount, so the use of a radio or otherwise long-range communication system with the model allowed for significantly safer control. The radio system I used was LoRaWan, or more specifically Long Range Wide Area Network.

LoRa would allow the free use of the mine detection capabilities and control on a public network that could span acres of land. The system was also powered by a battery capable of lasting a long time, so the model does not find itself isolated in an active minefield. The chosen candidate was a lithium ion battery.

Social:

The model was designed with a social conscience in mind to increase world safety in heavily land-mined areas for people and animals returning to their habitats/ homes and potentially ensuring land could be used for agriculture once again. Assisting to ease the growing dangers of global food insecurity. Helping to ease global crisis of forced displacement of people.

Maintenance:

Custom parts are easily 3D printed to avoid large production costs, and make the model more affordable for developing countries. This means that replacements should are also easy to attain and insert in the field for all the parts, and that the hull is detachable so that parts may be replaced by any operator. This allows for repairing the model in the event it broke in operation, cutting costs further than a complete repurchase. I also plan to release the 3d models online so that any part could be produced in the field (after VCAA finish moderating ¾ systems).

What modifications did you end up making compared to the initial design?

Material - Steel to PLA, as the use of steel would be both too expensive and hard to produce in a developing country. It also increases the weight of the model, so PLA is cheaper and lighter

Leg System - Initially I was using a system were all the motors were housed on the base, and had linkages to the ends of the legs, but this reduced my degrees of freedom so I had to change it to a 3 segment design.

Motors - Initially I wanted to use stepper motors due to the control on speed and location, but they had too little torque, so I had to switch to servos.

Design of pieces - Initially I used generative design, but after finding I had many issues with the topological generation, I opted for completely hand designed pieces.

Electronics - I initially needed a PCB and MCP23008’s to allow for the stepper motors, but after their removal the PCB was repurposed as a power board for the servos. The battery and voltage regulators were also hooked up differently to allow for more current to directly run into the servos, ensuring a better and more efficient system.

Many of these changes caused almost full redesigns, and lengthened the time it took to make my project.

What do you plan to do next?

First I plan on passing my VCE, but afterwards, I would like to go to University and study engineering so I can continue making amazing projects that solve real-world issues.

After VCAA moderation, and once I have some time through all my exams, I plan to reiterate the hexapod itself and design a more robust and customisable system that would be easily created in developing countries.

Congratulations on persisting and burning the candle at both ends to get the robot working. Are there any people you want to thank who helped you along the way and why?

I would like to thank my parents, who stuck by me and my sometimes poor financial decisions! They gave me the motivation and drive I needed to continue with the stress of my other VCE studies and they were particularly supportive in the final stage of my project, staying up through the night with me when I was working tirelessly to get it finished. ■

Dylan HOLMES

Dylan HOLMES

Roboticist and year 11 student St Helena Secondary College, Australia.

dylan@hol52.dev