Transcript
Page 1: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots withthe BeagleBoard

Nathan MonsonNovember 19, 2008HomeBrew Robotics Club

Page 2: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Beagle Bot Demos

Tony Pratkanis, Cataglyphis Bicolor

Ralph Gnauck, Ralph's Roomba Bot

Nathan Monson, Snappy

Page 3: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Tony Pratkanis – Cataglyphis Bicolor

Page 4: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Ralph Gnauck – Ralph's Roomba Bot

Page 5: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Nathan Monson – Snappy

Page 6: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

AgendaOverview of the BeagleBoard

HardwareSoftwareCommunity

Why Beagle Bots?CommunityEase of developmentPeripheral supportCode reusePerformance/watt

Adding Beagle to your BotExisting robotsNew robotsGotchas

Resources and Conclusion

Page 7: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Overview – What is a BeagleBoard?

PC-like computer in 3”x3”BYO USB Peripherals

TI OMAP 3 evaluation kit

Under 2 watts

Just $149!

Page 8: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

OMAP3530 Processor 600MHz Cortex-A8

● NEON+VFPv3● 16KB/16KB L1$● 256KB L2$

430MHz C64x+ DSP● 32K/32K L1$● 48K L1D● 32K L2

PowerVR SGX GPU 64K on-chip RAM

POP Memory 128MB LPDDR RAM 256MB NAND flash USB Powered

2W maximum consumption● OMAP is small % of that

Many adapter options● Car, wall, battery, solar, …

Peripheral I/O HDMI/DVI-D video SDIO/MMC+ S-Video out USB 2.0 HS OTG I2C, I2S, SPI

Note: 1.8v ONLY JTAG Stereo in/out Alternate power RS-232 serial

3”

Overview – Hardware Specs

$149

Page 9: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Peripheral I/O HDMI/DVI-D video SDIO/MMC+ S-Video out USB 2.0 HS OTG I2C, I2S, SPI

Note: 1.8v ONLY JTAG Stereo in/out Alternate power RS-232 serial

3”

Other Features 4 LEDs

● USR0● USR1● PMU_STAT● PWR

2 buttons● USER● RESET● 4 boot sources● SD/MMC● NAND flash● USB● Serial

Overview – Hardware Specs

Page 10: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Overview – Desktop PC Software

Stereo inSD

Power

DVI-D

USB HOST

Stereo out

AngstromCommunity supported

Windows EmbeddedSupported by your $$$

Google AndroidNokia MaemoUbuntu

Power

OS

DVI-D

USB HOSTUSB HOSTUSB HOSTUSB HOST

USB Hub

Page 11: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Overview – Embedded Software

Power + Net

USB DEVICE

Optional

RS232

Angstrom“Minimal” or Gadget imageLinux OMAP RT

OpenWRT

Debian

Bare Metal via U-Boot

Page 12: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

> 1000 participants and growing

Open access to hardware

documentation

Wikis, blogs, IRC, forums,

community staff

Freesoftware

Freedom to innovate

Personally affordable

Active & technical

community

Opportunity to tinker and

learn

Instant access to >10 million lines

of code

Addressing open source community

needs

Overview – BeagleBoard Community

Page 13: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Why Build a Beagle Bot?

Community

Ease of development

Peripheral support

Code reuse

Performance/watt

Page 14: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Beagle Community – Linux + Robots

Linux robots are everywhereMost Linux users shareEasy to find help in forums, wikis, books

Page 15: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Commercial Community – OMAP3

Hundreds of devices will use OMAP3Shrinking price

Growing commercial community

Tons of dev tools

Page 16: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Beagle Community – OMAP3 Devices

PandoraArchos 5Google PhonesNokia Maemo-5

Page 17: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Beagle Community – OMAP3 Boards

Gumstix OveroOpenPandoraMagniel IncMany more...

Page 18: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Why Build a Beagle Bot?

Community

Ease of development

Peripheral support

Code reuse

Performance/watt

Page 19: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Ease of Development – HLLs

