Skip to main content

โš™๏ธ Configuration

This section explains how to configure your LIMO Robotics system for smooth operation and robust development.


๐ŸŒ Environment Variables Setupโ€‹

LIMO's launch system is designed for auto-detection and minimal manual configuration.
Most variables are handled for you! But for advanced use, here's what you might need:

VariablePurposeDefault / ExampleWhere Set
M5_IPMyCobot Arm WiFi IP address192.168.137.75 (auto-set)Launch file/env variable
ROS_DOMAIN_IDROS2 Domain for network isolationUsually 0.bashrc or terminal
MAP_FILEMap file path for navigation/home/agilex/krish_ws/maps/map11.yamlLaunch file
YOLO_WEIGHTSPath to YOLO weightsSet in object_detector.pyConfig file/launch
  • Temporary (current terminal):
    export M5_IP=192.168.137.75
  • Persistent (all terminals):
    Add to ~/.bashrc or ~/.bash_profile
    echo 'export M5_IP=192.168.137.75' >> ~/.bashrc
    source ~/.bashrc

๐Ÿš€ Launch Files Configurationโ€‹

  • Main launch:
    full_system.launch.py
    • Auto-detects MyCobot IP on your subnet
    • Brings up robot, camera, navigation, object detector, and mission manager
    • Uses TimerAction to ensure components start in the correct order (critical for real robots!)
Example: full_system.launch.py
limo_start = IncludeLaunchDescription(...)
camera_launch = IncludeLaunchDescription(...)
nav2 = ExecuteProcess(...)
pose_setter = Node(...)
yolo_node = Node(...)
mission_manager = Node(..., additional_env={"M5_IP": detected_ip})
Pro Tip

Launching with:

ros2 launch nav_handler full_system.launch.py

automatically configures IPs, starts all nodes, and opens up RQT for visual feedback.


๐Ÿ”Œ Hardware Connectionsโ€‹

LIMO Pro robot: battery charged, safety on

MyCobot Arm:

  • Connect to WiFi "MyCobotWiFi2.4G", password: mycobt123
  • Arm's IP is detected by codeโ€”no need for static assignment!

Orbbec DaBai Camera:

  • Plug into USB 3.0 (blue port)
  • Detected by orbbec_camera launch

PC/Laptop:

  • Must be on the same network/subnet as robot and arm
Quick Checklist
  • Robot powered on
  • MyCobot hotspot running and arm on
  • Camera connected
  • PC on same network
  • Use ros2 launch nav_handler full_system.launch.py to start everything

๐ŸŽš๏ธ Parameter Tuningโ€‹

Many nodes support parameter tuning to optimize performance:

YOLO detector:

  • Detection confidence (conf=0.5)
  • Depth thresholds (MIN_DEPTH_METERS, MAX_DEPTH_METERS)
  • Approach distance to object (APPROACH_DIST)
  • Camera intrinsics (auto-set from camera info)

Navigation:

  • Map file, costmap configs, waypoint lists
  • Initial pose (set by pose_setter.py)

Edit parameters in the relevant Python or YAML config file:

object_detector.py
MIN_DEPTH_METERS = 0.15
MAX_DEPTH_METERS = 4.0
APPROACH_DIST = 0.30

Or use ROS2 param system for launch-time tuning.


๐Ÿ›‘ Common Configuration Pitfallsโ€‹

  • Forgetting to source your workspace (source install/setup.bash)
  • Not connecting all hardware to the same network
  • Hardcoding IP addresses (use auto-detect!)
  • Editing vendor launch files instead of copying to your own workspace
Real-World Advice

Never hardcode IPs or parameters unless absolutely necessary. The launch system is designed to auto-configure as much as possibleโ€”trust it!


๐ŸŽฏ Next Stepsโ€‹