By Kyle Vogt


Contents
  • Introduction
  • Dependencies
  • The Classes
  • Source
  • Tutorials
  • Screenshots
  • Introduction

    After writing and rewriting the same basic communication, vision processing, and input code for many different robots, I discovered I could save some time by reusing old code. In March of 2006 I decided to release this code to the public and share my results. The Open Source Robot Controls is written in C++ and provides high level wrappers for graphics, network interfaces, and I/O control. It is designed to provide maximum functionality in a minimum number of lines of code. It's not nearly as flexible as writing things from scratch, but it can be used to string together some fairly complex robotics projects in a short period of time.

    Dependencies

    This project relies heavily on the Simple DirectMedia Library (SDL). You will need to download and install this library before trying to compile any OSRC applications. It provides a programming abstraction for easy access to computer hardware. Although I have only tested this software in Linux, SDL is cross-platform so it should be trivial to make your application run in Windows or other operating systems.

    The Classes

    The project is formatted as serveral classes which can be included in your code. This is a list of the currently available classes and brief descriptions of their fuctionality. Please see the documentation for more details.

    Source

    Source code for the Open Source Robot Controls project is currently available in my public folder. It will eventually be reorganized and compressed into a tarball for easier installation.

    Tutorials

    One of the most commonly overlooked components of an open source project is sample code. Sometimes I prefer to look at sample code to get started and refer to the documentation when I need to expand or try something new.

     

  • Tutorial 1 - Basic video and image processing
  • Tutorial 2 - Graphics library and more advanced image processing
  • Tutorial 3 - Communicating with sensors and actuators
  • Tutorial 4 - Networking and telemetry
  • Tutorial 5 - Following the yellow brick road
  • Screenshots
  • Simple colorspace conversion, color thresholding, and object tracking
  • Camera interface, camera viewport, image rendering
  • Vector graphics engine, map file processing

  • To top of page