Natively run full development toolsGCC/GDBPythonJava/Eclipse...hundreds more...

Run complete robot SDKsPyroPlayer/Stage

BeagleBoard is “unbrickable”At least at 5V...

Page 20: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Ease of Development – Debugging

Realtime remote debug via WiFi

Video output for vision debugging

Log 8KB data at 1KHz for 1 hourOr uncompressed 640x480 at 25FPS

Or every run your robot ever made...

Page 21: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Ease of Development

Dale Wheat's “3pi” is a BeagleBotLog data from runs

Wirelessly debug between runs

Page 22: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Why Build a Beagle Bot?

Community

Ease of development

Peripheral support

Code reuse

Performance/watt

Page 23: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Peripheral Support – USB

USB peripherals are:Cheap

Everywhere

Low power

Noise resistant

Often better than kits or modules

BeagleBoard loves USBUp to 16 devices at 480Mbps

Thousands of drivers

Page 24: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Peripheral Support – Interface Modules

USB-enabled interface modulesHigh voltage/power I/O

Servo, DC, stepper motor

(Optional) Local processing

Many under <$100

Page 25: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Why Build a Beagle Bot?

Community

Ease of development

Peripheral support

Code reuse

Performance/watt

Page 26: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Code Reuse – Open Source Robotics

Linux-based open source covers:SLAM

Simulation

Kinematics

Path Finding

Teleoperation

Sensor Fusion

Visual Servoing

Laser Scanning

Computer Vision

Speech Synthesis

Machine Learning

Object Recognition

Speech Recognition

Stereo Correspondence

Page 27: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Code Reuse – ROS Project

Willow Garage is creating the Robot Operating SystemLinux-based “distro” of best OSS

Code cleaned up and wrapped to common API

Tested on real robots

Tony might be the first to use ROS on his BeagleBot

Page 28: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Code Reuse – My Favorites

Kinematics and Dynamics LibraryProvide config file and XYZ – get joint positions

OpenCVCalibrate cameras, track blobs, recognize objects and faces

Surveyor Stereo Vision SystemHigh speed 3D stereo correspondence

Player/StageFramework formobile robots

EmbedCVFast, targets ARM

Easy to understand

Page 29: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Code Reuse – Telepresence via Skype

Marque Cornblatt's SparkyUses Skype via WiFi

Page 30: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Why Build a Beagle Bot?

Community

Ease of development

Peripheral support

Code reuse

Performance/watt

Page 31: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Performance/Watt – Comparison

Board Single FP 16-bit Int Peak Idle Watt/GF

Blackfin N/A 1 GMACs 1.4W 1.4W N/A

BeagleBoard 2.4 GFlops 2.4 GMACs 2W 1W 0.83

Atom/N8044 2.2 GFlops 2.2 GMACs 10W 5W 4.54

Core 2 Duo 38.4 GFlops 38.4 GMACs 55W 30W 1.43

Page 32: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Performance/Watt – With DSP

Board Single FP 16-bit Int Peak Idle Watt/GF

Blackfin N/A 1 GMACs 1.4W 1.4W N/A

BeagleBoard 2.4 GFlops 5.84 GMACs 2W 1W 0.83

Atom/N8044 2.2 GFlops 2.2 GMACs 10W 5W 4.54

Core 2 Duo 38.4 GFlops 38.4 GMACs 55W 30W 1.43

DSP adds “bonus” 3.44 GMACs

(6.88 GMACs 8-bit)

Page 33: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Peak Performance Example

ARM®

Cortex™-A8

CPU

L3/L4 Interconnect

C64x+™ DSP and video accelerators (3525/3530 only)

Peripherals

Program/Data Storage

System

I2Cx3

Serial Interfaces

Display Subsystem

Connectivity

MMC/SD/SDIO x3

USB Host Controller

x2

USB 2.0 HSOTG

Controller

GPMC

SDRCUART

x2

UARTw/IRDA

MBSPx5

MSPIx4

TimersGP x12WDT x2

Image Pipe

Parallel I/F

Camera I/F2D/3DGraphics

(3515/3530 only)

