I started Linorobot ( http://linorobot.org ) almost a year ago hoping to provide students, beginners, and developers a home-brew and low cost ROS compatible robotic platform. It all began after I developed my very first ROS application deployed on a Turtlebot 2. The software framework that ROS provides is remarkable and its massive support from the community makes it a viable roboticist's tool.
Coming from an electronics engineering background, I was curious on how would I make my own and make physical things talk to ROS and vice - versa.
The first prototype was a 2WD robot which can navigate autonomously packed in a small form factor that comes with a Lidar, a dev board and a micro-controller. I did some googling and realised that there's not much sources on how to build one from the ground up. I built the first version hoping to help other beginners on building a ROS based robot and have more in depth understanding on what's happening in the low-level side of the robot. I created a tutorial which served like a template and cheat sheet every time I need to build a new robot
Almost a year after, the response from my readers has been overwhelming which inspired me to do more robot bases. At the moment Linorobot supports 2WD, 4WD, Mecanum Drive Robot, and Ackermann Steering Robot. The platforms were built using home-brew materials and easily accessible components so anyone can build it from home. Each platform has its own hardware controller that translates the velocities (X,Y,Z or steering angle) published by ROS Navigation Stack into motor movements derived from the kinematics of every platform. Each controller is meant to be modular and scalable. Components can be replaced for much bigger robots without rewriting the firmware or at least reuse as much codes as possible. Imagine learning and prototyping from a small robot like this:
and scale up to something like this:
NASA Sample Return Challenge 2016 (Video not mine)
Here are most of the parts needed:
1 x XV-11 Lidar with Controller or any supported 2D lidar.
1 x Ubuntu Installed laptop/desktop (Development Computer)
1 x Radxa Rock Pro (Robot’s computer) or any supported dev boards
1 x Teensy 3.1 Board or latest.
1 x GY-85 IMU
2 x L298 Beakout Board or any motor driver that has PWM (EN) and input pins (IN1 and IN2)
1 x Breadboard or Prototyping Board
1 x 12V Battery (Preferably 3S Li-Po Battery)
1 x Caster Wheels (only for 2WD)
2 x Robot Wheels (only for 2WD)
4 x Robot Wheels (only for 4wD)
4 x Mecanum Wheels (only for Mecanum Drive)
1 x Servo (only for Ackermann Steering)
1 x Wood or Acrylic sheet for the robot’s base
Here's a photo of the Ackerman Steering base
An Ikea box as a robot chassis
A universal hub mounted on an old trolley wheel.
Final prototype for 4WD base.
Shopping with the robot