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