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 read the full tutorial how to build your robot here.
Supports multiple types of robot base:
- 2WD
- 4WD
- Ackermann Steering
- Mecanum drive
Works on:
- ROS Indigo (Ubuntu 14.04)
- ROS Kinetic (Ubuntu 16.04)
Fabricate your own Teensy 3.1/3.2 shield,
or wire it on your own. Wiring diagrams are also provided.
- GY-85
- MPU6050
- MPU9150
- MPU9250
The IMU drivers are based on i2cdevlib.
- L298 (MAX: 35V, 2A)
- BTS7960 (MAX: 24V, 43A)
- Electronic Speed Controllers (ESC) w/ Reverse. This has been tested to control brushless motors used in RC cars and hoverboards.
- XV11 Lidar
- RPLidar
- YDLIDAR X4
- Hokuyo (SCIP 2.2 Compliant)
- Intel RealSense R200
- Kinect
- Raspberry Pi 3/B+
- Jetson TK1
- Jetson TX1
- Odroid XU4
- Radxa Rock Pro
**Technically this should also work with any ARM dev board at least (1GB RAM) that runs Ubuntu Trusty or Xenial.
git clone https://github.com/linorobot/lino_install && cd lino_install
./install <base> <sensor>
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