Skip to content

Navigation system for delivery robots using LEGO mindsorms sensors

Notifications You must be signed in to change notification settings

MinhVo2005/DPM_navigation_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

DPM Software navigation system

Software navigation system design for delivery robots using LEGO mindstorm sensors and brickpi3 as the core hardware of the robot. The system should be able to follow a track, be able to navigate the map and decide whether to enter or not. It also requires to decide whether to drop the package, and it should play a sound when after a successful delivery and when it returns to the mail room.

Technologies

  • Python (version 3.9)
  • Bash

Features

Here are the core feature of the system:

  • Color Detection:

    • Detect the important color: Red, Green, Orange, Yellow, Blue, White, Black
    • K-Nearest Neighbor (KNN)
    • K = 5 with 100 samples per color
    • Color sensor mounted on a rotationall arm to cover more blind spot
  • Drive Control:

    • Different operation for moving straight, execute, turn, rotation on spot
    • Multi-thread to let the robot moves independently from color detection
    • Self adjust using gyro sensor
  • Dropping Mechanism:

    • Spin the conveyor belt to drop one package at a time
    • Play sounds when delivery is dropped and when return to mail room
  • Navigation:

    • Track for turning point when detect a black line
    • Check for permission to enter the room
    • Navigate room for drop location
    • Exit room
    • Return to mail room when finish all delivery
    • Additional feature:
      • Self adjust after every turn detect
      • Black line turn detection when exit the room

Flow Chart:

image

Setup Guide

  • Move the sensor arm all the way to the left
  • Set the robot at bottom left corner with the two pin touching the back wall
  • On the brickpi, make sure to have install python 3.9
  • From the root folder, run the following script:
    cd project
    ./main
    
  • Press any button when the robot finishes the calibration

Testing Guide

  • A few component and subsystem tests are available in minh_test.py
  • To change test, change the function that is called in minh_test.py
  • From the root folder, run the following script:
    cd project
    ./test.sh
    

Demonstration:

About

Navigation system for delivery robots using LEGO mindsorms sensors

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published