Slammer

Slammer, a rover robot project created as a learning platform for mobile robots

#robot #ROS #slammer #uNav #uNav2 #RTabMap

This project started a few years ago as my learning platform for robotic in general and ROS.

At that time i was working mostly with drones, but I realised that testing things like mapping and navigation would have been much more harder and almost impossible indoor. For this reason, I started learning the basics of rovers and mobile robotics. Thus Slammer was born.

Slammer

In its initial configuration it used four gearmotors for its locomotion using the uNav2 prototype. It was handling the feedback (encoders) on two motors only, with the two others (identical) simply wired in parallel. Not exactly optimal.

Recently I update the mechanical part using two planetary gear motors and a system of pulleys and belts to link front and rear wheels on each side.

Slammer @ Maker Faire EU 2021

The control board is still my trusted UNAV2 prototype (links to the hardware, firmware and ROS drivers).

uNav2

Slammer tech specs

Mechanical and electrical specs

  • Size(LxWxH): 32 x 20 x 15 cm
  • Ground clearance: 4cm
  • Weight: 2 Kg
  • Motors: 2x 28mm planetary gearmotors - 10W - 3Nm (stall torque)
  • Battery: 4S Li-ion battery pack with integrated balancer/protection, 3000mAh (replacement part for vacuum robots)
  • Chassis: 3D printed, assembled using two 300mm 20x20 modular profiles as main carrier frame (parts design to be uploaded soon)

Electronics and sensors

Software

Jetson Nano

ROS

The system is currently based on ROS Melodic.

One of my requisites is to be able to use as much as possible the available GPU to free the CPU for tasks that cannot take advantage of it. For this reason I recompiled from sources both the Realsense drivers, OpenCV and part of RTABMap prerequisites (PCL).

As rebuilding the software onboard is a very slow process I managed to set up a series of Docker containers and their related CI process so that they are automatically built using Github actions (for example ROS + RTABMap repository).

The ROS workspace used to run Slammer is available in my Github, here. The docker folder contains several docker compose files used to start the various software components one by one, everything completely dockerised.

Teleop

Updated ExpressLRS Lora 2.4GHz Teleop

As part of the changes to use the robot at the last Maker Faire in Rome (8-10 Oct 2021), I replaced the bluetooth joypad with an ExpressLRS receiver and a Jumper T-Lite transmitter. The additional benefit is the possibility to rely on the extensive OpenTX telemetry and configurability.

IMG 20211006 232200

For this pourpose I wrote a CRSF protocol parser and a ROS driver.

Old DS4DRV bluetooth joypad

Teleop was previousluy handled using a bluetooth PS4 joypad as input device using DS4DRV

Video

Below a simple test after installing the four new motors and the unav2 prototype.

Find additional Slammer related blog entries here

Additional pictures

IMG 20210423 173919 IMG 20210425 164120