CDE2310 Group 1 — AMR for Smart Warehouse Intralogistics

System documentation for the autonomous mobile robot (TurtleBot3 Burger) designed for smart warehouse intralogistics.

View the Project on GitHub Russell501/CDE2310_Group1

🔗 Navigation


Mechanical Subsystem Documentation

This document outlines the design, iteration, and assembly of the custom payload for the TurtleBot, detailing how we achieved a compact, reliable, and precise ping pong ball launching system.


1. System Overview

The mechanical subsystem is designed to securely transport and fire ping pong balls into a docking receptacle. The system consists of:

System Overview CAD

Physical Specifications

Parameter Value
Total Mass 1402.24 g (1.40 kg)
Overall Dimensions (L × W × H) 138 mm × 178 mm × 192 mm
Centre of Gravity — X (back +) −56.7 mm from ball-caster origin
Centre of Gravity — Y (up) 95.3 mm from ground
Centre of Gravity — Z (left +) 2.8 mm from ball-caster origin

Design Constraints


2. Problem Description & Design Requirements

To successfully complete the docking and firing tasks, the mechanical subsystem had to satisfy several strict constraints:


3. Design Reasoning

Compact Integration within TurtleBot Structure

The launcher system is designed to be integrated within the internal layers of the TurtleBot, rather than extending outward. By embedding the launcher between the hex supports and the existing robot layers, the overall footprint of the robot is minimised. This approach reduces the risk of collision and improves manoeuvrability within constrained maze environments.

In addition, increasing vertical stacking (height) was preferred over increasing width, as it maintains a narrower base. This design choice improves navigation through tight pathways while still allowing sufficient space for the launching mechanism.

Aligned Launch Trajectory for Reliable Docking

The launcher is oriented to fire approximately along the central axis of the robot (not perfectly centered, but aligned with the robot’s forward direction). This alignment improves docking reliability by ensuring that the ball is consistently launched toward the receptacle’s expected position, reducing lateral error during dynamic movement.

Flywheel-Based Launch Mechanism

A flywheel system was selected to achieve rapid and consistent ball launching. Unlike spring-based systems, flywheels allow continuous rotation and immediate successive launches without requiring reset time. This is particularly important for dynamic environments where the receptacle may be moving unpredictably, requiring fast response and repeated launch attempts. (A dual-flywheel configuration was specifically chosen to provide balanced acceleration on both sides of the ball. This prevents the ball from adopting an unwanted lateral spin, ensuring a straighter horizontal trajectory).

Feeder Gate Control Mechanism

A servo-controlled feeder gate is implemented to regulate ball input into the flywheel system. This prevents accidental or unintended firing of balls and ensures that each ball is properly aligned before entering the flywheels. The mechanism also reduces the risk of jamming and improves consistency in launch timing.

CAD Model Real Life
Feeder Gate CAD feeder-gate-mechanism-pic

Structural and Functional Integration

All components are designed to work within a compact 3D-printed housing system. The launcher, motors, and feeder mechanism are tightly integrated to maintain structural rigidity while minimising external protrusions. This improves both mechanical stability and spatial efficiency within the robot.


4. Iterative Design Changes

Our final design is the result of testing and refining several prototypes to solve critical stability and spatial issues.

Iteration 1: Front-Mounted Launcher with Full Spiral Storage

Iteration 1 CAD

Iteration 2: Side-Mounted Launcher with 0.75x Spiral

Iteration 2 CAD

Iteration 3: Centered & Layer-Integrated

CAD Model Real Life
Iteration 3 CAD finalised-launcher-design

Iteration 4: Stability Improvement

Before

Vibration issues due to lack of support
After

Rigid anchoring to hex supports

5. Kinematics & Launch Requirements

The flywheel system was engineered based on the exact physics required to cross the docking gap.

Assuming a perfectly horizontal launch, the time of flight ($t$) before the ball drops 1.5 mm is calculated using gravity ($g = 9.81 \text{ m/s}^2$): $t = \sqrt{\frac{2\Delta y}{g}} \approx 0.0175 \text{ s}$

