Skip to content

slgrobotics/libcreate

 
 

Repository files navigation

Modified to work on Create 1 base with analog gyroscope or its emulation

Create 1 firmware has a known bug described here: AutonomyLab/create_robot#28

Traditionally old Turtlebots relied on analog 1-axis gyroscope (ENC-03R, LPR5150AL) connected to pin 4 (analog input) of its Cargo Bay DB25 connector.

A better option is using an MPU9250 "emulation" with Arduino Nano, providing the same analog output (see MPU9250GyroTurtlebot)

This configuration works under ROS2 Jazzy with Create 1 driver here: https://github.com/slgrobotics/create_robot

Refer to detailed setup instructions here: https://github.com/slgrobotics/robots_bringup/tree/main/Docs/Create1

Odometry calculations: see ~/robot_ws/src/libcreate/src/create.cpp : 135

libcreate

C++ library for interfacing with iRobot's Create 1 and 2 as well as most models of Roomba. create_robot is a ROS wrapper for this library.

Build Status

Build Status

Dependencies

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.

    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)
  • Some 600 series models incorrectly report the OI Mode in their sensor stream (create_robot #64)
    • To enable or disable the OI Mode reporting workaround, pass true or false to setModeReportWorkaround()

About

C++ library for interfacing with the iRobot Create 1 and 2.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.2%
  • CMake 3.8%