Robot System Design

Hand-Eye Coordination Setup
Checkerboard Calibration
Processed Image
1
2
3
4
5
7
8
9
10
11
12
13
14
15
17
18
19
20
21

Project Information

Project Outcome

Designed an automated assembly workcell integrating robotic manipulation, custom feeders, and safety systems. Achieved 32-second cycle time and 8.6-month ROI payback through systematic design-for-automation approach. Demonstrated end-to-end system implementation from component redesign (10→7 parts) through workcell layout, safety compliance (ISO 10218-2), and economic justification.

The Challenge

Manual assembly of consumer electronics like computer mice is labor-intensive and prone to quality inconsistencies. The goal was to design an automated assembly system that could handle component feeding, precise manipulation, and assembly verification while optimizing for cycle time and cost-effectiveness.

Design Approach

1. Design for Automation (DFA)

The original mouse design was redesigned for robotic assembly. This involved:

  • Part Count Reduction: Reduced from 10 parts to 7 by eliminating screws in favor of snap-fit clips
  • Simplified Geometry: Modified shell shapes for easier gripper access and alignment
  • Self-Locating Features: Added standoffs and alignment pins for precise component mating
  • Material Selection: Chose ABS plastic for shells to enable ultrasonic welding
Original Design

Before: 10 parts

Redesigned for Automation

After: 7 parts

2. Feeder System Design

Designed custom bowl feeders with specialized track geometries to orient and deliver each component type:

  • Base Shell Feeder: Symmetrical track with width-based orientation
  • Top Shell Feeder: Gravity-assisted funnel design for concave parts
  • Scroll Wheel Feeder: Narrow channel with edge detection for cylindrical parts
  • PCB & Sensor Feeders: Vibratory flat track with vacuum pickup points
Base Shell Feeder

Base shell feeder

Scroll Wheel Feeder

Feeder Track for scroll wheel

Middle Shell Feeder

Middle shell feeder

Top Shell Feeder

Channel feeder for scroll wheel

PCB Palette

Palette for PCB component

Top Shell Feeder

Base shell feeder

3. Dual-Gripper End Effector Design

Developed a custom dual-gripper system mounted on the UR5 to handle different component types:

  • Parallel Jaw Gripper: For robust shells and structural components (max grip force: 50N)
  • Vacuum Gripper Array: For delicate PCB and top shell (4-point suction, 0.5 bar vacuum)
  • Quick-Change Mechanism: Allows gripper switching in <2 seconds if needed
  • Sensor Integration: Force sensors for grip verification and part-present detection
Parallel Gripper

RPW 375M-2 Parallel Pneumatic Gripper

Vacuum Gripper
Vacuum Gripper

Gripper fingers (Isometric View)

Parallel Gripper

Finger grippers screwed to Gripper actuator mounts

Vacuum Gripper
Vacuum Gripper

FSTE M5-IG 20 Spring Plunger (Schmalz) & Vacuum Cup (VC-B05)

Vacuum gripper on mount
Another Gripper

Vacuum gripper assembly on mount

Parallel Gripper

End of Arm Tooling Adapter

Vacuum Gripper

Material: 304 Stainless Steel

Parallel Gripper

Parallel jaw gripper handling mouse base shell

Vacuum Gripper

Gripper mount to actuator

6. Robot Selection & Final Assembly

Selected the Elite Robots EC63 based on payload requirements and system integration needs:

EC63 Robot Specifications

Elite Robots EC63 specifications: 3kg payload, 624mm reach, ±0.02mm repeatability, 6-axis flexibility

Final Robot Assembly

CAD assembly showing EC63 robot with integrated dual-gripper system and adapter mounted on workcell

5. Robotic Workcell Layout Optimization

Optimized the cell layout to minimize robot travel time and enable efficient material flow:

  • Central Robot Positioning: UR5 mounted centrally with 850mm reach to all stations
  • Feeder Placement: Arranged in semicircle at optimal pickup heights (650-750mm)
  • Assembly Fixture: Rotating base fixture for multi-angle access
  • Quality Station: Vision inspection system at final position
