SnowBot

The project was a personal project which was also part of my school's final term project for the Mechatronics and Robotics Program. My partner handled the construction of the frame in the machine shop while I wrecked my head on the coding of both the robot and the software, achieving a half duplex communication. Duration of the project: 10 Weeks

A portable, wireless controlled, manual/autonomous re-programmable snow plow robot. It stores precisely the sequence of instructions taught to the robot, including directional movements and vertical control of the snow shovel. The robot is remotely controlled from an interactive Graphical User Interface (GUI) created on VPython environment. The stall torque of this robot is at 5.0Nm.

Electronics:

  • Arduino Mega 2560
  • DFRobot Mega Shield
  • 4 Channel 4A Motor Driver
  • Adafruit 9-DOF Sensor L3GD20H & LSM303
  • 2 X Xbee Series 2
  • 5 X 6V Motor with 48CPR encoder (171:1 Gear Ratio)
  • 4 X Dagu All-Terrain Wheels
  • 2-Channel Relay Module
  • Micro Servo Motor
  • Limit Switches
  • 6V 10Ah NiMH Rechargeable Battery
  • Ultrasonic Sensors
  • 10mm White/Red LEDs
  • Resistors/Capacitors
  • Line Drivers/Receivers

Hardware:

  • Aluminium 6061 Frame
  • Acrylic Sheet
  • Thermoformed Middle Bucket (HIPs)
  • Nuts, Bolts, Screws
  • Electronic Standoffs
  • Fishing Line

The GUI created on VPython will be used to communicate and control the robot in manual or autonomous mode. The robot can be manoeuvred using the control buttons - 'Forward', 'Rotate Left', 'Rotate Right', 'Reverse' and 'Stop'. Speed and angle of turning rotation can be controlled via the slider bar. Shovel position can also be controlled, the buttons will receive real time feedback from the robot, disabling button and re-enabling them whenever valid.

In autonomous mode, the robot can be taught a sequence of real time movements, inclusive of changing in speed and interruption of turning angles. The movements can be played back in the exact sequence via 'Robot Autorun' button. 'Robot Back Track' homes the robot back to its initial position. 

A connection status at the bottom right corner of the middle panel will show the robot's connection to the software. If the robot is out of the connection range, the appropriate message will be displayed, or it will read 'Robot Connected'. 

The above is the general outline/flow chart of the robot code. All 6 parallel systems/functions are called upon at different sampling rates. The speed and rotation correction are both proportional control systems.

Future/WIP Plans:

  • Incorporating full PID control
  • Battery Monitoring System
  • Re-built the chassis for water/snow-proofing
  • Better weight distribution (currently too heavy on the rear)
  • Possibly a hybrid robot
  • Incorporate/Remove Salt Dispenser
  • Get a video up and running to showcase this project

 

Wireless Controlled, Autonomous Snow Plow Robot


This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/snowbot-1

Wow I need one of those for where I live.

Dear: Amoswong

Nice robot. In new england where I live the weather is very dramatic. Either it is incredibley cold or hot. Never inbetween. I wish I could have one but only for when it is cold. Good Luck!!!

From: Noah

Im in Vancouver, BC… 4-6

Im in Vancouver, BC… 4-6 days of light snow a year… I did project for fun. Right now its in the prototype phase and it wouldnt work when exposed to snow/wet weather. Power deration has yet to be taken into account. Most of my testing has been done in 5-10 deg weather of late. 

Well Cool!!!

Dear: Amoswong

Cool. I don’t know why you would build the robot if you only get light snow 4-6 days of the year but cool. Good Luck!!!

From: Noah