Skip to content

Deployment Models

Deployment models refer to the various ways in which software applications can be deployed and made available to users. The choice of deployment model can significantly affect the performance, scalability, and cost of an application. Here are some common deployment models:

ROS Deployment Models

1. Totally Autonomous

In this model, all ROS nodes and computation run directly on the robot’s onboard computer(s). The robot operates independently, without relying on external servers or networks. This is ideal for scenarios where connectivity is unreliable or unavailable, and low-latency, real-time processing is required.

Pros:

  • No dependency on external infrastructure
  • Low latency
  • High reliability in disconnected environments

Cons:

  • Limited by onboard hardware resources
  • Harder to update or monitor remotely

2. Distributed with Calculation Backend

Here, the robot runs a subset of ROS nodes locally (e.g., for sensor data acquisition and basic control), while offloading heavy computation (such as SLAM, object recognition, or planning) to a remote backend server, often over a network. This allows for more complex processing than the robot could handle alone.

Pros:

  • Access to greater computational resources
  • Easier to update and monitor backend algorithms

Cons:

  • Dependent on network connectivity and bandwidth
  • Potential for increased latency

3. Autonomous with Teleoperation

In this model, the robot operates autonomously for most tasks but allows a human operator to intervene or take control remotely when needed. Teleoperation can be used for supervision, troubleshooting, or handling complex situations that the robot cannot resolve on its own. Communication is typically established over a network, enabling real-time or near-real-time control and feedback.

Pros:

  • Combines autonomy with human oversight
  • Increases safety and flexibility
  • Enables remote troubleshooting and support

Cons:

  • Requires reliable network connectivity for teleoperation
  • May introduce latency during manual control
  • Human intervention may be needed in unexpected scenarios

4. Simulation

In simulation deployment, all ROS nodes run on a desktop or server, often using tools like Gazebo or RViz to simulate the robot and its environment. This is used for development, testing, and validation before deploying to real hardware.

Pros:

  • Safe and cost-effective for testing
  • Easy to iterate and debug

Cons:

  • May not capture all real-world complexities
  • Performance may differ from real hardware

These models can be combined or adapted depending on the application requirements and available resources.