forked from libbot2/libbot2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
134 lines (98 loc) · 3.88 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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/>.