Project in progress
Outdoor Rover

Outdoor Rover © GPL3+

An outdoor rover that patrols your garden.

  • 2,514 views
  • 1 comment
  • 5 respects

Components and supplies

Necessary tools and machines

3drag
3D Printer (generic)
09507 01
Soldering iron (generic)
Lasercutter
Laser cutter (generic)

About this project

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

Raspberry Pi

The Raspberry Pi is the brain of the robot. It calculates the path that the robot must follow and all other complex logic.

Arduino UNO

The 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.

IMU

The 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-bridge

The H-bridge controls the 2 motors. The Arduino passes the command of the Raspberry Pi to the H-bridge.

12v lithium-ion battery

The 12-volt battery provides 4h of power to the robot at maximum load.

GPS breakout

The 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 sensor

The 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: Chassis

The robot is based on the TS100 chassis. A track chassis provides better traction on uneven terrain.

Part 2: Electronics

Sensor, controller, and motor wiring:

Power supply PCB:

Schematic:

Part 3: Software

The software on The raspberry pi is written in Python.

PYTHON CODE

The software on the Arduino in Arduino c.

ARDUINO CODE

Part 4: Kalman Filter

The Kalman Filter is used in the IGNS.py for localization. I explain the inner workings of the Kalman Filter in this write-up.

Images

Code

Schematics

Main circut diagram
main_circut_diagram_LFl07xSRBe.fzz

Comments

Similar projects you might like

RC Rover Controlled by Gest

Project showcase by Salim Khazem

  • 4,103 views
  • 3 comments
  • 17 respects

'Roger Bot' the Pet Rover

Project showcase by hannu_hell

  • 4,934 views
  • 0 comments
  • 15 respects

Rover with PWM

Project tutorial by Super Kid

  • 4,832 views
  • 0 comments
  • 4 respects

Probability | Autonomous Rover

Project in progress by Cole Purtzer

  • 30,573 views
  • 22 comments
  • 111 respects

Survey Rover

Project tutorial by 4D Makers

  • 3,033 views
  • 3 comments
  • 5 respects

Voice Controlled Rover

Project tutorial by Team Brink.IO

  • 3,368 views
  • 1 comment
  • 16 respects
Add projectSign up / Login