Clear the Snow Off Your Driveway with This Autonomous Snowplow Robot

This snowplow robot uses a Jetson Nano, Pi Camera, and an ESP32 to control a platform that can clear away snow all on its own.

Canada is primarily famous for two things: maple syrup and lots of snow. All of this snowfall tends to be quite problematic for those that need to get around via sidewalks or roads. That's where this nifty snow-clearing robot helps. It operates by using GPS, along with a Raspberry Pi Camera, to intelligently navigate a snowed-in area and clear it.

How It Was Constructed

The Canadian team began by laying out a preliminary model in SolidWorks, which detailed how the motors would be linked to the motors, as well as how the chassis is shaped. Their chassis' frame was fabricated from several pieces of steel to maintain rigidity and strength. The drivetrain is composed of a system of sprockets connected to four motors that give plenty of torque to the heavy-duty wheels.

The Electronics

The whole robot is powered by two 12V batteries, which in series, provide power to the four brushed 500W DC motors. Their speed is modulated by four BTS7960 motor drivers, which can each provide up to 40A. These drivers are connected to an ESP32 that acts as a hardware controller, freeing up the Jetson Nano to focus solely on navigation.

Localization and Navigation

A GPS module attached to the Jetson Nano gives current information on the robot's whereabouts and allows for it to be precisely geofenced. The team was able to reduce the system's cost by using an RTK from NavSpark. They also created a simulation tool that runs inside of a Jupyter Notebook that lets users plan out an area to clear and see the path the robot will take.

Programming and AI

In a nutshell, the snowplow robot is a derivative of Nvidia's jetbot project. It relies on an object recognizing model that takes in an image from the Pi Camera, parses it, and puts it through the model to extract relevant data. Movement commands are sent over WiFi via a websocket to the ESP32, where they can be read and executed.

You can go here to view this project in its entirety; it's well-written and has plenty of advice and direction for those who wish to build their own.

Arduino “having11” Guy
18 year-old IoT and embedded systems enthusiast. Also an intern at Hackster.io who loves working on projects and sharing knowledge.
Related articles
Sponsored articles
Related articles