By linorobot
Share this project to show your support
Linorobot is a suite of Open Source ROS compatible robots that aims to provide students, developers, and researchers a low-cost platform in creating new exciting applications on top of ROS.
You can also check out the ROS2 port of this project linorobot2.
You can read the full tutorial on how to build your robot here.
Supports multiple types of robot base:
Works on:
Fabricate your own Teensy 3.1/3.2 shield,
or wire it on your own. Wiring diagrams are also provided.
The IMU drivers are based on i2cdevlib.
Technically this should also work with any ARM dev board with at least 1GB RAM that runs Ubuntu Trusty or Xenial.
git clone https://github.com/linorobot/lino_install && cd lino_install ./install
Flexible and configurable components.
linorobot_ws/teensy/firmware/lib/config/lino_base_config.h
//uncomment the base you're building #define LINO_BASE DIFFERENTIAL_DRIVE // #define LINO_BASE SKID_STEER // #define LINO_BASE ACKERMANN // #define LINO_BASE ACKERMANN1 // #define LINO_BASE MECANUM
//uncomment the IMU you're using #define USE_GY85_IMU // #define USE_MP6050_IMU // #define USE_MPU9150_IMU // #define USE_MPU9250_IMU
//uncomment the motor driver you're using #define USE_L298_DRIVER // #define USE_BTS7960_DRIVER // #define USE_ESC
//define your robot' specs here #define MAX_RPM 330 // motor's maximum RPM #define COUNTS_PER_REV 1550 // wheel encoder's no of ticks per rev #define WHEEL_DIAMETER 0.10 // wheel's diameter in meters #define PWM_BITS 8 // PWM Resolution of the microcontroller #define LR_WHEELS_DISTANCE 0.235 // distance between left and right wheels #define FR_WHEELS_DISTANCE 0.30 // distance between front and rear wheels #define MAX_STEERING_ANGLE 0.415 // max steering angle. This only applies to Ackermann steering
cd ~/linorobot_ws/src/linorobot/teensy/firmware platformio run --target upload
roslaunch linorobot bringup.launch
roslaunch linorobot slam.launch
roslaunch linorobot bringup.launch
roslaunch linorobot navigate.launch