Code
| Home | Publications | Code | Lab |
Table of Contents
1 Downloading
1.1 Tarballs
- Download tarballs from code.golems.org/src.
1.2 Git
- Download a git repository with
$ git clone <URL> - Repos are at
1.3 Apt
If you're using Debian or Ubuntu i386/amd64, you can install packages from our apt repository.
- Add this line to /etc/apt/sources.list:
deb http://code.golems.org/debian squeeze golems.org(Replace "squeeze" with the codename for your distribution, ie "sid", "lucid", "precise", etc.)
# apt-get update# apt-get install libach0 libach-dev(or whatever)
2 Research Code
2.1 Motion Grammar Kit
- Repository: git clone https://github.com/golems/motion-grammar-kit
Formal Language tools for robots.
2.2 Ach: Real-Time IPC
- Repository: git clone https://github.com/golems/ach
- Doxygen API Documentation
Message passing IPC implemented over circular buffers in shared memory. Appropriate for real-time control because it does not suffer from head-of line blocking. Library has been verified with a SPIN model. More info on its wiki page.
2.3 Amino: Utilities for real-time robotics
- Repository: git clone http://github.com/golems/amino
- Doxygen API Documentation
2.4 Reflex: Real-time robot control
- Repository: git clone http://github.com/golems/reflex.git
- Doxygen API Documentation
Includes:
- A linear workspace (Cartesian) controller for robot arms that uses the Jacobian Damped Least Squares.
- Linear Quadratic Gaussian Filtering (Kalman Filter) and Control (LQR) for continuous and discrete time models.
- Trajectory generator for workspace trapezoidal velocity profiles, giving smooth straight-line motion of the arm.
2.5 Somatic: Robotics message definitions and process management
- Repository: git clone http://thebrain.golems.org/git/lib/somatic
- Doxygen API Documentation
3 Other Projects
3.1 S-PROTOBUF
- Repository: git clone http://github.com/ndantam/s-protobuf
- Manual
S-PROTOBUF, provides a Common Lisp implementation for the Protocol Buffers data encoding format, created by Google.
3.2 CL-NUMERI
- Repository: git clone http://www.prism.gatech.edu/~ndantam3/git/cl-numeri.git
Functions for numerical computation in lisp. Includes bindings for the more useful BLAS/LAPACK functions via CFFI. Unlike some other approaches, I use lisp-native arrays for our storage – on SBCL, allocating a lisp array is 10 times faster than allocating foreign storage. I've also avoided CLOS in an effort to reduce necessary overhead, doing some dynamic dispatching (if you want it) the old-fashioned (etypecase) way, which, with the right inlines and declarations, should be free.