Overview
Deployment is the process of preparing your robot for reliable autonomous operation in the target environment. This includes startup procedures, safety protocols, and operational guidelines.Goal: Ensure robot operates safely, reliably, and effectively in real-world conditions without constant supervision.
Pre-Deployment Checklist
Hardware Readiness
-
Mechanical:
- All screws tight (check regularly for vibration loosening)
- No rattling or loose components
- Wheels spin freely
- Weight distribution balanced
- Cable management secure (no dangling wires)
-
Electrical:
- Battery fully charged (12.6V for 3S LiPo)
- All connections secure
- Emergency stop tested and functional
- No exposed wiring
- Fuse installed (10A recommended)
-
Sensors:
- LiDAR lens clean
- IMU securely mounted
- Camera (if used) focused
- All sensors powered and publishing
Software Readiness
-
System:
- ROS2 packages built (no errors)
- Launch files tested
- Configuration files verified
- Map(s) loaded correctly
-
Testing:
- Teleoperation working
- Autonomous navigation successful (>90%)
- Obstacle avoidance tested
- Recovery behaviors validated
- Continuous operation >30 minutes
-
Safety:
- Emergency stop kills motors immediately
- Software watchdogs implemented
- Velocity limits set appropriately
- Collision detection active
Environment Preparation
-
Map:
- Environment mapped completely
- Map saved and backed up
- No large unknown areas
- Dynamic objects (chairs) noted
-
Safety:
- Emergency stop accessible
- Clear operating area (no trip hazards)
- Good lighting (avoid direct sunlight on LiDAR)
- Spectators at safe distance
-
Communication:
- WiFi network stable
- SSH access tested
- Development PC connected
- Monitoring tools ready
Startup Procedure
Standard Startup Sequence
1
Pre-Start Inspection
Visual check (30 seconds):
- Battery charged (check voltage: 11.5V - 12.6V)
- No loose wires or components
- LiDAR rotates freely (no obstructions)
- Wheels turn freely
- Emergency stop released (if has latch)
2
Power On
Power sequence:
-
ESP32 first (or both simultaneously if single switch)
- Power LED on ESP32 should illuminate
- Wait 2 seconds for boot
-
Raspberry Pi
- Connect power
- Wait 30-45 seconds for boot
- Green LED activity indicates booting
3
Launch Robot System
Terminal 1: Launch complete robot stackWait for all nodes to start (15-20 seconds)Expected output:
4
Verify System Status
Check all nodes running:Check sensor data:Check for errors:Success criteria: All sensors publishing, no critical errors
5
Localize Robot
Launch RViz (on development PC):Set initial pose (AMCL):
- Click “2D Pose Estimate” button
- Click robot’s actual position on map
- Drag to set orientation
- Watch particle cloud converge (5-10 seconds)
- Particle cloud tight cluster
- Robot model aligned with physical position
- TF
map→base_linkcorrect
6
System Ready
Robot is now ready for operation!Indicators:
- ✓ All nodes running
- ✓ Sensors publishing
- ✓ Robot localized correctly
- ✓ No errors in logs
Quick Start Script
Create automated startup script:Auto-Start on Boot (Optional)
Create systemd service for auto-start:Operation Procedures
Manual Navigation (RViz)
For interactive goal selection:1
Launch RViz
2
Send Navigation Goal
- Click “2D Nav Goal” in toolbar
- Click goal position on map
- Drag to set orientation
- Release mouse
- Watch robot navigate
3
Monitor Progress
Watch in RViz:
- Green line: Global path
- Red path: Local trajectory
- Robot moving smoothly
- Costmaps updating
4
Stop Navigation
Cancel goal if needed:Or emergency stop:
- Press physical emergency stop button
- Or publish zero velocity:
Waypoint Mission
For autonomous patrol or delivery missions: Method 1: Waypoint Follower NodeTeleoperation Backup
Manual control if autonomous navigation fails:Safety Protocols
Emergency Stop Procedures
1. Physical Emergency StopSafety Limits
Configure conservative safety limits:Collision Detection
Monitor for collisions:Monitoring & Diagnostics
Real-Time Monitoring
Dashboard view (RViz):- Map + costmaps
- LaserScan
- Robot model with TF
- Odometry path trail
- Navigation paths (global + local)
- Camera feed (if available)
System Health Checks
Create monitoring script:Logging
Enable detailed logging:Shutdown Procedure
1
Stop Navigation
Cancel any active goals:
- Cancel goals in RViz or via command line
- Wait for robot to stop moving
- Verify robot stationary:
2
Shutdown Software
Graceful shutdown:Verify all nodes stopped:
3
Power Off Raspberry Pi
Safe shutdown to prevent SD card corruption:Wait for:
- Green LED stops blinking (~10 seconds)
- No disk activity
4
Power Off ESP32 & Motors
Disconnect main power:
- Ensure robot is stationary
- Flip power switch OFF
- Verify all LEDs off
- Store robot safely
5
Battery Maintenance
LiPo battery care:
- If using soon: Leave charged
- If storing >1 week: Discharge to storage voltage (3.8V/cell = 11.4V total for 3S)
- Store in fireproof LiPo bag
- Check voltage weekly
Troubleshooting Deployment Issues
Robot won't move after startup
Robot won't move after startup
Checklist:
- Check controllers active:
- Check serial connection to ESP32:
- Check
/cmd_velpublished: - Manually test motors (upload test firmware)
Navigation fails immediately
Navigation fails immediately
Battery drains quickly (<30 min)
Battery drains quickly (<30 min)
Causes:
- High motor current (aggressive acceleration)
- Raspberry Pi CPU maxed out
- Old/degraded battery
- Reduce velocity/acceleration limits
- Optimize CPU usage (lower rates)
- Replace battery
- Use larger capacity battery (e.g., 10000mAh instead of 5000mAh)
System freezes or crashes
System freezes or crashes
Debug:
- Check Raspberry Pi temperature:
- Check memory usage:
- Check logs for errors:
- Add heatsink/fan to Raspberry Pi
- Reduce costmap sizes
- Lower update rates
- Kill unnecessary processes
Next Steps
Performance Optimization
Tune system for optimal speed and efficiency
Maintenance Guide
Keep robot in top condition
Final Demo Preparation
Practice and perfect your demonstration
Troubleshooting
Solutions to common problems