Workcell Layout

On-scale Robotic Cell Layout in 2D showing robot workspace, feeder positions, and assembly fixture. Total footprint: 3.0m × 2.8m

5. Safety System Design & Implementation

Designed comprehensive safety system following ISO 10218-2 standards for industrial robot safety:

  • Zone 1 (Safe Zone): General working area with master lock switch
  • Zone 2 (Controlled Access): Fenced area with safety door, warning signs, emergency stops
  • Zone 3 (Danger Zone): 400mm perimeter around robot reach with pressure-sensitive mats
  • Safety Features: Emergency stop buttons, safety lights, warning signage, pressure mats
Safety System Layout

Three-zone safety system design with fencing, emergency stops, pressure mats, and safety signage compliant with ISO 10218-2 standards

Assembly Sequence & Timing

Safety System Layout

Total Cycle Time in Steps

Economic Justification

Conducted ROI analysis:

Financial Metric Value Details
Total System Cost (C) RM 135,822 Robot: RM 74,152 + Tooling (30%) + Installation (15%)
Annual Labor Savings (W) RM 54,000 3 workers @ RM 1,500/month (24-hour operation)
Productivity Gain (I) RM 191,500 30K additional units/year + insurance savings
Payback Period 0.72 years (8.6 months) Well below 2.5-year industry target
Return on Investment (ROI) 124.89% annually Strong financial justification for deployment

Key Results & Performance

32 sec

Cycle Time

30%

Parts Reduction

5 m²

Footprint

112/hr

Production Rate
Project Outcome

Offline Programming & Simulation: Implemented ABB RobotStudio simulation and offline programming using RAPID for path planning.

The Challenge

Industrial robots must operate in cluttered environments with obstacles while maintaining precise positioning and avoiding collisions. This project required creating a simulation environment and implementing path planning for a robot to guide it in accurately tracing a model design within an assigned workspace.

1. Simulation Environment Setup

Built a virtual workcell which is a table in SolidWorks and:

  • ABB IRB 120 Robot: 6-DOF industrial manipulator with 3kg payload capacity
  • Workspace Layout: 1 table (picking and placing)
  • Obstacles: CAD model of flag with traceable text "RSD"
ABB IRB 1600 Robot

ABB IRB 1600-6/1.2 industrial robot: 6kg payload, 1.2m reach, 0.02mm repeatability

Robot Manipulator Axes

ABB IRB 1600 manipulator axes configuration showing 6 degrees of freedom

Robot Navigation Demo

Custom "RSD" flag design created in SolidWorks, exported as .SAT format for RobotStudio import

RobotStudio Simulation Environment

RobotStudio simulation environment

2. RAPID Code

  • The four initial paths were merged into a single path named **COMPLETE PATH**. The **RAPID code** was structured to call this path in the main procedure function (`PROC main() COMPLETE_PATH; MOVE_HOME; ENDPROC`), ensuring the entire tracing task executed as a single function call.
  • Simulation Control: A `MOVE_HOME` function was implemented, along with a **WaitTime 20** function, allowing the simulation to pause before restarting the task. This enabled the robot to run in **continuous run mode** for recording.
  • Deliverables: The project successfully achieved the simulation and tracing goal, with deliverables including a video demonstration and the **Pack and Go file** from RobotStudio, which allows the simulation programme to be accessed on other computers.
RAPID Code Snippet
PROC main()
      COMPLETE_PATH;
      MOVE_HOME;
      ENDPROC

      PROC COMPLETE_PATH()
      ! Trace flag pole and letters R, S, D
      MoveL Target_Flag_Start, v600, fine, MyTool\WObj:=Table_Workobject;
      ! ... (path targets for flag)
      MoveL Target_R_Start, v600, fine, MyTool\WObj:=Table_Workobject;
      ! ... (path targets for letter R)
      MoveL Target_S_Start, v600, fine, MyTool\WObj:=Table_Workobject;
      ! ... (path targets for letter S)
      MoveL Target_D_Start, v600, fine, MyTool\WObj:=Table_Workobject;
      ! ... (path targets for letter D)
      ENDPROC

      PROC MOVE_HOME()
      MoveL Target_930_4, v600, fine, MyTool\WObj:=Table_Workobject;
      WaitTime 20;  ! Pause before restarting cycle
      ENDPROC