To cross the docking gap within this short time frame, the required horizontal velocity ($v_x = \frac{d}{t}$) is:

The dual DC motors and flywheel diameters were chosen and tuned specifically to impart an exit velocity within this 8.6 m/s to 14.3 m/s window.


6. Hardware & Components

TurtleBot3 Base Components

Custom Mechanical Components

Component File Purpose
50 mm Flywheel 50 mm flywheel.SLDPRT Flywheel disc mounted on each RF300 motor shaft for ball acceleration
Ball Storage Ball Storage.SLDPRT Curved gravity-feed tube holding up to 9 ping pong balls; designed to not obstruct LiDAR 360° FOV
Barrel Guide Barrel Guide.SLDPRT Directs ball trajectory through the dual counter-rotating flywheel gap
Feeder Roller Feeder Roller.SLDPRT Feeds balls from the storage tube into the barrel guide
SG90 Servo Mount SG90 - Micro Servo 9g - Tower Pro.5-1.SLDPRT Mounting bracket for the servo gate actuator

Custom Bill of Materials (BOM)

Ball Feed Path

  1. Storage: 9 ping pong balls sit in a curved gravity-feed tube.
  2. Gate: The SG90 servo actuates a gate that releases one ball at a time into the feed path.
  3. Feeder Roller: Guides the ball from the gate into the barrel guide.
  4. Barrel Guide: Channels the ball between the two counter-rotating flywheels.
  5. Launch: The ball exits through the flywheel gap with the desired velocity.

Motor Configuration

Parameter Value
Motor Model RF300 Series (PEL00882) DC Motor
Quantity 2 (counter-rotating)
Operating Voltage 5V (via L298N motor driver)
Output Power 0.05–0.50W per motor
RPM Range 2,100–14,350 RPM (variable via PWM)
Control Raspberry Pi GPIO → L298N (IN_HIGH/IN_LOW for direction)

Servo Gate Configuration

Parameter Value
Model SG90 Micro Servo 9g (Tower Pro)
Operating Voltage 5V (from RPi 5V rail)
Control Signal PWM from Raspberry Pi GPIO
Actuation Speed ≤ 0.12 s/60°
Purpose Gate control for single-ball release

7. Assembly Instructions

Step 1: Preparation

  1. Insert Threads: Heat-press threaded inserts into the designated holes on the flywheel housing and ball storage components.
  2. Attach Flywheels: Firmly press-fit the two 3D-printed flywheels onto the shafts of the DC motors. Ensure they are fully seated to prevent wobble.
  3. Disassemble TurtleBot Layer: Remove the top waffle plate (Layer 4) of the TurtleBot, carefully disconnecting the LiDAR module.

remove-lidar-layer

Step 2: Assembling the Launcher

  1. Mount Servo Assembly: Fasten the SG90 servo motor (with the attached feeder arm) onto its mounting bracket on the flywheel housing.
  2. Install Flywheel Motors: Press-fit both DC motors into the flywheel housing, ensuring the flywheels sit precisely alongside the shooting tube walls.
  3. Mount Feeder Roller: Securely attach the custom 3D-printed feeder roller to the spline of the SG90 servo motor.
Fitting Motors & Servo Installing Ball Storage
fit-motors-and-servo install-ball-storage

Step 3: Integration with TurtleBot

  1. Position Launcher: Place the assembled launcher module between the hex supports and the Layer 4 waffle plate.
  2. Secure Mounts: Fasten the top and rear of the flywheel housing to the waffle plate and hex supports using M4 bolts and the threaded inserts.
  3. Install Storage Module: Mount the compact internal ball storage directly above the launcher intake.
  4. Extend Supports: Install additional 60 mm hex supports to the left and right sides of the chassis to accommodate the new hardware height.
  5. Finalize Assembly: Reattach the Layer 4 waffle plate onto the extended hex supports, ensuring the LiDAR sensor remains in its stock configuration on top.

8. Assembly Best Practices & Troubleshooting