The Garden-Gnome-Robot is an outdoor rover. It makes use of waypoints for navigation. GPS, IMU, and a Kalman Filter for localization.
Components- Raspberry Pi
- Arduino UNO
- IMU
- H-bridge
- 12v Battery
- 2 motors
- GPS breakout
- 2 ultrasonic sensors
The Raspberry Pi is the brain of the robot. It calculates the path that the robot must follow and all other complex logic.
Arduino UNOThe Arduino UNO is the IO shield. It controls all high voltage components (motors). It read the analog sensors a passes all the data over I²C to the Raspberry Pi.
IMUThe IMU is based on the BNO055 chip and is used for the heading and relative location of the robot. It communicates over I²C to the Raspberry Pi.
H-bridgeThe H-bridge controls the 2 motors. The Arduino passes the command of the Raspberry Pi to the H-bridge.
12v lithium-ion batteryThe 12-volt battery provides 4h of power to the robot at maximum load.
GPS breakoutThe GPS module provides an absolute location. GPS suffers a lot of multipathing. A good position fix requires a velocity. In other words, static objects get a bad position fix.
Ultrasonic sensorThe ultrasonic sensors are mounted at the front of the robot. They provide object detection in front of the robot. The Arduino reads the output and passes it onto the Raspberry Pi.
Part 1: ChassisThe robot is based on the TS100 chassis. A track chassis provides better traction on uneven terrain.
Sensor, controller, and motor wiring:
Power supply PCB:
Schematic:
The software on The raspberry pi is written in Python.
The software on the Arduino in Arduino c.
Part 4: Kalman FilterThe Kalman Filter is used in the IGNS.py for localization. I explain the inner workings of the Kalman Filter in this write-up.
Images
Comments