SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
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, Snappy




Building Robots with the BeagleBoard         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

          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
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
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
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
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
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
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
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code reuse

          Performance/watt




Building Robots with the BeagleBoard   Nathan Monson
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
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
Beagle Community – OMAP3 Devices
          Pandora
          Archos 5
          Google Phones
          Nokia Maemo-5




Building Robots with the BeagleBoard   Nathan Monson
Beagle Community – OMAP3 Boards
       Gumstix Overo
       OpenPandora
       Magniel Inc
       Many more...




Building Robots with the BeagleBoard   Nathan Monson
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code reuse

          Performance/watt




Building Robots with the BeagleBoard   Nathan Monson
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
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
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
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code reuse

          Performance/watt




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 USB
               Up to 16 devices at 480Mbps
               Thousands of drivers




Building Robots with the BeagleBoard               Nathan Monson
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
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code reuse

          Performance/watt




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
Building Robots with the BeagleBoard        Nathan Monson
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
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
Code Reuse – Telepresence via Skype


          Marque Cornblatt's Sparky
               Uses Skype via WiFi




Building Robots with the BeagleBoard   Nathan Monson
Why Build a Beagle Bot?
          Community

          Ease of development

          Peripheral support

          Code reuse

          Performance/watt




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




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)




Building Robots with the BeagleBoard                                  Nathan Monson
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
Adding Beagle to Your Bot
          Existing Robots

          New Robots

          Gotchas




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 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
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
Existing Roombas via USB
          RooStick
               Automatically appears as /dev/ttyUSB0
               Roomba SCI libraries work with BeagleBoard




Building Robots with the BeagleBoard                        Nathan Monson
Adding Beagle to Your Bot
          Existing Robots

          New Robots

          Gotchas




Building Robots with the BeagleBoard   Nathan Monson
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
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
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
Advanced OMAP3 Hacking – ZynBot
                                       Gumstix Overo




Building Robots with the BeagleBoard               Nathan Monson
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
Adding Beagle to Your Bot
          Existing Robots

          New Robots

          Gotchas




Building Robots with the BeagleBoard   Nathan Monson
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
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
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
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

Mais conteúdo relacionado

Último

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 

Último (20)

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 

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

  • 1. Building Robots with the BeagleBoard Nathan Monson November 19, 2008 HomeBrew Robotics Club
  • 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. Tony Pratkanis – Cataglyphis Bicolor Building Robots with the BeagleBoard Nathan Monson
  • 4. Ralph Gnauck – Ralph's Roomba Bot Building Robots with the BeagleBoard Nathan Monson
  • 5. Nathan Monson – Snappy Building Robots with the BeagleBoard Nathan Monson
  • 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. 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. 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. 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. 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. 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. 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. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  • 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. 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. Beagle Community – OMAP3 Devices Pandora Archos 5 Google Phones Nokia Maemo-5 Building Robots with the BeagleBoard Nathan Monson
  • 17. Beagle Community – OMAP3 Boards Gumstix Overo OpenPandora Magniel Inc Many more... Building Robots with the BeagleBoard Nathan Monson
  • 18. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  • 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. 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. 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. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  • 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. 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. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  • 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. 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. 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. Code Reuse – Telepresence via Skype Marque Cornblatt's Sparky Uses Skype via WiFi Building Robots with the BeagleBoard Nathan Monson
  • 30. Why Build a Beagle Bot? Community Ease of development Peripheral support Code reuse Performance/watt Building Robots with the BeagleBoard Nathan Monson
  • 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. 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. 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. Adding Beagle to Your Bot Existing Robots New Robots Gotchas Building Robots with the BeagleBoard Nathan Monson
  • 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. 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. Existing Roombas via USB RooStick Automatically appears as /dev/ttyUSB0 Roomba SCI libraries work with BeagleBoard Building Robots with the BeagleBoard Nathan Monson
  • 38. Adding Beagle to Your Bot Existing Robots New Robots Gotchas Building Robots with the BeagleBoard Nathan Monson
  • 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. 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. 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. Advanced OMAP3 Hacking – ZynBot Gumstix Overo Building Robots with the BeagleBoard Nathan Monson
  • 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. Adding Beagle to Your Bot Existing Robots New Robots Gotchas Building Robots with the BeagleBoard Nathan Monson
  • 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. 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. 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. 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