3. Robot Specifications & Selection Rationale

Selected ABB IRB 1600-6/1.2 for its balanced specifications and workspace coverage:

Specification Value Relevance to Project
Payload Capacity 6 kg More than sufficient for pen tool end effector
Maximum Reach 1200 mm Covers entire table workspace for flag tracing
Repeatability ±0.02 mm Ensures precise path following for accurate tracing
Degrees of Freedom 6 axes Enables complex curved paths for letters R and S
Weight 225 kg Stable base for dynamic movements
Programming Method RAPID (offline) Enables simulation validation before deployment
Project Outcome

Multi-System Integration & Deployment: Integrated vision system, MATLAB processing, TCP/IP communication, and ABB robot control into unified pick-and-place system achieving <5mm positioning accuracy. Demonstrated system integration workflow including hardware setup, software development, communication protocol implementation, and systematic testing/validation—essential capabilities for robotics system deployment, troubleshooting, and technical documentation in real-world implementations.

The Challenge

Modern industrial robots require vision systems to handle unstructured environments where object positions are not predetermined. This project involved creating a hand-eye coordination system capable of detecting, localizing, and grasping objects of varying sizes and orientations using computer vision and coordinate transformation.

Project Planning & Team Collaboration

Executed as a 3-person team project with structured task distribution and timeline management:

Project Timeline

Project timeline and work distribution showing coordinated effort across image processing, robot programming, and kinematics analysis modules

My System Architecture

System Components

Webcam

Image Acquisition

MATLAB

Image Processing

TCP/IP

Communication

ABB IRB 120

Robot Execution

1. Camera Calibration & Setup

Performed comprehensive camera calibration to ensure accurate coordinate mapping:

  • Calibration Method: Zhang's checkerboard-based camera calibration
  • Parameters Determined: Intrinsic matrix (focal length, principal point), distortion coefficients (radial & tangential)
  • Calibration Accuracy: Mean reprojection error <0.3 pixels
  • Camera Mounting: Fixed overhead position at 800mm height, 45° viewing angle
Checkerboard Calibration

Multiple checkerboard views captured for camera calibration. Grid: 9×6 corners, square size: 25mm

Physical Setup

Physical setup showing ABB IRB 120 robot, overhead camera, workspace, and target objects

2. Image Processing Pipeline

Developed a robust MATLAB-based vision processing pipeline:

Image Acquisition & Preprocessing
  • Undistortion: Applied calibration parameters to remove lens distortion
  • Color Space Conversion: RGB → Grayscale for intensity-based processing
  • Noise Reduction: Gaussian filtering (5×5 kernel, σ=1.0)
  • Contrast Enhancement: Adaptive histogram equalization (CLAHE)
