All projects

Analytical Robotics · 2020

Autonomous robot prototypes

Two generations of a multi-robot prototype I worked on at Analytical Robotics, from UWB localisation and the on-board Jetson Nano and Teensy 4.1 to a second aluminium frame with four 250 W motors.

Two second-generation robots moving a pallet together and turning it on the spot.

Project overviewWhat I worked on

At Analytical Robotics, I helped develop working prototypes for a multi-robot system. The work covered the autonomy software (localisation, perception, planning and control) alongside the electronics and mechanical changes needed to make it work on real hardware.

The robots brought together encoders, sensors, power systems, motor drivers, mechanical parts, and communications. Much of the work was getting those pieces to behave reliably together.

VersionsTwo generations of the robot

First version

The first platform proved the basic architecture: stepper motors for movement, time-of-flight sensors for proximity and Decawave UWB boards for localisation. Its open frame kept every system reachable while the design was still changing.

Second version

The second generation moved to a larger, purpose-cut aluminium frame and four 250 W DC motors. That gave more space, power and robustness, but cable routing, access, component placement and weight all started to matter more.

The first robot prototype complete, with its open frame and exposed electronics
The first version, complete and driveable.
Black aluminium frame for the second robot prototype during assembly
The second version during frame assembly.
The first and second robot prototypes side by side on the floor
First and second versions side by side.

ElectronicsHardware and software integration

I used breadboards while individual components were still being tested. As the design settled, the wiring moved toward clearer groups, stronger connections, and components positioned so they could still be reached and replaced.

The system brought together motor drivers, an RS-485 interface for AMT shaft encoders, a four-channel DAC, a Teensy 4.1, and an NVIDIA Jetson Nano. That mix made the robot a useful test bed for both low-level control and higher-level autonomy.

Breadboards, controller boards, and an NVIDIA Jetson Nano wired together during development
The breadboard stage, with the Jetson Nano and controller boards.
Robot prototype electronics, motor drivers, controller boards, and colour-coded wiring
Electronics being fitted to the second version.
  • Leaving the electronics accessible made early changes much easier.
  • Labelling and grouping the wiring saved time when something failed.
  • A mechanical change often needed a matching change in software or electronics.

TestingWorking with several robots

Testing several robots on the same task introduced another set of problems: relative position, timing, repeatability, collision avoidance, load handling, and recovery when one unit behaved differently from the rest.

Four autonomous robots positioned around a wooden pallet during a multi-robot test
Four robots positioned around a pallet during a test.
Three autonomous robot prototypes with exposed electronics and black aluminium frames
Three prototypes during development, with the electronics left exposed.

NotesWhat I took from the project

These were development platforms rather than finished products. They gave the team something concrete to test, change, and use in early customer conversations.