HDQ /1-wire

OMAP35x Processor

10 bit DACVideoEnc10 bit DAC

LCDCont-roller

Vision ProcessingUSB Cameras

Up to 2x800x600x25

DSP 8-bit 6.88GMAC/s

ARM FPU 2.4GigaFlops

No wasted bandwidth

DSP programmed in CTI compiler is free*

OMAP3 is VERY fast

Some CMUcam enthusiasts already on BeagleBoard

Page 34: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Adding Beagle to Your Bot

Existing Robots

New Robots

Gotchas

Page 35: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Adding Beagle to an Existing Robot

Power input must be 4.75V-5.25V (ideally 5.0V)

USB hub must have a power cable, can't use USB cable

Requires 400mA for board plus up to 500mA per USB deviceCameras use around 150mA, wifi can use up to 300mA

Consider a Battery Elimination Circuit for model airplanesTypical BECs deliver 5.0V at 3-5A with input from 5.5V-25V for $25

Output supply is well-isolated from motors

Page 36: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Existing Robots via TTL UART

FTDI USB to TTL UARTAutomatically appears as /dev/ttyUSB0

RS232 Level ShifterUse Beagle's RS232 port

Page 37: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Existing Roombas via USB

RooStickAutomatically appears as /dev/ttyUSB0

Roomba SCI libraries work with BeagleBoard

Page 38: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Adding Beagle to Your Bot

Existing Robots

New Robots

Gotchas

Page 39: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Make Controller-Based BeagleBot

Make Controller is $1094 2A DC motors, 4 servos, 8 ADC

Speaks OSC over USB

OSC ported to most languages

Robot-friendly community

Runs custom firmware

Page 40: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Arduino-based BeagleBot

Arduino is widely available for <$40Expandable via daughterboards

Speaks MIDI over USB

MIDI support in all languages

Very large community

Runs custom firmware

Page 41: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

BeagleBoard Hacking

GPIO on 28-pin header includes:UARTs, I2C, I2S, SPI, MMC/SDIO, GPIO

All pins are 1.8V – level converters required for 3.3V/5V

All features except I2S work in user mode (no drivers required)

Daughterboards in the worksGPIO level conversion

ATmega GPIO/servo board

Dave?

None available yet...

2 LEDs available for status

Page 42: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Advanced OMAP3 Hacking – ZynBot

Gumstix Overo

Page 43: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Gumstix Overo Pros and Cons

Requires expansion module +$60Half BB size -- 3.1”x1.5”

A “Bioloid” robot module is coming

Different features256MB DRAM (BB has 128MB)

WiFi and Bluetooth on stick

MicroSD (no SDIO)

Lacks S-Video, RS232

Different OMAP3No DSP

No 3D graphics

Page 44: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Adding Beagle to Your Bot

Existing Robots

New Robots

Gotchas

Page 45: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

BeagleBoard Gotchas

Order the right stuffCorrect serial cable

“Powered” hub

USB mini-A host cable

Use the right kernelAnything older than 2.6.27 has buggy USB

Some kernels lack comprehensive device support

Be careful with power supply!Use USB power or precision regulator

Page 46: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Should I wait for Rev C?

“Rev C” Beagle is coming February 2009Adds another USB host portAdds tiny LCD controller padsUses ES3.0 OMAP3 – minor bug fixesMight offer 256MB DRAM version (+$25)Otherwise identical – mounting is the same

Page 47: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

References

Your main source – purchase, research, Q&A

HBRC Wiki – edit as you learn

http://www.hbrobotics.org/wiki/index.php5/Beagle_Board

Trossen Robotics – buy parts, join community

http://www.trossenrobotics.com/

Makezine – inspiration and controllers

http://makezine.com/controller/

Page 48: Building Robots with the Beagleboard -- HBRC Nov 19, 2008

Building Robots with the BeagleBoard Nathan Monson

Thank you!

Send your questions/ideas to the list:

http://www.wildrice.com/HBRobotics/Subscribe.html

Can't wait to see more Beagle Bots!


Recommended