Auto-assembled, not yet reviewed

Linorobot2

ROS 2 software stack for DIY 2WD, 4WD and mecanum robots built from off-the-shelf parts; not a hardware design.

  • No hardware design files released
  • mobile robot2 DoF
  • cost not published
Linorobot2 2-DoF mobile robot, 3D render from vattenkar.urdf.xacro
simplified 3D ยท vattenkar.urdf.xacro

About Linorobot2

Linorobot2 is a ROS 2 package that takes a robot from bare hardware to fully autonomous navigation. It ships pre-integrated Nav2, SLAM Toolbox and robot_localization, a templated URDF with lidar, depth camera and IMU, and a Gazebo simulation, supporting 2WD, 4WD and mecanum-drive bases. Physical-robot assembly and micro-ROS firmware (ESP32 and Raspberry Pi Pico family boards on current branches; Teensy support ended with Humble) live in the companion linorobot2_hardware repo.

Licenses

Hardware
No hardware design files releasedApache-2.0 covers the ROS 2 software; upstream publishes no chassis CAD
Software
Apache-2.0
Docs
Not published

Degrees of freedom

2 DoF wheels 2

Breakdown source

2wd4wdHolonomic baseMecanum wheelssource

How to build Linorobot2

5 steps

Steps marked Motari summary condense the linked source; follow the source for exact instructions. Upstream step marks a step taken from the linked guide.

  1. Assemble the base

    Build a 2WD, 4WD or mecanum base from off-the-shelf parts following the linorobot2_hardware guide: motors, encoders, motor driver, IMU and lidar.

    Motari summarylinorobot.github.io/linorobot2
  2. Flash the micro-ROS firmware

    Uncomment the base, motor driver and IMU your robot uses in a config file under config/custom, then build and upload the micro-ROS firmware with PlatformIO to an ESP32 or Raspberry Pi Pico family board. Teensy support ended with the Humble branch.

    Motari summarylinorobot.github.io/linorobot2
  3. Install the ROS 2 stack

    On the robot computer, run install.bash with your --base, and optional --laser and --depth, to set up the workspace, sensor drivers, micro-ROS and the linorobot2 package.

    Upstream steplinorobot.github.io/linorobot2/installation
  4. Configure the robot

    Edit the URDF properties file with your robot dimensions and sensor poses; the same config drives both hardware and Gazebo.

    Motari summarylinorobot.github.io/linorobot2
  5. Run SLAM and navigation

    Launch linorobot2_bringup, build a map with SLAM Toolbox, then run Nav2 for autonomous navigation.

    Motari summarylinorobot.github.io/linorobot2
Print timenot published
Assembly timenot published

Wiring, power and firmware are safety-relevant and shown for reference only. Check them against the source before building.

Linorobot2 bill of materials

10 rows

Cost to build

The sources do not publish a cost total. The rows below are what they list, without a sum.

Linorobot2 parts, as the source lists them. Prices are the source's, not checked against vendors.

Linorobot2 bill of materials
PartQtySpecSourceConfidence
Microcontrollermicro-ROS firmware host; controller choice is configurable
1ESP32 / ESP32-S2 / ESP32-S3 / Raspberry Pi Pico class; Teensy family remains in firmware environments but is deprecated/untested in current hardware docs
configurableprice not listedlinorobot2_hardware README and platformio environments
high
Robot computer or workstation hostROS 2 host for bringup/Nav2; serial setups use an onboard robot computer
1Raspberry Pi-class SBC or external workstation depending on serial/WiFi configuration
configurableprice not listedlinorobot2_hardware quickstart and Linorobot2 system configurations
high
Geared drive motors with encodersdrive motors for differential, skid-steer, or mecanum bases
22 motors for differential drive; configs also define MOTOR3/MOTOR4 for 4WD and mecanum variants
configurableprice not listedlinorobot2_hardware wheel orientation and motor encoder config
high
Motor drivermotor-driver class selected in firmware config
1GENERIC_2_IN, GENERIC_1_IN, BTS7960, or ESC motor driver
configurableprice not listedsupported motor drivers documented in linorobot2_hardware
high
IMU / magnetometer moduleoptional inertial sensing for localization filters
1GY-85, MPU6050, MPU9150, MPU9250, QMI8658 and supported magnetometers
configurableprice not listedsupported IMU and MAG defines documented in linorobot2_hardware
high
Wheels and drive-base mechanicalsmechanical base geometry is user-configured
1wheel diameter and left/right wheel distance are firmware-configured; no canonical shopping-list chassis is published
configurableprice not listedlinorobot2_hardware orientation and base config constants
med
Motor power supply and safety wiringmotor supply voltage and optional emergency switch are documented
1motor power source configured by voltage constants; emergency switch recommended for bigger robots
configurableprice not listedlinorobot2_hardware system diagram and power constants
med
Serial or WiFi micro-ROS linktransport between controller and ROS 2 agent
1serial link for onboard robot computer, or ESP32 WiFi transport configuration
configurableprice not listedlinorobot2_hardware and system configuration docs
high
2D lidarSLAM and Nav2 laser sensor input
1RPLIDAR, LD06, LD19, STL27L, YDLIDAR, XV11, or compatible supported laser source
configurableprice not listedLinorobot2 supported laser sensor table
high
RGBD depth cameraoptional depth perception source
1Intel RealSense D435/D435i, Zed family, OAK-D family, or compatible supported depth source
configurableprice not listedLinorobot2 supported depth sensor table
high

