-
 

Package Summary

Tags No category tags.
Version 2.5.0
License Apache License 2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/open-rmf/rmf_demos.git
VCS Type git
VCS Version main
Last Updated 2024-12-16
Dev Status DEVELOPED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Fleet adapters for interfacing with RMF Demos robots with a fleet manager via REST API

Additional Links

No additional links.

Maintainers

  • Xi Yu Oh
  • Yadunund

Authors

No additional authors.

rmf_demos_fleet_adapter

This is an implementation of the python based fleet adapter template on selected RMF demo worlds: Hotel, Office, Airport Terminal and Clinic.

This fleet adapter integration relies on a fleet manager and a fleet adapter:

  • The fleet manager comprises of specific endpoints that help relay commands to the fleet’s robots. It communicates with the robots over internal ROS 2 messages, while interfacing with the adapter via an API chosen by the user. For this demo fleet adapter implementation, we are using REST API with FastAPI framework.
  • The fleet adapter receives commands from RMF and interfaces with the fleet manager to receive robot state information, as well as send task and navigation commands to the robots

Getting Started

Make sure the required dependencies are installed:

pip3 install fastapi uvicorn

# **Ensure the py libs version are 'fastapi>=0.79.0', 'uvicorn>=0.18.2'.

You can interact with the endpoints with FastAPI’s automatic documentation. First launch a demo world, then visit the base URL with /docs appended at the end. Do take note that the port number for each demo fleet is specified in rmf_demos/rmf_demos/config/.

Example

Launch the Office world:

source ~/rmf_ws/install/setup.bash
ros2 launch rmf_demos_gz_classic office.launch.xml

Then, visit http://127.0.0.1:22011/docs in your browser to interact with the endpoints.

Request/Response Schemas

Depending on the endpoint, the content may vary (i.e. some items may be removed), but a general structure is followed:

Request Body
{
  "map_name": "string",
  "task": "string",
  "destination": {},
  "data": {},
  "speed_limit": 0.0
}

Response Body
{
  "data": {},
  "success": true,
  "msg": ""
}1

API Endpoints

Note: The base URL in this section contains the port number 22011 dedicated to the tinyRobot fleet. The port number varies across different fleets.

1. Get Robot Status

The status endpoint allows the fleet adapter to access robot state information such as its current position and battery level. This endpoint does not require a Request Body.

There are two ways to request the fleet robot status:

a. Get status of all robots in the fleet

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/status/

Response Body:
{
  "data": {
    "all_robots": [
      {
        "robot_name": "tinyRobot1",
        "map_name": "L1",
        "position": {
          "x": 10.0,
          "y": 20.0,
          "yaw": 1.0
        },
        "battery": 100,
        "last_completed_request": 2,
        "destination_arrival": {
          "cmd_id": 3,
          "duration": 14.3
        }
      },
      {
        "robot_name": "tinyRobot2",
        "map_name": "L1",
        "position": {
          "x": 5.0,
          "y": 25.0,
          "yaw": 1.4
        },
        "battery": 100,
        "last_completed_request": 3,
        "destination_arrival": null,
        "replan": true
      }
    ]
  },
  "success": true,
  "msg": ""
}

b. Get status of specified robot in the fleet

Append a robot_name query parameter to the end of the URL.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/status/?robot_name=tinyRobot1

Response Body:
{
  "data": {
    "robot_name": "tinyRobot1",
    "map_name": "L1",
    "position": {
      "x": 10.0,
      "y": 20.0,
      "yaw": 1.0
    },
    "battery": 100,
    "last_completed_request": 2,
    "destination_arrival": {
      "cmd_id": 3,
      "duration": 14.3
    }
  },
  "success": true,
  "msg": ""
}

2. Send Navigation Request

The navigate endpoint allows the fleet adapter to send navigation waypoints to a specified robot. This endpoint requires a Request Body and a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/navigate/?robot_name=tinyRobot1

Request Body:
{
  "map_name": "L1",
  "destination": {
    "x": 7.0,
    "y": 3.5,
    "yaw": 0.5
  },
  "speed_limit": 0.0
}

Response Body:
{
  "success": true,
  "msg": ""
}

3. Stop Robot

The stop endpoint allows the fleet adapter to command a specified robot to stop. This endpoint only requires a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/stop/?robot_name=tinyRobot1

