libbot2
C Python CMake C++ Java Makefile Other
Switch branches/tags
Nothing to show
Pull request Compare This branch is 3 commits ahead of ashuang:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README

This is the code base for libbot2.

The libbot2 project provides a set of libraries, tools, and algorithms that are
designed to facilitate robotics research. Among others, these include
convenience functions for maintaining coordinate transformations, tools for
parameter management and process administration, and a 3D visualization
library. Initially developed at MIT for the 2007 DARPA Grand Challenge, libbot2
is designed to provide a core set of capabilities for robotics applications and
has been utilized on a number of different robotic vehicles.

The libbot2 library follows the pods build architecture guidlines
(http://sourceforge.net/p/pods/home/Home/).

Overview
========

libbot2 is a collection of several pieces of software (pods).  Some pods
may depend on others.  The current list of pods is:

  bot2-core       C library with some simple but useful routines,
                  and a set of core message types (LCM types).

  bot2-vis        C library of classes and functions for visualizing data
                  with OpenGL and GTK2.

  bot2-lcmgl      Transmitting and rendering OpenGL commands over LCM.

  bot2-procman    Process management tools for controlling many processes
                  on one or many workstations.

  bot2-lcm-utils  LCM utility programs (tunnel LCM over TCP, chop or splice
                  log files, etc.)

Requirements
============

  These are required.
    GLib 2.0+
    CMake
    LCM       (http://lcm.googlecode.com)
    Java      (Sun JDK or OpenJDK strongly preferred)
    Python
    GTK+ 2.0+ (required by bot2-vis)
    OpenGL    (required by bot2-vis)
    GLUT
    PyGTK

  Note that some pods may have fewer requirements (e.g., if you just want
  bot2-core)

  On a Debian/Ubuntu system, the following packages should be sufficient:
    libglib2.0-dev
    cmake
    sun-java6-jdk | default-jdk | openjdk-6-jdk
    python-dev
    python-gtk2
    libgtk2.0-dev
    mesa-common-dev
    libgl1-mesa-dev
    libglu1-mesa-dev
    freeglut3-dev
    libjpeg-dev

    Additionally, you'll need to install LCM from http://lcm.googlecode.com

  On OS X, the recommended procedure is to use MacPorts and install:
    cmake
    pkgconfig
    glib2
    gtk2
    atk
    cairo
    python26
    py26-gtk
    pango
    mesa

    Additionally, you'll need to install LCM from http://lcm.googlecode.com

(Local) Installation
====================
  libbot2 adheres to the Pods core policy, and makes use of the Pods build tools.
  For more information about Pods, see: https://sourceforge.net/p/pods/

  You can install libbot2 to your system by running:

  $ sudo make BUILD_PREFIX=/usr/local

  If you don't want to install libbot2 to your system, you can also build it
  inside the source directory.  To do this, run:

  $ make

  In this case, the executables, headers, libraries etc. will be installed according to
  the Pods core policy. If no other "build" directory is found, it will default to:
  libbot2/build/

Uninstallation
==============

  If compiled and installed to your system, run:

  $ sudo make clean

  note: this can only be done from the libbot2 source that was used for
        installation

Documentation
=============

  To build documentation, install Doxygen and then run:

  $ cd doc
  $ doxygen

  HTML docs will then be build to doc/html/

License
=======

  libbot2 is free software: you can redistribute it and/or modify
  it under the terms of the GNU Lesser General Public License as published
  by the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  libbot2 is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Lesser General Public License for more details.



  You should have received a copy of the GNU Lesser General Public License
  along with libbot2.  If not, see <http://www.gnu.org/licenses/>.