building robots with the beagleboard -- hbrc nov 19, 2008

48
Building Robots with the BeagleBoard Nathan Monson November 19, 2008 HomeBrew Robotics Club

Upload: guestd1b4688

Post on 26-Aug-2014

7.408 views

Category:

Technology


11 download

DESCRIPTION

Nathan Monson introduces the BeagleBoard, focusing on the hardware and software features that make it popular among robot hobbyists. This talk was given at the Homebrew Robotics Club in Silicon Valley on Nov 19 2008.

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!