BAG Buddy
mobile platform

Designed and built a mobile robotic platform capable of automatically following a user while carrying packages
by tracking a visual target using a Pixy2 camera.

Overview

The system enables the robot to:

  • Track a color target
  • Stop when detecting obstacles
  • Allow control via Joystickers

Color Tracking

  • Integrated and programmed the Pixy2 camera for color detection and object tracking
  • Implemented color and line tracking algorithms on an STM32 microcontroller

line
Line Tracking

Recognize a vector

color
Color Tracking

Predefined Color Signature

bagbuddy

Safety Precaution

Implemented distance sensor-based obstacle avoidance for safe navigation during autonomous operation

Dual Operating Modes

The mobile robotic platform developed two operating modes:

Autonomous mode:
  • Robot detects and follows a predefined color target while avoiding obstacles
Manual mode:
  • User controls robot movement via joystick interface

component diagram

communication protocols

SPI (Serial Peripheral Interface):
  • ToF Sensors: High-speed, continuous distance measurements require fast data transfer
  • Benefits: Fast, synchronous, low latency – ideal for sensors requiring frequent polling
I2C (Inter-Integrated Circuit):
  • Weight Sensor: Lower data rate acceptable; weight changes slowly
  • Benefits: Only 2 wires (SCL, SDA), multiple devices on same bus, sufficient speed for slow-changing data, saves GPIO pins
UART (Universal Asynchronous Receiver-Transmitter):
  • Wireless STM32: Asynchronous serial communication between two microcontrollers
  • Wireless communication with remote device (Joystick/Bluetooth): Standard protocol for wireless modules
  • Benefits: Simple point-to-point communication, asynchronous (no shared clock needed), widely supported by wireless modules
gui

PS2 + Robot Telemetry GUI

Technical Highlights
 
  • Real‑time communication – serial reader runs in a separate thread, emitting signals to update the UI without blocking.
  • Configurable – baud rate and serial port can be set via command line arguments.

 

EXPO DEMO
Visitors Enjoyed our project !

Autonomous mode color tracking

Stop when getting close

Manual mode control