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.
libbot2 is a collection of several sub-projects. Some sub-projects may depend on others.
C library with some simple but useful routines and a set of core message types.
C library that manages a set of coordinate frames.
LCM utility programs (tunnel LCM over TCP, chop or splice log files, etc.)
C library and viewer for transmitting and rendering OpenGL commands over LCM.
C library that manages parameter files.
Process management tools for controlling many processes on one or many workstations.
C library for visualizing data with OpenGL and GTK.
See individual sub-projects for required and optional dependencies.
Run one of the following scripts to install the required and optional dependencies for all sub-projects to your system:
scripts/setup/mac/install_prereqs
scripts/setup/linux/ubuntu/bionic/install_prereqs
scripts/setup/linux/ubuntu/focal/install_prereqs
You will also need to manually install LCM from https://lcm-proj.github.io/.
git clone --branch drake https://github.com/RobotLocomotion/libbot2.git
mkdir libbot2-build
cd libbot2-build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/libbot2/install ../libbot2
make install
CMakeLists.txt:
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
# ...
list(APPEND CMAKE_PREFIX_PATH /path/to/libbot2/install)
find_package(libbot2 CONFIG REQUIRED)
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 https://www.gnu.org/licenses/.