0
Building Robots with
the BeagleBoard



Nathan Monson
November 19, 2008
HomeBrew Robotics Club
Beagle Bot Demos
       Tony Pratkanis, Cataglyphis Bicolor
       Ralph Gnauck, Ralph's Roomba Bot
       Nathan Monson, ...
Tony Pratkanis – Cataglyphis Bicolor




Building Robots with the BeagleBoard      Nathan Monson
Ralph Gnauck – Ralph's Roomba Bot




Building Robots with the BeagleBoard   Nathan Monson
Nathan Monson – Snappy




Building Robots with the BeagleBoard   Nathan Monson
Agenda
          Overview of the BeagleBoard
               Hardware
               Software
               Community

   ...
Overview – What is a BeagleBoard?

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

          TI OMAP ...
Overview – Hardware Specs

    OMAP3530 Processor
     600MHz Cortex-A8
                                       $149      ...
Overview – Hardware Specs

    Other Features
     4 LEDs
                                       3”
      ●
        USR0 ...
Overview – Desktop PC Software
       Angstrom
            Community supported

       Windows Embedded
            Suppor...
Overview – Embedded Software
       Angstrom
            “Minimal” or Gadget image
            Linux OMAP RT

       OpenW...
Overview – BeagleBoard Community
                                         Wikis, blogs,
                          Personal...
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code r...
Beagle Community – Linux + Robots
          Linux robots are everywhere
               Most Linux users share
            ...
Commercial Community – OMAP3
          Hundreds of devices will use OMAP3
               Shrinking price
               Gr...
Beagle Community – OMAP3 Devices
          Pandora
          Archos 5
          Google Phones
          Nokia Maemo-5




...
Beagle Community – OMAP3 Boards
       Gumstix Overo
       OpenPandora
       Magniel Inc
       Many more...




Buildin...
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code r...
Ease of Development – HLLs
          Natively run full development tools
            GCC/GDB
            Python
          ...
Ease of Development – Debugging
          Realtime remote debug via WiFi

          Video output for vision debugging

   ...
Ease of Development
          Dale Wheat's “3pi” is a BeagleBot
               Log data from runs
               Wirelessl...
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code r...
Peripheral Support – USB
          USB peripherals are:
               Cheap
               Everywhere
               Low ...
Peripheral Support – Interface Modules

          USB-enabled interface modules
               High voltage/power I/O
    ...
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code r...
Code Reuse – Open Source Robotics
          Linux-based open source covers:
               SLAM
               Simulation
...
Code Reuse – ROS Project
          Willow Garage is creating the Robot Operating System
               Linux-based “distro...
Code Reuse – My Favorites
          Kinematics and Dynamics Library
               Provide config file and XYZ – get joint...
Code Reuse – Telepresence via Skype


          Marque Cornblatt's Sparky
               Uses Skype via WiFi




Building ...
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code r...
Performance/Watt – Comparison

     Board                   Single FP     16-bit Int   Peak   Idle   Watt/GF
     Blackfin...
Performance/Watt – With DSP

     Board                   Single FP     16-bit Int   Peak   Idle   Watt/GF
     Blackfin  ...
Peak Performance Example
                                       OMAP35x Processor
          Vision Processing             ...
Adding Beagle to Your Bot
          Existing Robots

          New Robots

          Gotchas




Building Robots with the ...
Adding Beagle to an Existing Robot
       Power input must be 4.75V-5.25V (ideally 5.0V)
       USB hub must have a power ...
Existing Robots via TTL UART
          FTDI USB to TTL UART
               Automatically appears as /dev/ttyUSB0




     ...
Existing Roombas via USB
          RooStick
               Automatically appears as /dev/ttyUSB0
               Roomba SCI...
Adding Beagle to Your Bot
          Existing Robots

          New Robots

          Gotchas




Building Robots with the ...
Make Controller-Based BeagleBot
          Make Controller is $109
               4 2A DC motors, 4 servos, 8 ADC
         ...
Arduino-based BeagleBot
          Arduino is widely available for <$40
               Expandable via daughterboards
      ...
