SlideShare a Scribd company logo
OSS in Amateur Robotics Mark Gross [email_address] OSCON-07 talk based on my on-going SRS robot Magellan development experience
SRS Robot Magellan contest Autonomous navigation to orange traffic cones in an urban park setting. grass, potholes, sidewalks curbs, trees… 1000’ approximate distance between farthest cone and start. robot < 50 pounds, fits in a 4’x4’x4’ cube. robot has fail save pause / stop mechanism. See  http://www.robothon.org/robothon/robo-magellan.php  for rules
My robot’s components 16f877 PIC micro controller base SBC. Linksys NSLU2 : IXP420 computer. servos, motor controller, encoder, ultrasonic range finders, digital compass, bump sensor, safety switch, USB camera, USB hub, USB serial dongle, USB memory stick. built on a radio shack RC toy truck
Architecture Dual SBC design PIC for low level device interface NSLU2 running Linux doing the high level control and vision processing.
Architecture cont. The PIC talks to all the devices except the USB.  motor controller, motor encoder, ultrasonic range finders, compass, servos, bump and safety switches. PIC implements RT control loop processing for speed, steering etc. PIC implements a command response protocol such that the NSLU2 can issue high level command and poll for completion over the serial port get status, track_heading, forward_turn, reverse_turn
Architecture cont. NSLU2 running a hacked version of Slugos from the Open Embedded distribution. Includes spca5xxx camera driver Python, python serial, python image library and pyv4l Runs my magellan.py python program from a init script in rc3.d
It’s all a Work in progress. PDXBot 2007 results : “Flash” took second place* Robot was barley ready in time and ran with some know problems. Details on robot its evolution, implementation patches and code are available at :  www.thegnar.org   Web site will be updated as I get ready for the Seattle robot event. There is a lot more to do   *out of 2 entrants ;)
Back to OSS in amateur robotics PIC was programmed using JALv2, a BSD licensed compiler with a Pascal like syntax and a mixture of BSD and GPL libraries. GPL and LGPL in PIC library code is problematic for production use of such compiled code.  I will not say more about this as that will be a non-amateur application. NSLU2 ran the SlugOs-image from Open Embedded. The high level logic of the robot was programmed in Python. The rest of this presentation drills down on JAL, Open embedded and python use for the application.
JAL (smells like Pascal) Language created by Wouter van Ooijen  http://www.voti.nl/jal/index_1.html   in 2003 was release as GPL and a source forge community project was started. JALv2 written by Kyle York, is a technically better compiler having 2 and 4 byte integers make is very compelling. I have used both versions and like them both, but if you want multi-byte math JALv2 is the only way to go. The JALv2 compiler author is resistant to starting a SF or other community project site.
Some Simple JAL code procedure ping is var byte temp _I2C_HW_startbit -- all sensors will respond to a ping request sent to i2c address zero _I2C_HW_put_byte(0x00) _I2C_HW_put_byte(0) -- get distance in cm....  (need to wait about 2ms/foot!) _I2C_HW_put_byte(0x51) _I2C_HW_stopbit end procedure
JALv0.4.xx JALv0.4.xx is a GPL compiler with GPL libraries  http:// sourceforge.net/projects/jal / Installation is the standard ./config, make , make install - build process.  builds and runs in Linux, cygwin, mac-osx, and OS/2 Includes a test suite JALv0.4xx is a better OSS project than Jal V2 with community and SF repository This version has become stagnate.
JALv2 (by Kyle York) http://www.casadeyork.com/jalv2/ JALv2 is BSD without library files bundled with the compiler. JALv2 is a technically better compiler smaller code supports multi-byte arithmetic Compiler is maintained by one guy, the libraries are maintained by others. No good point for users to contribute fixes to other than Yahoo group mailing list. bugs in some Library files have gone unfixed at times.
NSLU2 and Open Embedded http://www.nslu2-linux.org/ is a project of derivative of Open Embedded. Has a nice makefile base wrapper so you don’t need to understand Bit Bake. Its got a nice community and good for root file systems that maintain the NAS functions intended for the product. After using it initially I moved on to just using OE. http://www.openembedded.org/ its pretty cool. more suited to hacking than nslu2-linux.org. Has some usability warts.
Open Embedded Can be thought of as a bag-O-distributions. Automates tool chain build, target build and image packaging for many of the existing hackable hardware platforms available today, NSLU2, zarus, n800, x86 pc’s, iPaq’… Customizable build includes kernel and a wide assortment of components one can choose to include within a build. has a strong developer community and has good ties to the freedesktop.org, gnome, handles.org, and similar communities.
OE architecture OE consists of 2 components Bit Bake recipe repository Bit bake is maintained in a SVN repository. The recipes are maintained in a Monotone repository.
OE developer community Only a few key folks have check in access to the bit bake and recipe archives. bugs are identified and logged in the project bugzilla. patches and bug fixes are submitted via the bugzilla there is an active and responsive mailing list there is an active IRC channel. most OE developers are EU based Development is quite active, most of the kernels tool chains, and user mode components are current
OE implementation from a high level Bit bake is the build engine it is implemented in Python it parses the configuration and recipe tree recursively to build a dependency cloud. The seed point for traversing the dependency cloud is determined by the command line argument given to the bit bake command. Builds are executed under a non-privileged user account. uses a utility known as fakeroot to build root file systems and device nodes.
Recipes and Monotone developer boot straps recipe tree using a wget …OE.mnt to bring down a 100MB monotone database. then a recipe tree is checked out to bring down all the current recipes. Monotone has some of the CMS flavor of git and mercurial, but is relatively obscure and doesn’t work through proxies well Monotone also tends to need to be built from source, and depends on boost.  Once the recipes are pulled down you don’t need to use monotone again.  HOWTO’s exist on  http://www.openembedded.org/
Hacking OE isn’t trivial A good UI for target component and dependency browsing or customization is missing from OE. Sometimes components are available for down load temporarily. The BitBake has some implicit targets and behaviors that are hard to reverse engineer. Maintaining customizations across OE updates can is hard. Has a fair amount of wiki based documentation, but still can be a challenge for the new developer to wrap there heads around. The oe mailing list is very helpful. Helping to create better documentation for OE/BitBake is on my to do list
Hacking tips and tricks bitbake has a number of debug and trace command line options. nohup bitbake –DDD slugos-image If doing a new build and it breaks on getting source, try again in a few days.  Sometimes archives are not too reliable. Save your downloads in a up-leveled directory
example: my slugos-image hack removing slugos NAS related cruft adding python, python libraries and USB camera driver adding and fixing up the sca5xx camera driver wedging in pyv4l component into my OE build. Much of this is document in a patch on: http://www.thegnar.org/embedded_linux/SlugOsOpenEmbedded.html
removing NAS cruft from slugos edit conf/distro/slugos.conf remove kernel FS’s not needed remove ext2_progs remove lrzsz remove libata, pata-artop
Adding Python with selected addons to my slugos image edit slogos.conf SLUGOS_EXTRA_RDEPENDS = &quot;${SLUGOS_STANDARD_RDEPENDS} python python-serial python-imaging&quot;
adding sca5xx and v4l to slugos edit slugos.conf SLUGOS_STANDARD_RDEPENDS += &quot;\ +spca5xx \ +kernel-module-v4l2-common \ +kernel-module-v4l1-compat \ +kernel-module-videodev \ kernel.bbclass sca5xx driver needs to find config.h from kernel build.
Python image library and PyV4L inclusion to my OE tree PIL built easily but the installation needed trimming as PIL includes a lot of components I didn't need and took up space on the NSLU2's 8MB of flash. PyV4L was harder needed to create a new recipe  needed to hack the pyv4l tarball to build and integrate that into my down load note: pyv4l isn’t well maintained. My current implementation is a complete hack.
pyv4l / OE details added python-pyv4l to RDEPENDS created a new python-pyv4l BB file created my a new pyv4l.tar file build was painful See documentation of what I did on my web site. updates to my web page with information on this is coming soon :)
summary there are OSS tools to implement a wide range of robotics applications. I have only talked about what I used for my latest project.  There are more tools and projects out there with high coolness levels. I didn’t even talk about other MCUs and projects  The Arduino project is very cool,  www.arduino.cc   AVR’s are better supported by OSS tools than PIC’s.  ARM-7’s are also cool, (I’m playing with an NXP2124 using the gnuarm tool chain with newlib). Open Embedded and hackable COTS devices are effective platforms for robotic application development needing more than a control loop.

