Inspiration

Levelling sand in a similar way to the lawnmower to ensure a common level. We found inspiration in our sled-based design, and iterated through multiple designs, including plows, servos, absolute position recognition, and active controls.

What it does

We level sand by trailing a sled behind that digs a marginal depth behind the treads, filling up the tread paths, and creating a level plain behind the robot. We included an active autonomous element in the sled, that allows for retraction.

How we built it

We custom 3D printed parts, laser cut the sled, and wrote custom code to control the robot. For the software, we initially programmed an autonomous x manual mode using 98% of the flash (after reductions) but the autonomous mode was sort of bad in sandy terrain so we opted for manual mode with automatic/active control/adjustment of the sled's position using a servo.

Challenges we ran into

Initially, we planned to have a plow, this was ended when we tested and found that the motors don't provide anough power. Later, we also ended our absolute GPS idea in favor of more precise manual control. We ran into a lot of software issues. The MPU6050 sensor given to us had a custom STM8s that handled i2c communications in between the MPU and the STM. However, elegoo's documentation was extremely poor and we had to find a MPU6050 breakout board somewhere from our friends that was actually correct and use our custom configurations and pin outs. Also, we had issues with integrating a hardware servo because we found out that the ATMEGA382P that the elegoo arduino nano uses has 3 Timers and the Servo library uses the same hardware timer as the PWM/motor control, so we had to impelment a software servo :(. We had troubles with sensor data quality (and we did automation but we dropped it beacuse of the invariability of the terrain) so we implemented a Kalman filter but there were many options so we struggled to choose which one to use. We had a little bit of trouble getting the code to actually upload to the chip, we had to take the breakout board out of its slot and then press the boot button twice to enter bootloader mode.

Accomplishments that we're proud of

  • Creating a running robot that traverses well through rough terrain.
  • Autonomous control on our cutting tool.

What we learned

  • Arduino Nano development environment
  • Cross-functional workflows between disciplines
  • Rapid prototyping
  • A lot of software.

What's next for Sandy - Mechathon

  • Add more attachments

Built With

Share this project:

Updates