System Calibration Process
Estimated Time: 1-2 hours | Importance: ★★★★★
Calibration ensures robot's actual movement matches software commands, directly affecting positioning accuracy and system reliability.
1. Mechanical Calibration
1.1 Arm Length Measurement
Use digital calipers to precisely measure arm lengths (ball joint center distance):
Measuring arm length with calipers
| Parameter | Standard Value | Measured Value | Config File |
|---|---|---|---|
| Upper Arm Length (L) | 150 mm | ______ mm | robotGeometry.cpp |
| Lower Arm Length (l) | 281 mm | ______ mm | robotGeometry.cpp |
| End Effector Offset | 50 mm | ______ mm | config.h |
1.2 Modify Configuration File
Update actual measured values in esp32/robotGeometry.cpp:
// File: esp32/robotGeometry.cpp (line ~10)
float L = 150.0; // Upper arm length (change to measured value)
float l = 281.0; // Lower arm length (change to measured value)
// File: esp32/config.h (line ~15)
#define END_EFFECTOR_OFFSET 50.0 // End effector offset
2. Homing Calibration
2.1 Limit Switch Test
If using limit switches, ensure proper installation and testing:
Homing position diagram
- Manually move robot arm to limit switch position
- Observe if limit switch indicator LED triggers
- Send
G28via serial to test auto-homing
2.2 HOME_STEPS Adjustment
If no limit switches, manually set homing step count:
// File: esp32/config.h
#define HOME_STEPS 1000 // Homing step count (adjust based on actual)
// Adjustment method:
// 1. Manually move arm to highest point
// 2. Record step count at this position
// 3. Set as HOME_STEPS
2.3 Verify Homing
# Send homing command
G28
# Observe:
# - 3 motors should rotate synchronously
# - End effector rises to highest point
# - Stops upon reaching position
- End effector position consistent after each homing
- After homing, sending
G0 X0 Y0 Z-200accurately reaches center
3. Vision Calibration
3.1 Camera Mounting
Recommended camera position:
- Height: 400-500mm above robot base
- Angle: Straight down (or slight tilt)
- Field of view: Cover entire workspace (Ø200mm)
3.2 Checkerboard Calibration (Optional)
Use OpenCV checkerboard calibration method to correct camera distortion:
Checkerboard calibration process
# Run calibration program (if included in project)
python calibrate_camera.py
# Follow prompts to capture checkerboard from different angles
# Generates camera_matrix.npy and dist_coeffs.npy
3.3 Pixel-to-Millimeter Mapping
Establish mapping between pixel coordinates and robot arm coordinates:
Coordinate mapping diagram
# Mapping method:
# 1. Mark known physical coordinate points on workspace (e.g., 4 corners)
# 2. Record pixel coordinates of these points in image
# 3. Use perspective transform matrix to establish mapping
# Example code (Python):
import cv2
import numpy as np
# Image coordinates (pixels)
pts_src = np.array([[100, 100], [540, 100], [540, 380], [100, 380]])
# Physical coordinates (millimeters)
pts_dst = np.array([[-100, 100], [100, 100], [100, -100], [-100, -100]])
# Calculate perspective transform matrix
h, status = cv2.findHomography(pts_src, pts_dst)
# Save matrix
np.save('homography_matrix.npy', h)
3.4 Mapping Accuracy Verification
- Place object at known position on workspace (e.g., X=50, Y=0)
- Identify object coordinates via vision system
- Compare identified vs. actual coordinates, error should be < 5mm
- If error large, re-collect calibration points
4. Precision Testing
4.1 Repeatability Test
Test robot arm's consistency reaching same position multiple times:
# Test script
for i in range(10):
send_gcode("G28") # Home
send_gcode("G0 X0 Y0 Z-200") # Move to test point
time.sleep(1)
# Manually measure actual position, record deviation
# Target accuracy: ±0.5mm
4.2 Workspace Boundary Verification
Test if workspace boundaries match theoretical values:
# Test boundary points
G0 X100 Y0 Z-200
G0 X-100 Y0 Z-200
G0 X0 Y100 Z-200
G0 X0 Y-100 Z-200
# Check if reachable, if exceeds limits
4.3 Precision Evaluation Standards
| Test Item | Target Accuracy | Test Result |
|---|---|---|
| Repeatability | ±0.5 mm | ______ mm |
| Absolute Accuracy | ±1.0 mm | ______ mm |
| Vision Coordinate Error | < 5 mm | ______ mm |
| Homing Consistency | ±0.2 mm | ______ mm |
If all tests pass, system is ready.