Object Detection & Segmentation
  • Thresholding: Adaptive binary thresholding (Otsu's method)
  • Morphological Operations: Opening (erosion + dilation) to remove noise
  • Connected Components: Blob analysis for individual object identification
  • Contour Analysis: Boundary extraction using Canny edge detection
Feature Extraction
  • Centroid Calculation: Geometric center using image moments
  • Bounding Box: Minimum area rectangle for object dimensions
  • Orientation: Principal axis angle using second-order moments
  • Area & Perimeter: For object classification
Processing Pipeline Visualization

Step-by-step transformation from raw capture to feature extraction:

Step 1: Original

1. Original capture

Step 2: Grayscale

2. Grayscale conversion

Step 3: Thresholding

3. Binary thresholding

Step 4: Masking

4. Object masking

Final: Processed with Detections

Final Result: Detected objects with centroids, bounding boxes, and orientation vectors overlaid. Object properties (position, rotation, area) extracted for robot control.

3. Coordinate Transformation

Implemented precise transformation from image coordinates to robot base coordinates:

Transformation Chain
  1. Image → Camera Frame: Using intrinsic calibration matrix and known Z-height (workspace plane)
  2. Camera → Robot Base: Homogeneous transformation matrix from hand-eye calibration
  3. Validation: Physical measurement verification (target grid points)
Coordinate Transformation Matrix
    [R₁₁  R₁₂  R₁₃  Tx]     [Xrobot]
	  T = [R₂₁  R₂₂  R₂₃  Ty]  →  [Yrobot]
	  [R₃₁  R₃₂  R₃₃  Tz]     [Zrobot]
	  [ 0    0    0    1]     [  1  ]

	  Rotation Component (R): Camera → Robot orientation
	  Translation (T): Camera → Robot position offset

	  Example: Camera at X=450mm, Y=300mm, Z=800mm above robot base

4×4 homogeneous transformation matrix mapping camera coordinates to robot base frame

4. Robot Control Integration

Developed seamless communication between MATLAB vision system and ABB robot controller:

Communication Protocol (TCP/IP)
  • Socket Connection: MATLAB client → ABB IRC5 controller server
  • IP Address: 192.168.125.1 (robot controller)
  • Port: 1025 (custom RAPID socket server)
  • Data Format: ASCII string "X,Y,Z,RX,RY,RZ" (comma-delimited coordinates)
  • Acknowledgment: Robot returns "OK" upon successful move completion
RAPID Programming (Robot-Side)
  • Socket Server: Listens for incoming coordinate data
  • Motion Planning: Generates safe trajectory to target pose
  • Execution: MoveL (linear) or MoveJ (joint) motion commands
  • Error Handling: Timeout detection, unreachable position checks
DH Parameters

Denavit-Hartenberg coordinate frames for ABB IRB 120 kinematic model showing link assignments

Robot Dimensions

ABB IRB 120 dimensional specifications for kinematic calculations and workspace analysis

Denavit-Hartenberg Parameters

DH table for ABB IRB 120 forward/inverse kinematics implementation:

Joint θ (rad) d (mm) a (mm) α (rad)
1 θ₁ 290 0 -π/2
2 θ₂ - π/2 0 270 0
3 θ₃ 0 70 -π/2
4 θ₄ 302 0 π/2
5 θ₅ 0 0 -π/2
6 θ₆ + π 72 0 0
MATLAB Visualization

3D robot model in MATLAB Robotics Toolbox using DH parameters for forward/inverse kinematics validation

RobotStudio Joint Jog

RobotStudio joint jog interface showing end-effector position verification for kinematics accuracy (error <1%)

5. System Testing & Performance

Conducted extensive testing to evaluate positioning accuracy and system reliability:

Test Parameter Measured Value Target Spec Status
X-axis positioning accuracy ±3.2 mm ±5.0 mm Pass
Y-axis positioning accuracy ±4.1 mm ±5.0 mm Pass
Repeatability (10 trials) ±1.8 mm ±3.0 mm Pass
Detection success rate 97.5% (39/40) >95% Pass
Processing time (vision) 0.38 s <0.5 s Pass
Total cycle time (detect→move→grasp) 4.2 s <5.0 s Pass

Key Results & Insights

±3.7mm

Avg Positioning Error

97.5%

Detection Success

0.38s

Vision Processing

4.2s

Total Cycle Time

Key Learnings & Improvements

  • Lighting Sensitivity: System accuracy degraded by ~40% under variable lighting. Implemented controlled LED ring light to maintain consistent illumination.
  • Calibration Drift: Periodic recalibration (every 50 cycles) necessary to compensate for mechanical vibrations and thermal expansion.
  • Z-Height Assumption: Current system assumes planar workspace. Future enhancement: integrate depth sensor for 3D object localization.
  • Multi-Object Handling: Successfully handled up to 5 objects simultaneously. Priority-based selection implemented (nearest-first strategy).