Rows from the source's own parts list 13

README.md@aaf9d59markdown

Source rowQtyPrice and vendorLine
Microcontroller
vendor not listedno price listed
L22
Robot computer or workstation host
vendor not listedno price listed
L45
Geared drive motors with encoders
vendor not listedno price listed
L97
Motor driver
vendor not listedno price listed
L114
IMU / magnetometer module
vendor not listedno price listed
L128
Motor power supply and safety wiring
vendor not listedno price listed
L179

firmware/platformio.ini@aaf9d59ini

Source rowQtyPrice and vendorLine
Microcontroller firmware environments
vendor not listedno price listed
L34

docs/system_configurations.md@157fd05markdown

Source rowQtyPrice and vendorLine
Robot computer and sensor host
vendor not listedno price listed
L7

config/lino_base_config.h@aaf9d59c_header

Source rowQtyPrice and vendorLine
Drive base, motors, wheels, and power constants
vendor not listedno price listed
L20
Motor driver pin configuration
vendor not listedno price listed
L96
Serial or WiFi micro-ROS link
vendor not listedno price listed
L181

1 more source files with parts rows are listed under Files.

Linorobot2 source files

12 files

Files stay in the upstream repository under their own licenses; these links open them there. The 3D model on this page is Motari's conversion of the file named under Simulation.

Linorobot2 in simulation

Robot description files a simulator or CAD tool can load, linked at the commit they were found.

The 3D specimen on this page is converted from linorobot2_description/urdf/robots/vattenkar.urdf.xacro at 157fd05.

Builds of Linorobot2

0 reviewed

No reviewed builds of Linorobot2 yet.

A build log records the evidence (photos, a video, your repository), what the build cost, how long it took and what you changed. Each one is checked by Motari (until a maintainer claims this page) before it shows here, and reviewed builds count toward the reproducibility score.

Sources and provenance

Sources

Last push to linorobot/linorobot2: 2026-09-29 (checked 2026-10-01)

How this page was made

Assembled from public sources on 2026-06-04, not yet reviewed by the maintainer. Each figure links to where it is stated; a value the sources do not state reads "not published". Last source review: source docs aaf9d59/157fd05; unpriced.

Original files stay intact and separately licensed; Motari adds only the summary on this page. Maintainer? Request a correction or removal.

Badge for the README

Maintain Linorobot2? Show its reproducibility score in the project's README. The badge links back to this page and updates with the score.

Badge: reproducibility 33/100

Markdown
[![Motari reproducibility score for Linorobot2](https://motari.io/api/v1/badge/linorobot2)](https://motari.io/r/linorobot2)
HTML
<a href="https://motari.io/r/linorobot2"><img src="https://motari.io/api/v1/badge/linorobot2" alt="Motari reproducibility score for Linorobot2" height="20"></a>

Not fully met yet: cad / mesh present, bom evidence, build instructions (partial), oshw-compatible license. The score is read from the project's own sources, so publishing what is missing is what raises it. A score of 90 or more needs a reviewed build. How the score is computed