BeagleBoard Hacking
       GPIO on 28-pin header includes:
            UARTs, I2C, I2S, SPI, MMC/SDIO, GPIO
            Al...
Advanced OMAP3 Hacking – ZynBot
                                       Gumstix Overo




Building Robots with the BeagleBo...
Gumstix Overo Pros and Cons
       Requires expansion module +$60
            Half BB size -- 3.1”x1.5”
            A “Bio...
Adding Beagle to Your Bot
          Existing Robots

          New Robots

          Gotchas




Building Robots with the ...
BeagleBoard Gotchas
        Order the right stuff
             Correct serial cable
             “Powered” hub
           ...
Should I wait for Rev C?
        “Rev C” Beagle is coming February 2009
          Adds another USB host port
          Add...
References
        Your main source – purchase, research, Q&A



        HBRC Wiki – edit as you learn
        http://www....
Thank you!

        Send your questions/ideas to the list:
                http://www.wildrice.com/HBRobotics/Subscribe.ht...
Upcoming SlideShare
Loading in...5
×

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

7,139

Published on

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.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,139
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
195
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Building Robots with the Beagleboard -- HBRC Nov 19, 2008"

  1. 1. Building Robots with the BeagleBoard Nathan Monson November 19, 2008 HomeBrew Robotics Club
  2. 2. Beagle Bot Demos Tony Pratkanis, Cataglyphis Bicolor Ralph Gnauck, Ralph's Roomba Bot Nathan Monson, Snappy Building Robots with the BeagleBoard Nathan Monson
  3. 3. Tony Pratkanis – Cataglyphis Bicolor Building Robots with the BeagleBoard Nathan Monson
  4. 4. Ralph Gnauck – Ralph's Roomba Bot Building Robots with the BeagleBoard Nathan Monson
  5. 5. Nathan Monson – Snappy Building Robots with the BeagleBoard Nathan Monson
  6. 6. Agenda Overview of the BeagleBoard Hardware Software Community Why Beagle Bots? Community Ease of development Peripheral support Code reuse Performance/watt Adding Beagle to your Bot Existing robots New robots Gotchas Resources and Conclusion Building Robots with the BeagleBoard Nathan Monson
  7. 7. Overview – What is a BeagleBoard? PC-like computer in 3”x3” BYO USB Peripherals TI OMAP 3 evaluation kit Under 2 watts Just $149! Building Robots with the BeagleBoard Nathan Monson
  8. 8. Overview – Hardware Specs OMAP3530 Processor  600MHz Cortex-A8 $149 Peripheral I/O  HDMI/DVI-D video ● NEON+VFPv3 3” ● 16KB/16KB L1$  SDIO/MMC+ ● 256KB L2$  S-Video out  430MHz C64x+ DSP  USB 2.0 HS OTG ● 32K/32K L1$  I2C, I2S, SPI ● 48K L1D Note: 1.8v ONLY ● 32K L2  JTAG  PowerVR SGX GPU  Stereo in/out  64K on-chip RAM  Alternate power POP Memory  RS-232 serial  128MB LPDDR RAM  256MB NAND flash USB Powered  2W maximum consumption ● OMAP is small % of that  Many adapter options ● Car, wall, battery, solar, … Building Robots with the BeagleBoard Nathan Monson
  9. 9. Overview – Hardware Specs Other Features  4 LEDs 3” ● USR0 Peripheral I/O ● USR1  HDMI/DVI-D video ● PMU_STAT  SDIO/MMC+ ● PWR  2 buttons  S-Video out ● USER  USB 2.0 HS OTG ● RESET  I2C, I2S, SPI ● 4 boot sources Note: 1.8v ONLY ● SD/MMC  JTAG ● NAND flash  Stereo in/out ● USB  Alternate power ● Serial  RS-232 serial Building Robots with the BeagleBoard Nathan Monson
  10. 10. Overview – Desktop PC Software Angstrom Community supported Windows Embedded Supported by your $$$ Google Android Nokia Maemo Ubuntu DVI-D USB Hub Power Stereo out SD Stereo in OS USB HOST Building Robots with the BeagleBoard Nathan Monson
  11. 11. Overview – Embedded Software Angstrom “Minimal” or Gadget image Linux OMAP RT OpenWRT Debian Bare Metal via U-Boot Power + Net USB DEVICE Optional RS232 Building Robots with the BeagleBoard Nathan Monson
  12. 12. Overview – BeagleBoard Community Wikis, blogs, Personally IRC, forums, > 1000 participants affordable community staff and growing Active & technical Freedom to community innovate Addressing Open access to open source Instant access to hardware community >10 million lines of code documentation needs Opportunity Free to tinker and software learn
  13. 13. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  14. 14. Beagle Community – Linux + Robots Linux robots are everywhere Most Linux users share Easy to find help in forums, wikis, books Building Robots with the BeagleBoard Nathan Monson
  15. 15. Commercial Community – OMAP3 Hundreds of devices will use OMAP3 Shrinking price Growing commercial community Tons of dev tools Building Robots with the BeagleBoard Nathan Monson
  16. 16. Beagle Community – OMAP3 Devices Pandora Archos 5 Google Phones Nokia Maemo-5 Building Robots with the BeagleBoard Nathan Monson
  17. 17. Beagle Community – OMAP3 Boards Gumstix Overo OpenPandora Magniel Inc Many more... Building Robots with the BeagleBoard Nathan Monson
  18. 18. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  19. 19. Ease of Development – HLLs Natively run full development tools GCC/GDB Python Java/Eclipse ...hundreds more... Run complete robot SDKs Pyro Player/Stage BeagleBoard is “unbrickable” At least at 5V... Building Robots with the BeagleBoard Nathan Monson
  20. 20. Ease of Development – Debugging Realtime remote debug via WiFi Video output for vision debugging Log 8KB data at 1KHz for 1 hour Or uncompressed 640x480 at 25FPS Or every run your robot ever made... Building Robots with the BeagleBoard Nathan Monson
  21. 21. Ease of Development Dale Wheat's “3pi” is a BeagleBot Log data from runs Wirelessly debug between runs Building Robots with the BeagleBoard Nathan Monson
  22. 22. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  23. 23. Peripheral Support – USB USB peripherals are: Cheap Everywhere Low power Noise resistant Often better than kits or modules BeagleBoard loves USB Up to 16 devices at 480Mbps Thousands of drivers Building Robots with the BeagleBoard Nathan Monson
  24. 24. Peripheral Support – Interface Modules USB-enabled interface modules High voltage/power I/O Servo, DC, stepper motor (Optional) Local processing Many under <$100 Building Robots with the BeagleBoard Nathan Monson
  25. 25. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  26. 26. 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 Building Robots with the BeagleBoard Nathan Monson
  27. 27. Code Reuse – ROS Project Willow Garage is creating the Robot Operating System Linux-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 Building Robots with the BeagleBoard Nathan Monson
  28. 28. Code Reuse – My Favorites Kinematics and Dynamics Library Provide config file and XYZ – get joint positions OpenCV Calibrate cameras, track blobs, recognize objects and faces Surveyor Stereo Vision System High speed 3D stereo correspondence Player/Stage Framework for mobile robots EmbedCV Fast, targets ARM Easy to understand Building Robots with the BeagleBoard Nathan Monson
  29. 29. Code Reuse – Telepresence via Skype Marque Cornblatt's Sparky Uses Skype via WiFi Building Robots with the BeagleBoard Nathan Monson
  30. 30. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  31. 31. 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 Building Robots with the BeagleBoard Nathan Monson
  32. 32. 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) Building Robots with the BeagleBoard Nathan Monson
  33. 33. Peak Performance Example OMAP35x Processor Vision Processing C64x+™ DSP and video accelerators Display Subsystem (3525/3530 only) USB Cameras ARM® LCD Cont- Video bit DAC 10 roller Enc 10 bit DAC Up to 2x800x600x25 Cortex™- A8 2D/3D DSP 8-bit 6.88GMAC/s Graphics Camera I/F CPU (3515/3530 only) Image Parallel I/F ARM FPU 2.4GigaFlops Pipe No wasted bandwidth L3/L4 Interconnect DSP programmed in C Peripherals Connectivity USB 2.0 HS System Timers USB Host TI compiler is free* OTG Controller Controller x2 GP x12 WDT x2 Serial Interfaces Program/Data Storage OMAP3 is VERY fast MBSP x5 IC 2 x3 UART x2 HDQ / 1-wire SDRC MMC/SD/ UART GPMC SDIO x3 MSPI x4 w/IRDA Some CMUcam enthusiasts already on BeagleBoard Building Robots with the BeagleBoard Nathan Monson
  34. 34. Adding Beagle to Your Bot Existing Robots New Robots Gotchas Building Robots with the BeagleBoard Nathan Monson
  35. 35. 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 device Cameras use around 150mA, wifi can use up to 300mA Consider a Battery Elimination Circuit for model airplanes Typical BECs deliver 5.0V at 3-5A with input from 5.5V-25V for $25 Output supply is well-isolated from motors Building Robots with the BeagleBoard Nathan Monson
  36. 36. Existing Robots via TTL UART FTDI USB to TTL UART Automatically appears as /dev/ttyUSB0 RS232 Level Shifter Use Beagle's RS232 port Building Robots with the BeagleBoard Nathan Monson
  37. 37. Existing Roombas via USB RooStick Automatically appears as /dev/ttyUSB0 Roomba SCI libraries work with BeagleBoard Building Robots with the BeagleBoard Nathan Monson
  38. 38. Adding Beagle to Your Bot Existing Robots New Robots Gotchas Building Robots with the BeagleBoard Nathan Monson
  39. 39. Make Controller-Based BeagleBot Make Controller is $109 4 2A DC motors, 4 servos, 8 ADC Speaks OSC over USB OSC ported to most languages Robot-friendly community Runs custom firmware Building Robots with the BeagleBoard Nathan Monson
  40. 40. Arduino-based BeagleBot Arduino is widely available for <$40 Expandable via daughterboards Speaks MIDI over USB MIDI support in all languages Very large community Runs custom firmware Building Robots with the BeagleBoard Nathan Monson
  41. 41. 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 works GPIO level conversion ATmega GPIO/servo board Dave? None available yet... 2 LEDs available for status Building Robots with the BeagleBoard Nathan Monson
  42. 42. Advanced OMAP3 Hacking – ZynBot Gumstix Overo Building Robots with the BeagleBoard Nathan Monson
  43. 43. Gumstix Overo Pros and Cons Requires expansion module +$60 Half BB size -- 3.1”x1.5” A “Bioloid” robot module is coming Different features 256MB DRAM (BB has 128MB) WiFi and Bluetooth on stick MicroSD (no SDIO) Lacks S-Video, RS232 Different OMAP3 No DSP No 3D graphics Building Robots with the BeagleBoard Nathan Monson
  44. 44. Adding Beagle to Your Bot Existing Robots New Robots Gotchas Building Robots with the BeagleBoard Nathan Monson
  45. 45. BeagleBoard Gotchas Order the right stuff Correct serial cable “Powered” hub USB mini-A host cable Use the right kernel Anything 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 Building Robots with the BeagleBoard Nathan Monson
  46. 46. Should I wait for Rev C? “Rev C” Beagle is coming February 2009 Adds another USB host port Adds tiny LCD controller pads Uses ES3.0 OMAP3 – minor bug fixes Might offer 256MB DRAM version (+$25) Otherwise identical – mounting is the same Building Robots with the BeagleBoard Nathan Monson
  47. 47. 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/ Building Robots with the BeagleBoard Nathan Monson
  48. 48. Thank you! Send your questions/ideas to the list: http://www.wildrice.com/HBRobotics/Subscribe.html Can't wait to see more Beagle Bots! Building Robots with the BeagleBoard Nathan Monson
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×