More Related Content

PDF
Os Rego
PDF
Os Lattner
PDF
Os Koziarsky
PDF
Debugging Python with gdb
ODP
Jalimo Slides Linuxtag2007 (English)
PPTX
PDF
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
PPTX
Jfokus 2016 - A JVMs Journey into Polyglot Runtimes
Os Rego
Os Lattner
Os Koziarsky
Debugging Python with gdb
Jalimo Slides Linuxtag2007 (English)
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Jfokus 2016 - A JVMs Journey into Polyglot Runtimes

What's hot (20)

PDF
FMXLinux Introduction - Delphi's FireMonkey for Linux
PPTX
#JavaOne What's in an object?
PDF
Python on Android with Delphi FMX - The Cross Platform GUI Framework
PDF
Os Paesdosreistutorial
PDF
Eclipse OMR: a modern toolkit for building language runtimes
PDF
Getting Started with Node.js
ODP
Android porting for dummies @droidconin 2011
PPTX
Getting started with the NDK
PPTX
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
PDF
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
PPTX
Google ART (Android RunTime)
PDF
Linux GUI Applications on Windows Subsystem for Linux
PDF
Andreas Jakl, Qt Symbian Maemo Quickstart
PDF
Entwicker camp2007 calling-the-c-api-from-lotusscript
PDF
Automotive Grade Linux on Raspberry Pi: How Does It Work?
PDF
Android Native Development Kit
PDF
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
PPTX
Nerves Project Intro to ErlangDC
PPTX
Sys ml helperprofile-rhapsody813-obtainandinstall-v1
PDF
Minko - Scripting 3D apps with Lua and C++
FMXLinux Introduction - Delphi's FireMonkey for Linux
#JavaOne What's in an object?
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Os Paesdosreistutorial
Eclipse OMR: a modern toolkit for building language runtimes
Getting Started with Node.js
Android porting for dummies @droidconin 2011
Getting started with the NDK
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
Google ART (Android RunTime)
Linux GUI Applications on Windows Subsystem for Linux
Andreas Jakl, Qt Symbian Maemo Quickstart
Entwicker camp2007 calling-the-c-api-from-lotusscript
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Android Native Development Kit
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
Nerves Project Intro to ErlangDC
Sys ml helperprofile-rhapsody813-obtainandinstall-v1
Minko - Scripting 3D apps with Lua and C++
Ad

