Upload
akozy
View
224
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/