libcreate/README.md
Jacob Perron fbc87dea3f Update build badge
Signed-off-by: Jacob Perron <jacobmperron@gmail.com>
2021-05-05 21:56:29 -07:00

74 lines
2.6 KiB
Markdown

# libcreate #
C++ library for interfacing with iRobot's [Create 1 and 2](http://www.irobot.com/About-iRobot/STEM/Create-2.aspx) as well as most models of Roomba. [create_autonomy](http://wiki.ros.org/create_autonomy) is a [ROS](http://www.ros.org/) wrapper for this library.
* [Code API](http://docs.ros.org/kinetic/api/libcreate/html/index.html)
* Protocol documentation:
- [`V_1`](https://drive.google.com/open?id=0B9O4b91VYXMdUHlqNklDU09NU0k) (Roomba 400 series )
- [`V_2`](https://drive.google.com/open?id=0B9O4b91VYXMdMmFPMVNDUEZ6d0U) (Create 1, Roomba 500 series)
- [`V_3`](https://drive.google.com/open?id=0B9O4b91VYXMdSVk4amw1N09mQ3c) (Create 2, Roomba 600-800 series)
* Author: [Jacob Perron](http://jacobperron.ca) ([Autonomy Lab](http://autonomylab.org), [Simon Fraser University](http://www.sfu.ca))
* Contributors: [Mani Monajjemi](http:mani.im), [Ben Wolsieffer](https://github.com/lopsided98)
## Build Status ##
![Build Status](https://github.com/AutonomyLab/libcreate/workflows/Build%20and%20test/badge.svg)
## Dependencies ##
* [Boost System Library](http://www.boost.org/doc/libs/1_59_0/libs/system/doc/index.html)
* [Boost Thread Library](http://www.boost.org/doc/libs/1_59_0/doc/html/thread.html)
* [Optional] [googletest](https://github.com/google/googletest)
### Install ###
sudo apt-get install build-essential cmake libboost-system-dev libboost-thread-dev
# Optionally, install gtest for building unit tests
sudo apt-get install libgtest-dev
cd /usr/src/gtest
sudo cmake CMakeLists.txt
sudo make
sudo cp *.a /usr/lib
#### Serial Permissions ####
User permission is requried to connect to Create over serial. You can add your user to the dialout group to get permission:
sudo usermod -a -G dialout $USER
Logout and login again for this to take effect.
## Build ##
Note, the examples found in the "examples" directory are built with the library.
#### cmake ####
git clone https://github.com/AutonomyLab/libcreate.git
cd libcreate
mkdir build && cd build
cmake ..
make -j
#### catkin ####
Requires [catkin_tools](https://catkin-tools.readthedocs.io/en/latest/).
mkdir -p create_ws/src
cd create_ws
catkin init
cd src
git clone https://github.com/AutonomyLab/libcreate.git
catkin build
## Running Tests ##
To run unit tests, execute the following in the build directory:
make test
## Known Issues ##
* _Clock_ and _Schedule_ buttons are not functional. This is a known bug related to the firmware.
* Inaccurate odometry angle for Create 1 ([#22](https://github.com/AutonomyLab/libcreate/issues/22))