Viewers also liked (9)

PPT
Os Oram
PDF
Os Urner
PDF
Os Gottfrid
PDF
Os Tibbittstutorial
PPT
Os Krug
PDF
Os Alrubaie Ruby
PDF
Os Ramirez
PDF
Os Lavigne
PDF
Os Edwards
Os Oram
Os Urner
Os Gottfrid
Os Tibbittstutorial
Os Krug
Os Alrubaie Ruby
Os Ramirez
Os Lavigne
Os Edwards
Ad

Similar to Os Grossupdated (20)

PDF
Building a Remote Control Robot with Automotive Grade Linux
PDF
Pumping stationone20140628 real-timeprogrammingwithbeaglebonepr_us.pptx
PPTX
Do You Like Coffee with Your dessert? Java and the Raspberry Pi - Simon Ritte...
PDF
Presentacion_p1.pdf
ODP
OpenEmbedded
PDF
The Yocto Project
PDF
How to build Open Hardware self-navigating car robot
PDF
Raspberry Pi + ROS
PDF
iot_9Yocto Project getting started,,.pdf
PPTX
Tac Presentation October 72014- Raspberry PI
ODP
Embedded Systems
PPTX
Parallel Rendering of Webpages
PPTX
Open Source Robotics as Booster to Creativity
PDF
Stefano Cordibella - An introduction to Yocto Project
ODP
The Deck by Phil Polstra GrrCON2012
PDF
Yocto: Training in English
PDF
Raspberry pi: Conceptos básicos de la arquitectura de la computadora raspberr...
KEY
Eating Fruit - Combining Robots & Apps
PDF
Having fun with a solar panel, camera and Apache projects.pdf
PDF
Yocto Project : Custom Embedded Linux Distribution
Building a Remote Control Robot with Automotive Grade Linux
Pumping stationone20140628 real-timeprogrammingwithbeaglebonepr_us.pptx
Do You Like Coffee with Your dessert? Java and the Raspberry Pi - Simon Ritte...
Presentacion_p1.pdf
OpenEmbedded
The Yocto Project
How to build Open Hardware self-navigating car robot
Raspberry Pi + ROS
iot_9Yocto Project getting started,,.pdf
Tac Presentation October 72014- Raspberry PI
Embedded Systems
Parallel Rendering of Webpages
Open Source Robotics as Booster to Creativity
Stefano Cordibella - An introduction to Yocto Project
The Deck by Phil Polstra GrrCON2012
Yocto: Training in English
Raspberry pi: Conceptos básicos de la arquitectura de la computadora raspberr...
Eating Fruit - Combining Robots & Apps
Having fun with a solar panel, camera and Apache projects.pdf
Yocto Project : Custom Embedded Linux Distribution

