Beagle Bot

  • Upload
    akozy

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

  • 7/30/2019 Beagle Bot

    1/22

    Beaglebot

    Mobile Image Processing Platform

    Robot Platform

    Arduino

    Obstacle Avoidance

    Beagleboard

    OpenCV: Image Processing

    Ball Detection

  • 7/30/2019 Beagle Bot

    2/22

    Robot Platform

    There are two levels of processing on the Robot.

    Lower level sensor reading and motor control doneby Arduino Microcontroller.

    Higher level Image processing on Beagleboard (ARMSOC).

    Detection of obstacles using sonar sensors.

    Perception of surroundings using Computer Vision.

  • 7/30/2019 Beagle Bot

    3/22

    Robot Platform

    Movement provided by DC Motors controlled bymotor driver

    Robot has a Differential drive system

    Semi circular array of Maxbotix sonars Used for Obstacle Avoidance

  • 7/30/2019 Beagle Bot

    4/22

    Robot Platform

    Multiple levels in Robot

    lower level for Microcontroller

    Higher level for Microprocessor

    and Camera

  • 7/30/2019 Beagle Bot

    5/22

    Arduino Platform

    Open-source Microcontroller platform

    Designed upon Atmega Microcontroller Series

    Entire Software and Hardware Package

    Onboard GPIO and PWM pins

    Capable of running DC Motors and Servo Motors Onboard ADC capable of reading sensor readings

    Used for lower level functioning of Robot

  • 7/30/2019 Beagle Bot

    6/22

    Arduino Mega 2560

    Operating Voltage 5V

    Digital I/O Pins 54 (of which 14 provide PWM output)

    Analog Input Pins 16

    Flash Memory256 KB of which 8 KB used bybootloader

    Clock Speed 16 MHz

  • 7/30/2019 Beagle Bot

    7/22

    Arduino Platform

    Robot can detect obstacles by reading signals fromsonars

    Depending on location of Obstacles, the Arduino

    takes its decisions and avoids them

  • 7/30/2019 Beagle Bot

    8/22

    Obstacle Avoidance

    Arduino collects analog voltage from each sonar

    Computes the distance of Obstacle

    Disturbance in sonar readings when robot is in

    motion Averaging of over 50 readings to eliminate noise

    This way Robot can detect obstacles atleast 90% ofthe cases

  • 7/30/2019 Beagle Bot

    9/22

    Obstacle Avoidance

    The Present Algorithm is not memory based

    Computes least value of all sonars and checksthreshold

    On Obstacle Detection, computes largest sonarreading

    Rotates in that direction and leaves

    If all sonar readings are less, rotates back and leaves

  • 7/30/2019 Beagle Bot

    10/22

    Obstacle Avoidance

    Sample of Obstacle Avoidance Code

    In this the Robot enters a circle of Obstacles andthen leaves it successfully

    Run Video obstacle.avi

  • 7/30/2019 Beagle Bot

    11/22

    Beagleboard

    Beagleboard is an ARM based System on Chip

    Texas Instruments OMAP3 Processor

    700 MHz Processing Speed

    Support for DVI-D Display, Audio Ports, USB Hub Support for Ethernet and Internet Connectivity

    Functionality of a full-fledged Desktop

    Onboard GPIOs and 16-bit PWM pins Can also be used in controlling Motors and Sensors

  • 7/30/2019 Beagle Bot

    12/22

    Beagleboard

    http://www.beagleboard.org/

  • 7/30/2019 Beagle Bot

    13/22

    Linux on Beagleboard

    Boots Linux from SD Card

    Beagleboard widely supported platform

    Pre-built binaries for many popular Linux

    OS(Debian, Ubuntu, Fedora) These Binaries actually meant for Netbooks

    Too power hungry for Beagleboard

    Better to build own kernel with light weight packages

  • 7/30/2019 Beagle Bot

    14/22

    Linux on Beagleboard

    Rootstock is a program which builds custom UbuntuDistribution

    Meant for ARM based development boards

    Program downloads the kernel and necessarypackages

    Compiles the kernel on a host system using cross-compiler

    It generates a compressed filesystem which is loadedonto SD Card

  • 7/30/2019 Beagle Bot

    15/22

    Linux on Beagleboard

    Firstly rootstock needs to be installed in the hostsystem,

    sudo apt-get install rootstock

    Then the following command needs to be run,sudo rootstock--fqd n om a p --login ubuntu --passw ord

    temppwd--im a g es ize 4 G --seed w get,nano,linux-firm w are,w ireless-

    tools,usbutils,xfce4,gdm,xubuntu-gdm-theme,xubuntu-

    artwork,xserver-xorg-video-omap3,btrfs-tools,devmem2,i2c-

    tools,nano,pastebinit,wpasupplicant--d is t m a v erick --serial tty O2 --com ponents "m ain universe m ultiverse"--k er n el-im a ge

    h t t p :/ / r c n -e e .n e t / d e b / m a v e r i ck / v 2 . 6 .3 8 . 4 -x 3 / li n u x -i m a g e -

    2.6 .38 .4-x3_ 1.0 m a v er ick _ a r m el .de b

  • 7/30/2019 Beagle Bot

    16/22

    Linux on Beagleboard

    In the previous command Firstly type of board is specified as OMAP3

    Then the imagesize is specified to be 4GB

    Then all the packages to be installed along with basicfilesystem is given

    Finally the link to beagleboard specific kernel is given

    The SD Card on Beagleboard has 2 partitions

    First partition has initialization scripts Second partition has filesystem

  • 7/30/2019 Beagle Bot

    17/22

    Programming Environment

    Robot can work as a Desktop

    for development

    Access through Serial Port

    Robot can also be logged onRemotely using ssh

  • 7/30/2019 Beagle Bot

    18/22

    OpenCV: Image Processing Library

    The Robot can better perceive its environment usingComputer Vision

    OpenCV: Image Processing Library

    Open-source package with a lot of support andDocumentation

    The Robot can interact with humans and otherrobots using OpenCV

  • 7/30/2019 Beagle Bot

    19/22

    OpenCV

    Image Processing Applications done on Robot

    Canny Edge Detection done on the Robot

    OpenCV Library also has Video Processing

    extensions Algorithms being developed for detection of other

    Robots in the Environment

  • 7/30/2019 Beagle Bot

    20/22

    Ball Detection

    The Robot has a ball mounted on top

    Ball has multiple leds in it

    Depending on the state of Robot, the ball will glow a

    color The aim of other Robots is to successively locate all

    balls in Environment and to identify the master

    Present algorithm uses the cam-shift algorithm

  • 7/30/2019 Beagle Bot

    21/22

    Ball Detection

    The video for ball detection

    In this the ball is being successfully detected in thedark

    On switching on the Light, there some decrease inAccuracy

    Run Video ball.avi

    Better algorithms currently being developed

  • 7/30/2019 Beagle Bot

    22/22

    Resources

    Detailed explanation about setting up hardware

    Circuit Schematics, Support for Beagleboard

    Example Arduino codes and OpenCV Codes

    All material uploaded online http://www.themachine.in/

    http://www.themachine.in/http://www.themachine.in/