Response Body:
{
  "success": true,
  "msg": ""
}

4. Send Task Request

The start_activity endpoint allows the fleet adapter to send task requests to a specified robot. This endpoint requires a Request Body and a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/start_activity/?robot_name=tinyRobot1

Request Body:
{
  "map_name": "L1",
  "task": "clean_lobby"
}

The fleet manager will respond by indicating what path the robot will follow while performing the activity.

Response Body:
{
  "success": true,
  "msg": "",
  "data": {
    "path": {
      "map_name": "L1",
      "path": [ ... ]
    }
  }
}

CHANGELOG

Changelog for package rmf_demos_fleet_adapter

2.5.0 (2024-11-27)

  • Add proto-reservation node as core part of RMF (#212)
  • Remove nav graph for fleet manager and update Office world (#263)
  • Fix existing style issues (#252)
  • Fixes undefined variable in [FleetManager]{.title-ref} (#251)
  • Add attach cart action (#225)
  • Contributors: Arjo Chakravarty, Luca Della Vedova, Xiyu

2.4.0 (2024-06-12)

2.3.0 (2024-06-12)

  • Port to harmonic (#206)
  • Add task reassignment trigger in update loop (#228)
  • Add a script for opening and closing lanes (#216)
  • Corrected the way open_lanes and close_lanes functions are called (#220)
  • Add all exec deps for rmf_demos_fleet_adapter (#211)
  • Remove easy_fleet param from launch (#194)
  • Update CI to rolling on main (#208)
  • Contributors: Luca Della Vedova, Michael X. Grey, Xiyu, Yadunund, suchetanrs

2.2.3 (2023-12-20)

2.2.2 (2023-08-28)

  • EasyFullControl integration with rmf_demos (#158)
  • Contributors: Aaron Chong, Grey, Xiyu, Yadunund

2.2.1 (2023-08-10)

2.2.0 (2023-06-08)

2.1.0 (2023-06-06)

  • Switch to rst changelogs (#182)
  • Version updates from latest release synced to main (#167)
  • Contributors: Esteban Martinena Guerrero, Yadunund

2.0.2 (2022-10-10)

2.0.1 (2022-09-29)

1.4.0 (2022-02-14)

  • Provide an example adapter for a delivery robot with indoor-outdoor capabilities (#121)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_fleet_adapter at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.3.0
License Apache License 2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/open-rmf/rmf_demos.git
VCS Type git
VCS Version jazzy
Last Updated 2024-06-11
Dev Status DEVELOPED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Fleet adapters for interfacing with RMF Demos robots with a fleet manager via REST API

Additional Links

No additional links.

Maintainers

  • Xi Yu Oh
  • Yadunund

Authors

No additional authors.

rmf_demos_fleet_adapter

This is an implementation of the python based fleet adapter template on selected RMF demo worlds: Hotel, Office, Airport Terminal and Clinic.

This fleet adapter integration relies on a fleet manager and a fleet adapter:

  • The fleet manager comprises of specific endpoints that help relay commands to the fleet’s robots. It communicates with the robots over internal ROS 2 messages, while interfacing with the adapter via an API chosen by the user. For this demo fleet adapter implementation, we are using REST API with FastAPI framework.
  • The fleet adapter receives commands from RMF and interfaces with the fleet manager to receive robot state information, as well as send task and navigation commands to the robots

Getting Started

Make sure the required dependencies are installed:

pip3 install fastapi uvicorn

# **Ensure the py libs version are 'fastapi>=0.79.0', 'uvicorn>=0.18.2'.

You can interact with the endpoints with FastAPI’s automatic documentation. First launch a demo world, then visit the base URL with /docs appended at the end. Do take note that the port number for each demo fleet is specified in rmf_demos/rmf_demos/config/.

Example

Launch the Office world:

source ~/rmf_ws/install/setup.bash
ros2 launch rmf_demos_gz_classic office.launch.xml

Then, visit http://127.0.0.1:22011/docs in your browser to interact with the endpoints.

Request/Response Schemas

Depending on the endpoint, the content may vary (i.e. some items may be removed), but a general structure is followed:

Request Body
{
  "map_name": "string",
  "task": "string",
  "destination": {},
  "data": {},
  "speed_limit": 0.0
}

Response Body
{
  "data": {},
  "success": true,
  "msg": ""
}1

API Endpoints

Note: The base URL in this section contains the port number 22011 dedicated to the tinyRobot fleet. The port number varies across different fleets.

1. Get Robot Status

The status endpoint allows the fleet adapter to access robot state information such as its current position and battery level. This endpoint does not require a Request Body.

There are two ways to request the fleet robot status:

a. Get status of all robots in the fleet

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/status/

Response Body:
{
  "data": {
    "all_robots": [
      {
        "robot_name": "tinyRobot1",
        "map_name": "L1",
        "position": {
          "x": 10.0,
          "y": 20.0,
          "yaw": 1.0
        },
        "battery": 100,
        "last_completed_request": 2,
        "destination_arrival": {
          "cmd_id": 3,
          "duration": 14.3
        }
      },
      {
        "robot_name": "tinyRobot2",
        "map_name": "L1",
        "position": {
          "x": 5.0,
          "y": 25.0,
          "yaw": 1.4
        },
        "battery": 100,
        "last_completed_request": 3,
        "destination_arrival": null,
        "replan": true
      }
    ]
  },
  "success": true,
  "msg": ""
}

b. Get status of specified robot in the fleet

Append a robot_name query parameter to the end of the URL.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/status/?robot_name=tinyRobot1

Response Body:
{
  "data": {
    "robot_name": "tinyRobot1",
    "map_name": "L1",
    "position": {
      "x": 10.0,
      "y": 20.0,
      "yaw": 1.0
    },
    "battery": 100,
    "last_completed_request": 2,
    "destination_arrival": {
      "cmd_id": 3,
      "duration": 14.3
    }
  },
  "success": true,
  "msg": ""
}

2. Send Navigation Request

The navigate endpoint allows the fleet adapter to send navigation waypoints to a specified robot. This endpoint requires a Request Body and a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/navigate/?robot_name=tinyRobot1

Request Body:
{
  "map_name": "L1",
  "destination": {
    "x": 7.0,
    "y": 3.5,
    "yaw": 0.5
  },
  "speed_limit": 0.0
}

Response Body:
{
  "success": true,
  "msg": ""
}

3. Stop Robot

The stop endpoint allows the fleet adapter to command a specified robot to stop. This endpoint only requires a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/stop/?robot_name=tinyRobot1

Response Body:
{
  "success": true,
  "msg": ""
}

4. Send Task Request

The start_activity endpoint allows the fleet adapter to send task requests to a specified robot. This endpoint requires a Request Body and a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/start_activity/?robot_name=tinyRobot1

Request Body:
{
  "map_name": "L1",
  "task": "clean_lobby"
}

The fleet manager will respond by indicating what path the robot will follow while performing the activity.

Response Body:
{
  "success": true,
  "msg": "",
  "data": {
    "path": {
      "map_name": "L1",
      "path": [ ... ]
    }
  }
}

CHANGELOG

Changelog for package rmf_demos_fleet_adapter

2.3.0 (2024-06-12)

  • Port to harmonic (#206)
  • Add task reassignment trigger in update loop (#228)
  • Add a script for opening and closing lanes (#216)
  • Corrected the way open_lanes and close_lanes functions are called (#220)
  • Add all exec deps for rmf_demos_fleet_adapter (#211)
  • Remove easy_fleet param from launch (#194)
  • Update CI to rolling on main (#208)
  • Contributors: Luca Della Vedova, Michael X. Grey, Xiyu, Yadunund, suchetanrs

2.2.3 (2023-12-20)

2.2.2 (2023-08-28)

  • EasyFullControl integration with rmf_demos (#158)
  • Contributors: Aaron Chong, Grey, Xiyu, Yadunund

2.2.1 (2023-08-10)

2.2.0 (2023-06-08)

2.1.0 (2023-06-06)

  • Switch to rst changelogs (#182)
  • Version updates from latest release synced to main (#167)
  • Contributors: Esteban Martinena Guerrero, Yadunund

2.0.2 (2022-10-10)

2.0.1 (2022-09-29)

1.4.0 (2022-02-14)

  • Provide an example adapter for a delivery robot with indoor-outdoor capabilities (#121)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_fleet_adapter at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.5.0
License Apache License 2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/open-rmf/rmf_demos.git
VCS Type git
VCS Version main
Last Updated 2024-12-16
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Fleet adapters for interfacing with RMF Demos robots with a fleet manager via REST API

Additional Links

No additional links.

Maintainers

  • Xi Yu Oh
  • Yadunund

Authors

No additional authors.

rmf_demos_fleet_adapter

This is an implementation of the python based fleet adapter template on selected RMF demo worlds: Hotel, Office, Airport Terminal and Clinic.

This fleet adapter integration relies on a fleet manager and a fleet adapter:

  • The fleet manager comprises of specific endpoints that help relay commands to the fleet’s robots. It communicates with the robots over internal ROS 2 messages, while interfacing with the adapter via an API chosen by the user. For this demo fleet adapter implementation, we are using REST API with FastAPI framework.
  • The fleet adapter receives commands from RMF and interfaces with the fleet manager to receive robot state information, as well as send task and navigation commands to the robots

Getting Started

Make sure the required dependencies are installed:

pip3 install fastapi uvicorn

# **Ensure the py libs version are 'fastapi>=0.79.0', 'uvicorn>=0.18.2'.

You can interact with the endpoints with FastAPI’s automatic documentation. First launch a demo world, then visit the base URL with /docs appended at the end. Do take note that the port number for each demo fleet is specified in rmf_demos/rmf_demos/config/.

Example

Launch the Office world:

source ~/rmf_ws/install/setup.bash
ros2 launch rmf_demos_gz_classic office.launch.xml

Then, visit http://127.0.0.1:22011/docs in your browser to interact with the endpoints.

Request/Response Schemas

Depending on the endpoint, the content may vary (i.e. some items may be removed), but a general structure is followed:

Request Body
{
  "map_name": "string",
  "task": "string",
  "destination": {},
  "data": {},
  "speed_limit": 0.0
}

Response Body
{
  "data": {},
  "success": true,
  "msg": ""
}1

API Endpoints

Note: The base URL in this section contains the port number 22011 dedicated to the tinyRobot fleet. The port number varies across different fleets.

1. Get Robot Status

The status endpoint allows the fleet adapter to access robot state information such as its current position and battery level. This endpoint does not require a Request Body.

There are two ways to request the fleet robot status:

a. Get status of all robots in the fleet

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/status/

Response Body:
{
  "data": {
    "all_robots": [
      {
        "robot_name": "tinyRobot1",
        "map_name": "L1",
        "position": {
          "x": 10.0,
          "y": 20.0,
          "yaw": 1.0
        },
        "battery": 100,
        "last_completed_request": 2,
        "destination_arrival": {
          "cmd_id": 3,
          "duration": 14.3
        }
      },
      {
        "robot_name": "tinyRobot2",
        "map_name": "L1",
        "position": {
          "x": 5.0,
          "y": 25.0,
          "yaw": 1.4
        },
        "battery": 100,
        "last_completed_request": 3,
        "destination_arrival": null,
        "replan": true
      }
    ]
  },
  "success": true,
  "msg": ""
}

b. Get status of specified robot in the fleet

Append a robot_name query parameter to the end of the URL.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/status/?robot_name=tinyRobot1

Response Body:
{
  "data": {
    "robot_name": "tinyRobot1",
    "map_name": "L1",
    "position": {
      "x": 10.0,
      "y": 20.0,
      "yaw": 1.0
    },
    "battery": 100,
    "last_completed_request": 2,
    "destination_arrival": {
      "cmd_id": 3,
      "duration": 14.3
    }
  },
  "success": true,
  "msg": ""
}

2. Send Navigation Request

The navigate endpoint allows the fleet adapter to send navigation waypoints to a specified robot. This endpoint requires a Request Body and a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/navigate/?robot_name=tinyRobot1

Request Body:
{
  "map_name": "L1",
  "destination": {
    "x": 7.0,
    "y": 3.5,
    "yaw": 0.5
  },
  "speed_limit": 0.0
}

Response Body:
{
  "success": true,
  "msg": ""
}

3. Stop Robot

The stop endpoint allows the fleet adapter to command a specified robot to stop. This endpoint only requires a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/stop/?robot_name=tinyRobot1

Response Body:
{
  "success": true,
  "msg": ""
}

4. Send Task Request

The start_activity endpoint allows the fleet adapter to send task requests to a specified robot. This endpoint requires a Request Body and a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/start_activity/?robot_name=tinyRobot1

Request Body:
{
  "map_name": "L1",
  "task": "clean_lobby"
}

The fleet manager will respond by indicating what path the robot will follow while performing the activity.

Response Body:
{
  "success": true,
  "msg": "",
  "data": {
    "path": {
      "map_name": "L1",
      "path": [ ... ]
    }
  }
}

CHANGELOG

Changelog for package rmf_demos_fleet_adapter

2.5.0 (2024-11-27)

  • Add proto-reservation node as core part of RMF (#212)
  • Remove nav graph for fleet manager and update Office world (#263)
  • Fix existing style issues (#252)
  • Fixes undefined variable in [FleetManager]{.title-ref} (#251)
  • Add attach cart action (#225)
  • Contributors: Arjo Chakravarty, Luca Della Vedova, Xiyu

2.4.0 (2024-06-12)

2.3.0 (2024-06-12)

  • Port to harmonic (#206)
  • Add task reassignment trigger in update loop (#228)
  • Add a script for opening and closing lanes (#216)
  • Corrected the way open_lanes and close_lanes functions are called (#220)
  • Add all exec deps for rmf_demos_fleet_adapter (#211)
  • Remove easy_fleet param from launch (#194)
  • Update CI to rolling on main (#208)
  • Contributors: Luca Della Vedova, Michael X. Grey, Xiyu, Yadunund, suchetanrs

2.2.3 (2023-12-20)

2.2.2 (2023-08-28)

  • EasyFullControl integration with rmf_demos (#158)
  • Contributors: Aaron Chong, Grey, Xiyu, Yadunund

2.2.1 (2023-08-10)

2.2.0 (2023-06-08)

2.1.0 (2023-06-06)

  • Switch to rst changelogs (#182)
  • Version updates from latest release synced to main (#167)
  • Contributors: Esteban Martinena Guerrero, Yadunund

2.0.2 (2022-10-10)

2.0.1 (2022-09-29)

1.4.0 (2022-02-14)

  • Provide an example adapter for a delivery robot with indoor-outdoor capabilities (#121)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_fleet_adapter at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.5.0
License Apache License 2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/open-rmf/rmf_demos.git
VCS Type git
VCS Version main
Last Updated 2024-12-16
Dev Status DEVELOPED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Fleet adapters for interfacing with RMF Demos robots with a fleet manager via REST API

Additional Links

No additional links.

Maintainers

  • Xi Yu Oh
  • Yadunund

Authors

No additional authors.

rmf_demos_fleet_adapter

This is an implementation of the python based fleet adapter template on selected RMF demo worlds: Hotel, Office, Airport Terminal and Clinic.

This fleet adapter integration relies on a fleet manager and a fleet adapter:

  • The fleet manager comprises of specific endpoints that help relay commands to the fleet’s robots. It communicates with the robots over internal ROS 2 messages, while interfacing with the adapter via an API chosen by the user. For this demo fleet adapter implementation, we are using REST API with FastAPI framework.
  • The fleet adapter receives commands from RMF and interfaces with the fleet manager to receive robot state information, as well as send task and navigation commands to the robots

Getting Started

Make sure the required dependencies are installed:

pip3 install fastapi uvicorn

# **Ensure the py libs version are 'fastapi>=0.79.0', 'uvicorn>=0.18.2'.

You can interact with the endpoints with FastAPI’s automatic documentation. First launch a demo world, then visit the base URL with /docs appended at the end. Do take note that the port number for each demo fleet is specified in rmf_demos/rmf_demos/config/.

Example

Launch the Office world:

source ~/rmf_ws/install/setup.bash
ros2 launch rmf_demos_gz_classic office.launch.xml

Then, visit http://127.0.0.1:22011/docs in your browser to interact with the endpoints.

Request/Response Schemas

Depending on the endpoint, the content may vary (i.e. some items may be removed), but a general structure is followed:

Request Body
{
  "map_name": "string",
  "task": "string",
  "destination": {},
  "data": {},
  "speed_limit": 0.0
}

Response Body
{
  "data": {},
  "success": true,
  "msg": ""
}1

API Endpoints

Note: The base URL in this section contains the port number 22011 dedicated to the tinyRobot fleet. The port number varies across different fleets.

1. Get Robot Status

The status endpoint allows the fleet adapter to access robot state information such as its current position and battery level. This endpoint does not require a Request Body.

There are two ways to request the fleet robot status:

a. Get status of all robots in the fleet

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/status/

Response Body:
{
  "data": {
    "all_robots": [
      {
        "robot_name": "tinyRobot1",
        "map_name": "L1",
        "position": {
          "x": 10.0,
          "y": 20.0,
          "yaw": 1.0
        },
        "battery": 100,
        "last_completed_request": 2,
        "destination_arrival": {
          "cmd_id": 3,
          "duration": 14.3
        }
      },
      {
        "robot_name": "tinyRobot2",
        "map_name": "L1",
        "position": {
          "x": 5.0,
          "y": 25.0,
          "yaw": 1.4
        },
        "battery": 100,
        "last_completed_request": 3,
        "destination_arrival": null,
        "replan": true
      }
    ]
  },
  "success": true,
  "msg": ""
}

b. Get status of specified robot in the fleet

Append a robot_name query parameter to the end of the URL.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/status/?robot_name=tinyRobot1

Response Body:
{
  "data": {
    "robot_name": "tinyRobot1",
    "map_name": "L1",
    "position": {
      "x": 10.0,
      "y": 20.0,
      "yaw": 1.0
    },
    "battery": 100,
    "last_completed_request": 2,
    "destination_arrival": {
      "cmd_id": 3,
      "duration": 14.3
    }
  },
  "success": true,
  "msg": ""
}

2. Send Navigation Request

The navigate endpoint allows the fleet adapter to send navigation waypoints to a specified robot. This endpoint requires a Request Body and a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/navigate/?robot_name=tinyRobot1

Request Body:
{
  "map_name": "L1",
  "destination": {
    "x": 7.0,
    "y": 3.5,
    "yaw": 0.5
  },
  "speed_limit": 0.0
}

Response Body:
{
  "success": true,
  "msg": ""
}

3. Stop Robot

The stop endpoint allows the fleet adapter to command a specified robot to stop. This endpoint only requires a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/stop/?robot_name=tinyRobot1

Response Body:
{
  "success": true,
  "msg": ""
}

4. Send Task Request

The start_activity endpoint allows the fleet adapter to send task requests to a specified robot. This endpoint requires a Request Body and a robot_name query parameter.

Request URL: http://127.0.0.1:22011/open-rmf/rmf_demos_fm/start_activity/?robot_name=tinyRobot1

Request Body:
{
  "map_name": "L1",
  "task": "clean_lobby"
}

The fleet manager will respond by indicating what path the robot will follow while performing the activity.

Response Body:
{
  "success": true,
  "msg": "",
  "data": {
    "path": {
      "map_name": "L1",
      "path": [ ... ]
    }
  }
}

CHANGELOG

Changelog for package rmf_demos_fleet_adapter

2.5.0 (2024-11-27)

  • Add proto-reservation node as core part of RMF (#212)
  • Remove nav graph for fleet manager and update Office world (#263)
  • Fix existing style issues (#252)
  • Fixes undefined variable in [FleetManager]{.title-ref} (#251)
  • Add attach cart action (#225)
  • Contributors: Arjo Chakravarty, Luca Della Vedova, Xiyu

2.4.0 (2024-06-12)

2.3.0 (2024-06-12)

  • Port to harmonic (#206)
  • Add task reassignment trigger in update loop (#228)
  • Add a script for opening and closing lanes (#216)
  • Corrected the way open_lanes and close_lanes functions are called (#220)
  • Add all exec deps for rmf_demos_fleet_adapter (#211)
  • Remove easy_fleet param from launch (#194)
  • Update CI to rolling on main (#208)
  • Contributors: Luca Della Vedova, Michael X. Grey, Xiyu, Yadunund, suchetanrs

2.2.3 (2023-12-20)

2.2.2 (2023-08-28)

  • EasyFullControl integration with rmf_demos (#158)
  • Contributors: Aaron Chong, Grey, Xiyu, Yadunund

2.2.1 (2023-08-10)

2.2.0 (2023-06-08)

2.1.0 (2023-06-06)

  • Switch to rst changelogs (#182)
  • Version updates from latest release synced to main (#167)
  • Contributors: Esteban Martinena Guerrero, Yadunund

2.0.2 (2022-10-10)

2.0.1 (2022-09-29)

1.4.0 (2022-02-14)

  • Provide an example adapter for a delivery robot with indoor-outdoor capabilities (#121)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_fleet_adapter at Robotics Stack Exchange

No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.