More from oscon2007 (20)

PDF
J Ruby Whirlwind Tour
ODP
Solr Presentation5
PDF
Os Borger
PDF
Os Harkins
PDF
Os Fitzpatrick Sussman Wiifm
PDF
Os Bunce
PDF
Yuicss R7
PDF
Performance Whack A Mole
ODP
Os Fogel
PDF
Os Lanphier Brashears
PPT
Os Tucker
PDF
Os Fitzpatrick Sussman Swp
PDF
Os Furlong
PDF
Os Berlin Dispelling Myths
PDF
Os Kimsal
PDF
Os Pruett
PDF
Os Alrubaie
PDF
Os Keysholistic
ODP
Os Jonphillips
PDF
Os Urnerupdated
J Ruby Whirlwind Tour
Solr Presentation5
Os Borger
Os Harkins
Os Fitzpatrick Sussman Wiifm
Os Bunce
Yuicss R7
Performance Whack A Mole
Os Fogel
Os Lanphier Brashears
Os Tucker
Os Fitzpatrick Sussman Swp
Os Furlong
Os Berlin Dispelling Myths
Os Kimsal
Os Pruett
Os Alrubaie
Os Keysholistic
Os Jonphillips
Os Urnerupdated

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPT
Teaching material agriculture food technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Modernizing your data center with Dell and AMD
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
Reach Out and Touch Someone: Haptics and Empathic Computing
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25 Week I
“AI and Expert System Decision Support & Business Intelligence Systems”
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Teaching material agriculture food technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
MYSQL Presentation for SQL database connectivity
Modernizing your data center with Dell and AMD
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Review of recent advances in non-invasive hemoglobin estimation
Chapter 3 Spatial Domain Image Processing.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Os Grossupdated

  • 1. OSS in Amateur Robotics Mark Gross [email_address] OSCON-07 talk based on my on-going SRS robot Magellan development experience
  • 2. SRS Robot Magellan contest Autonomous navigation to orange traffic cones in an urban park setting. grass, potholes, sidewalks curbs, trees… 1000’ approximate distance between farthest cone and start. robot < 50 pounds, fits in a 4’x4’x4’ cube. robot has fail save pause / stop mechanism. See http://www.robothon.org/robothon/robo-magellan.php for rules
  • 3. My robot’s components 16f877 PIC micro controller base SBC. Linksys NSLU2 : IXP420 computer. servos, motor controller, encoder, ultrasonic range finders, digital compass, bump sensor, safety switch, USB camera, USB hub, USB serial dongle, USB memory stick. built on a radio shack RC toy truck
  • 4. Architecture Dual SBC design PIC for low level device interface NSLU2 running Linux doing the high level control and vision processing.
  • 5. Architecture cont. The PIC talks to all the devices except the USB. motor controller, motor encoder, ultrasonic range finders, compass, servos, bump and safety switches. PIC implements RT control loop processing for speed, steering etc. PIC implements a command response protocol such that the NSLU2 can issue high level command and poll for completion over the serial port get status, track_heading, forward_turn, reverse_turn
  • 6. Architecture cont. NSLU2 running a hacked version of Slugos from the Open Embedded distribution. Includes spca5xxx camera driver Python, python serial, python image library and pyv4l Runs my magellan.py python program from a init script in rc3.d
  • 7. It’s all a Work in progress. PDXBot 2007 results : “Flash” took second place* Robot was barley ready in time and ran with some know problems. Details on robot its evolution, implementation patches and code are available at : www.thegnar.org Web site will be updated as I get ready for the Seattle robot event. There is a lot more to do  *out of 2 entrants ;)
  • 8. Back to OSS in amateur robotics PIC was programmed using JALv2, a BSD licensed compiler with a Pascal like syntax and a mixture of BSD and GPL libraries. GPL and LGPL in PIC library code is problematic for production use of such compiled code. I will not say more about this as that will be a non-amateur application. NSLU2 ran the SlugOs-image from Open Embedded. The high level logic of the robot was programmed in Python. The rest of this presentation drills down on JAL, Open embedded and python use for the application.
  • 9. JAL (smells like Pascal) Language created by Wouter van Ooijen http://www.voti.nl/jal/index_1.html in 2003 was release as GPL and a source forge community project was started. JALv2 written by Kyle York, is a technically better compiler having 2 and 4 byte integers make is very compelling. I have used both versions and like them both, but if you want multi-byte math JALv2 is the only way to go. The JALv2 compiler author is resistant to starting a SF or other community project site.
  • 10. Some Simple JAL code procedure ping is var byte temp _I2C_HW_startbit -- all sensors will respond to a ping request sent to i2c address zero _I2C_HW_put_byte(0x00) _I2C_HW_put_byte(0) -- get distance in cm.... (need to wait about 2ms/foot!) _I2C_HW_put_byte(0x51) _I2C_HW_stopbit end procedure
  • 11. JALv0.4.xx JALv0.4.xx is a GPL compiler with GPL libraries http:// sourceforge.net/projects/jal / Installation is the standard ./config, make , make install - build process. builds and runs in Linux, cygwin, mac-osx, and OS/2 Includes a test suite JALv0.4xx is a better OSS project than Jal V2 with community and SF repository This version has become stagnate.
  • 12. JALv2 (by Kyle York) http://www.casadeyork.com/jalv2/ JALv2 is BSD without library files bundled with the compiler. JALv2 is a technically better compiler smaller code supports multi-byte arithmetic Compiler is maintained by one guy, the libraries are maintained by others. No good point for users to contribute fixes to other than Yahoo group mailing list. bugs in some Library files have gone unfixed at times.
  • 13. NSLU2 and Open Embedded http://www.nslu2-linux.org/ is a project of derivative of Open Embedded. Has a nice makefile base wrapper so you don’t need to understand Bit Bake. Its got a nice community and good for root file systems that maintain the NAS functions intended for the product. After using it initially I moved on to just using OE. http://www.openembedded.org/ its pretty cool. more suited to hacking than nslu2-linux.org. Has some usability warts.
  • 14. Open Embedded Can be thought of as a bag-O-distributions. Automates tool chain build, target build and image packaging for many of the existing hackable hardware platforms available today, NSLU2, zarus, n800, x86 pc’s, iPaq’… Customizable build includes kernel and a wide assortment of components one can choose to include within a build. has a strong developer community and has good ties to the freedesktop.org, gnome, handles.org, and similar communities.
  • 15. OE architecture OE consists of 2 components Bit Bake recipe repository Bit bake is maintained in a SVN repository. The recipes are maintained in a Monotone repository.
  • 16. OE developer community Only a few key folks have check in access to the bit bake and recipe archives. bugs are identified and logged in the project bugzilla. patches and bug fixes are submitted via the bugzilla there is an active and responsive mailing list there is an active IRC channel. most OE developers are EU based Development is quite active, most of the kernels tool chains, and user mode components are current
  • 17. OE implementation from a high level Bit bake is the build engine it is implemented in Python it parses the configuration and recipe tree recursively to build a dependency cloud. The seed point for traversing the dependency cloud is determined by the command line argument given to the bit bake command. Builds are executed under a non-privileged user account. uses a utility known as fakeroot to build root file systems and device nodes.
  • 18. Recipes and Monotone developer boot straps recipe tree using a wget …OE.mnt to bring down a 100MB monotone database. then a recipe tree is checked out to bring down all the current recipes. Monotone has some of the CMS flavor of git and mercurial, but is relatively obscure and doesn’t work through proxies well Monotone also tends to need to be built from source, and depends on boost. Once the recipes are pulled down you don’t need to use monotone again. HOWTO’s exist on http://www.openembedded.org/
  • 19. Hacking OE isn’t trivial A good UI for target component and dependency browsing or customization is missing from OE. Sometimes components are available for down load temporarily. The BitBake has some implicit targets and behaviors that are hard to reverse engineer. Maintaining customizations across OE updates can is hard. Has a fair amount of wiki based documentation, but still can be a challenge for the new developer to wrap there heads around. The oe mailing list is very helpful. Helping to create better documentation for OE/BitBake is on my to do list
  • 20. Hacking tips and tricks bitbake has a number of debug and trace command line options. nohup bitbake –DDD slugos-image If doing a new build and it breaks on getting source, try again in a few days. Sometimes archives are not too reliable. Save your downloads in a up-leveled directory
  • 21. example: my slugos-image hack removing slugos NAS related cruft adding python, python libraries and USB camera driver adding and fixing up the sca5xx camera driver wedging in pyv4l component into my OE build. Much of this is document in a patch on: http://www.thegnar.org/embedded_linux/SlugOsOpenEmbedded.html
  • 22. removing NAS cruft from slugos edit conf/distro/slugos.conf remove kernel FS’s not needed remove ext2_progs remove lrzsz remove libata, pata-artop
  • 23. Adding Python with selected addons to my slugos image edit slogos.conf SLUGOS_EXTRA_RDEPENDS = &quot;${SLUGOS_STANDARD_RDEPENDS} python python-serial python-imaging&quot;
  • 24. adding sca5xx and v4l to slugos edit slugos.conf SLUGOS_STANDARD_RDEPENDS += &quot;\ +spca5xx \ +kernel-module-v4l2-common \ +kernel-module-v4l1-compat \ +kernel-module-videodev \ kernel.bbclass sca5xx driver needs to find config.h from kernel build.
  • 25. Python image library and PyV4L inclusion to my OE tree PIL built easily but the installation needed trimming as PIL includes a lot of components I didn't need and took up space on the NSLU2's 8MB of flash. PyV4L was harder needed to create a new recipe needed to hack the pyv4l tarball to build and integrate that into my down load note: pyv4l isn’t well maintained. My current implementation is a complete hack.
  • 26. pyv4l / OE details added python-pyv4l to RDEPENDS created a new python-pyv4l BB file created my a new pyv4l.tar file build was painful See documentation of what I did on my web site. updates to my web page with information on this is coming soon :)
  • 27. summary there are OSS tools to implement a wide range of robotics applications. I have only talked about what I used for my latest project. There are more tools and projects out there with high coolness levels. I didn’t even talk about other MCUs and projects The Arduino project is very cool, www.arduino.cc AVR’s are better supported by OSS tools than PIC’s. ARM-7’s are also cool, (I’m playing with an NXP2124 using the gnuarm tool chain with newlib). Open Embedded and hackable COTS devices are effective platforms for robotic application development needing more than a control loop.