No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description A framework for orchestration
Checkout URI https://github.com/osrf/nexus.git
VCS Type git
VCS Version main
Last Updated 2025-08-12
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package for managing systems that offer transportation services

Additional Links

No additional links.

Maintainers

  • Yadunund

Authors

No additional authors.

nexus_transporter

This package provides a pure virtual interface Transporter to be implemented to integrate a transportation system into Nexus.

Libraries that implement the Transporter class can be loaded through pluginlib at runtime by the TransporterNode. Two reference implementations of Transporter are provided.

Mock transporter

The mock transporter simulates a simple conveyor belt and has the following parameters:

  • x_increment The distance in meters between stations.
  • destinations An ordered list of named stations.
  • speed Speed in m/s of the conveyor belt.

The plugin will then simulate a conveyor with a list of destinations, equally spaced by x_increment, moving at a fixed speed.

RMF transporter

The RMF transporter provides an interface to a running RMF instance. The plugin will create a composed task with a series of pickup / dropoffs based on the requested itinerary and assess its feasibility by checking,

  • that the requested destinations are present in the navigation graphs of the Open-RMF building map, only then will it
  • start an Open-RMF dry-run bidding process with the created task, to determine which AMR should be assigned to the task, without starting the task

Once the itinerary has been accepted and the transporter starts the transportation task, the composed task will be directly dispatched to the assigned AMR.

The plugin implements the Transporter::handle_signal interface to signal AMRs when they can resume their itinerary, by publishing the corresponding dispensing or ingesting results.

Specifically, when an AMR reaches its last destination and it is marked as a dropoff, the transportation request will be marked as complete and Open-RMF will begin publishing an IngestorRequest and wait for a matching IngestorResult. As soon as the transporter’s handle_signal function receives the dropoff signal, the matching IngestorResult message will be published and the AMR will be released and complete its task.

Mock dispenser

A mock_dispenser_interface parameter is provided (and defaults to true). The parameter creates a mock dispenser interface that will always publish a successful dispenser result for each dispenser request that is sent for a Nexus itinerary. The purpose of this dispenser is to allow testing full RMF delivery tasks while the logic for a workcell to dispense arbitrary items on an AMR is not available yet.

Future work

  • Implement workcells with multiple input / output stations and use them for transportation requests.
CHANGELOG

Changelog for package nexus_transporter

0.1.1 (2023-11-20)

0.1.0 (2023-11-06)

  • Provides the nexus_transporter_node which interfaces with transportation systems to move material across a flowline.
  • Provides the Transporter API for users to integrate transportation systems.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nexus_transporter at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description A framework for orchestration
Checkout URI https://github.com/osrf/nexus.git
VCS Type git
VCS Version main
Last Updated 2025-08-12
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package for managing systems that offer transportation services

Additional Links

No additional links.

Maintainers

  • Yadunund

Authors

No additional authors.

nexus_transporter

This package provides a pure virtual interface Transporter to be implemented to integrate a transportation system into Nexus.

Libraries that implement the Transporter class can be loaded through pluginlib at runtime by the TransporterNode. Two reference implementations of Transporter are provided.

Mock transporter

The mock transporter simulates a simple conveyor belt and has the following parameters:

  • x_increment The distance in meters between stations.
  • destinations An ordered list of named stations.
  • speed Speed in m/s of the conveyor belt.

The plugin will then simulate a conveyor with a list of destinations, equally spaced by x_increment, moving at a fixed speed.

RMF transporter

The RMF transporter provides an interface to a running RMF instance. The plugin will create a composed task with a series of pickup / dropoffs based on the requested itinerary and assess its feasibility by checking,

  • that the requested destinations are present in the navigation graphs of the Open-RMF building map, only then will it
  • start an Open-RMF dry-run bidding process with the created task, to determine which AMR should be assigned to the task, without starting the task

Once the itinerary has been accepted and the transporter starts the transportation task, the composed task will be directly dispatched to the assigned AMR.

The plugin implements the Transporter::handle_signal interface to signal AMRs when they can resume their itinerary, by publishing the corresponding dispensing or ingesting results.

Specifically, when an AMR reaches its last destination and it is marked as a dropoff, the transportation request will be marked as complete and Open-RMF will begin publishing an IngestorRequest and wait for a matching IngestorResult. As soon as the transporter’s handle_signal function receives the dropoff signal, the matching IngestorResult message will be published and the AMR will be released and complete its task.

Mock dispenser

A mock_dispenser_interface parameter is provided (and defaults to true). The parameter creates a mock dispenser interface that will always publish a successful dispenser result for each dispenser request that is sent for a Nexus itinerary. The purpose of this dispenser is to allow testing full RMF delivery tasks while the logic for a workcell to dispense arbitrary items on an AMR is not available yet.

Future work

  • Implement workcells with multiple input / output stations and use them for transportation requests.
CHANGELOG

Changelog for package nexus_transporter

0.1.1 (2023-11-20)

0.1.0 (2023-11-06)

  • Provides the nexus_transporter_node which interfaces with transportation systems to move material across a flowline.
  • Provides the Transporter API for users to integrate transportation systems.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nexus_transporter at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description A framework for orchestration
Checkout URI https://github.com/osrf/nexus.git
VCS Type git
VCS Version main
Last Updated 2025-08-12
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package for managing systems that offer transportation services

Additional Links

No additional links.

Maintainers

  • Yadunund

Authors

No additional authors.

nexus_transporter

This package provides a pure virtual interface Transporter to be implemented to integrate a transportation system into Nexus.

Libraries that implement the Transporter class can be loaded through pluginlib at runtime by the TransporterNode. Two reference implementations of Transporter are provided.

Mock transporter

The mock transporter simulates a simple conveyor belt and has the following parameters:

  • x_increment The distance in meters between stations.
  • destinations An ordered list of named stations.
  • speed Speed in m/s of the conveyor belt.

The plugin will then simulate a conveyor with a list of destinations, equally spaced by x_increment, moving at a fixed speed.

RMF transporter

The RMF transporter provides an interface to a running RMF instance. The plugin will create a composed task with a series of pickup / dropoffs based on the requested itinerary and assess its feasibility by checking,

  • that the requested destinations are present in the navigation graphs of the Open-RMF building map, only then will it
  • start an Open-RMF dry-run bidding process with the created task, to determine which AMR should be assigned to the task, without starting the task

Once the itinerary has been accepted and the transporter starts the transportation task, the composed task will be directly dispatched to the assigned AMR.

The plugin implements the Transporter::handle_signal interface to signal AMRs when they can resume their itinerary, by publishing the corresponding dispensing or ingesting results.

Specifically, when an AMR reaches its last destination and it is marked as a dropoff, the transportation request will be marked as complete and Open-RMF will begin publishing an IngestorRequest and wait for a matching IngestorResult. As soon as the transporter’s handle_signal function receives the dropoff signal, the matching IngestorResult message will be published and the AMR will be released and complete its task.

Mock dispenser

A mock_dispenser_interface parameter is provided (and defaults to true). The parameter creates a mock dispenser interface that will always publish a successful dispenser result for each dispenser request that is sent for a Nexus itinerary. The purpose of this dispenser is to allow testing full RMF delivery tasks while the logic for a workcell to dispense arbitrary items on an AMR is not available yet.

Future work

  • Implement workcells with multiple input / output stations and use them for transportation requests.
CHANGELOG

Changelog for package nexus_transporter

0.1.1 (2023-11-20)

0.1.0 (2023-11-06)

  • Provides the nexus_transporter_node which interfaces with transportation systems to move material across a flowline.
  • Provides the Transporter API for users to integrate transportation systems.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nexus_transporter at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description A framework for orchestration
Checkout URI https://github.com/osrf/nexus.git
VCS Type git
VCS Version main
Last Updated 2025-08-12
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package for managing systems that offer transportation services

Additional Links

No additional links.

Maintainers

  • Yadunund

Authors

No additional authors.

nexus_transporter

This package provides a pure virtual interface Transporter to be implemented to integrate a transportation system into Nexus.

Libraries that implement the Transporter class can be loaded through pluginlib at runtime by the TransporterNode. Two reference implementations of Transporter are provided.

Mock transporter

The mock transporter simulates a simple conveyor belt and has the following parameters:

  • x_increment The distance in meters between stations.
  • destinations An ordered list of named stations.
  • speed Speed in m/s of the conveyor belt.

The plugin will then simulate a conveyor with a list of destinations, equally spaced by x_increment, moving at a fixed speed.

RMF transporter

The RMF transporter provides an interface to a running RMF instance. The plugin will create a composed task with a series of pickup / dropoffs based on the requested itinerary and assess its feasibility by checking,

  • that the requested destinations are present in the navigation graphs of the Open-RMF building map, only then will it
  • start an Open-RMF dry-run bidding process with the created task, to determine which AMR should be assigned to the task, without starting the task

Once the itinerary has been accepted and the transporter starts the transportation task, the composed task will be directly dispatched to the assigned AMR.

The plugin implements the Transporter::handle_signal interface to signal AMRs when they can resume their itinerary, by publishing the corresponding dispensing or ingesting results.

Specifically, when an AMR reaches its last destination and it is marked as a dropoff, the transportation request will be marked as complete and Open-RMF will begin publishing an IngestorRequest and wait for a matching IngestorResult. As soon as the transporter’s handle_signal function receives the dropoff signal, the matching IngestorResult message will be published and the AMR will be released and complete its task.

Mock dispenser

A mock_dispenser_interface parameter is provided (and defaults to true). The parameter creates a mock dispenser interface that will always publish a successful dispenser result for each dispenser request that is sent for a Nexus itinerary. The purpose of this dispenser is to allow testing full RMF delivery tasks while the logic for a workcell to dispense arbitrary items on an AMR is not available yet.

Future work

  • Implement workcells with multiple input / output stations and use them for transportation requests.
CHANGELOG

Changelog for package nexus_transporter

0.1.1 (2023-11-20)

0.1.0 (2023-11-06)

  • Provides the nexus_transporter_node which interfaces with transportation systems to move material across a flowline.
  • Provides the Transporter API for users to integrate transportation systems.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nexus_transporter at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description A framework for orchestration
Checkout URI https://github.com/osrf/nexus.git
VCS Type git
VCS Version main
Last Updated 2025-08-12
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package for managing systems that offer transportation services

Additional Links

No additional links.

Maintainers

  • Yadunund

Authors

No additional authors.

nexus_transporter

This package provides a pure virtual interface Transporter to be implemented to integrate a transportation system into Nexus.

Libraries that implement the Transporter class can be loaded through pluginlib at runtime by the TransporterNode. Two reference implementations of Transporter are provided.

Mock transporter

The mock transporter simulates a simple conveyor belt and has the following parameters:

  • x_increment The distance in meters between stations.
  • destinations An ordered list of named stations.
  • speed Speed in m/s of the conveyor belt.

The plugin will then simulate a conveyor with a list of destinations, equally spaced by x_increment, moving at a fixed speed.

RMF transporter

The RMF transporter provides an interface to a running RMF instance. The plugin will create a composed task with a series of pickup / dropoffs based on the requested itinerary and assess its feasibility by checking,

  • that the requested destinations are present in the navigation graphs of the Open-RMF building map, only then will it
  • start an Open-RMF dry-run bidding process with the created task, to determine which AMR should be assigned to the task, without starting the task

Once the itinerary has been accepted and the transporter starts the transportation task, the composed task will be directly dispatched to the assigned AMR.

The plugin implements the Transporter::handle_signal interface to signal AMRs when they can resume their itinerary, by publishing the corresponding dispensing or ingesting results.

Specifically, when an AMR reaches its last destination and it is marked as a dropoff, the transportation request will be marked as complete and Open-RMF will begin publishing an IngestorRequest and wait for a matching IngestorResult. As soon as the transporter’s handle_signal function receives the dropoff signal, the matching IngestorResult message will be published and the AMR will be released and complete its task.

Mock dispenser

A mock_dispenser_interface parameter is provided (and defaults to true). The parameter creates a mock dispenser interface that will always publish a successful dispenser result for each dispenser request that is sent for a Nexus itinerary. The purpose of this dispenser is to allow testing full RMF delivery tasks while the logic for a workcell to dispense arbitrary items on an AMR is not available yet.

Future work

  • Implement workcells with multiple input / output stations and use them for transportation requests.
CHANGELOG

Changelog for package nexus_transporter

0.1.1 (2023-11-20)

0.1.0 (2023-11-06)

  • Provides the nexus_transporter_node which interfaces with transportation systems to move material across a flowline.
  • Provides the Transporter API for users to integrate transportation systems.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nexus_transporter at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description A framework for orchestration
Checkout URI https://github.com/osrf/nexus.git
VCS Type git
VCS Version main
Last Updated 2025-08-12
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package for managing systems that offer transportation services

Additional Links

No additional links.

Maintainers

  • Yadunund

Authors

No additional authors.

nexus_transporter

This package provides a pure virtual interface Transporter to be implemented to integrate a transportation system into Nexus.

Libraries that implement the Transporter class can be loaded through pluginlib at runtime by the TransporterNode. Two reference implementations of Transporter are provided.

Mock transporter

The mock transporter simulates a simple conveyor belt and has the following parameters:

  • x_increment The distance in meters between stations.
  • destinations An ordered list of named stations.
  • speed Speed in m/s of the conveyor belt.

The plugin will then simulate a conveyor with a list of destinations, equally spaced by x_increment, moving at a fixed speed.

RMF transporter

The RMF transporter provides an interface to a running RMF instance. The plugin will create a composed task with a series of pickup / dropoffs based on the requested itinerary and assess its feasibility by checking,

  • that the requested destinations are present in the navigation graphs of the Open-RMF building map, only then will it
  • start an Open-RMF dry-run bidding process with the created task, to determine which AMR should be assigned to the task, without starting the task

Once the itinerary has been accepted and the transporter starts the transportation task, the composed task will be directly dispatched to the assigned AMR.

The plugin implements the Transporter::handle_signal interface to signal AMRs when they can resume their itinerary, by publishing the corresponding dispensing or ingesting results.

Specifically, when an AMR reaches its last destination and it is marked as a dropoff, the transportation request will be marked as complete and Open-RMF will begin publishing an IngestorRequest and wait for a matching IngestorResult. As soon as the transporter’s handle_signal function receives the dropoff signal, the matching IngestorResult message will be published and the AMR will be released and complete its task.

Mock dispenser

A mock_dispenser_interface parameter is provided (and defaults to true). The parameter creates a mock dispenser interface that will always publish a successful dispenser result for each dispenser request that is sent for a Nexus itinerary. The purpose of this dispenser is to allow testing full RMF delivery tasks while the logic for a workcell to dispense arbitrary items on an AMR is not available yet.

Future work

  • Implement workcells with multiple input / output stations and use them for transportation requests.
CHANGELOG

Changelog for package nexus_transporter

0.1.1 (2023-11-20)

0.1.0 (2023-11-06)

  • Provides the nexus_transporter_node which interfaces with transportation systems to move material across a flowline.
  • Provides the Transporter API for users to integrate transportation systems.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nexus_transporter at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description A framework for orchestration
Checkout URI https://github.com/osrf/nexus.git
VCS Type git
VCS Version main
Last Updated 2025-08-12
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package for managing systems that offer transportation services

Additional Links

No additional links.

Maintainers

  • Yadunund

Authors

No additional authors.

nexus_transporter

This package provides a pure virtual interface Transporter to be implemented to integrate a transportation system into Nexus.

Libraries that implement the Transporter class can be loaded through pluginlib at runtime by the TransporterNode. Two reference implementations of Transporter are provided.

Mock transporter

The mock transporter simulates a simple conveyor belt and has the following parameters:

  • x_increment The distance in meters between stations.
  • destinations An ordered list of named stations.
  • speed Speed in m/s of the conveyor belt.

The plugin will then simulate a conveyor with a list of destinations, equally spaced by x_increment, moving at a fixed speed.

RMF transporter

The RMF transporter provides an interface to a running RMF instance. The plugin will create a composed task with a series of pickup / dropoffs based on the requested itinerary and assess its feasibility by checking,

  • that the requested destinations are present in the navigation graphs of the Open-RMF building map, only then will it
  • start an Open-RMF dry-run bidding process with the created task, to determine which AMR should be assigned to the task, without starting the task

Once the itinerary has been accepted and the transporter starts the transportation task, the composed task will be directly dispatched to the assigned AMR.

The plugin implements the Transporter::handle_signal interface to signal AMRs when they can resume their itinerary, by publishing the corresponding dispensing or ingesting results.

Specifically, when an AMR reaches its last destination and it is marked as a dropoff, the transportation request will be marked as complete and Open-RMF will begin publishing an IngestorRequest and wait for a matching IngestorResult. As soon as the transporter’s handle_signal function receives the dropoff signal, the matching IngestorResult message will be published and the AMR will be released and complete its task.

Mock dispenser

A mock_dispenser_interface parameter is provided (and defaults to true). The parameter creates a mock dispenser interface that will always publish a successful dispenser result for each dispenser request that is sent for a Nexus itinerary. The purpose of this dispenser is to allow testing full RMF delivery tasks while the logic for a workcell to dispense arbitrary items on an AMR is not available yet.

Future work

  • Implement workcells with multiple input / output stations and use them for transportation requests.
CHANGELOG

Changelog for package nexus_transporter

0.1.1 (2023-11-20)

0.1.0 (2023-11-06)

  • Provides the nexus_transporter_node which interfaces with transportation systems to move material across a flowline.
  • Provides the Transporter API for users to integrate transportation systems.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nexus_transporter at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description A framework for orchestration
Checkout URI https://github.com/osrf/nexus.git
VCS Type git
VCS Version main
Last Updated 2025-08-12
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package for managing systems that offer transportation services

Additional Links

No additional links.

Maintainers

  • Yadunund

Authors

No additional authors.

nexus_transporter

This package provides a pure virtual interface Transporter to be implemented to integrate a transportation system into Nexus.

Libraries that implement the Transporter class can be loaded through pluginlib at runtime by the TransporterNode. Two reference implementations of Transporter are provided.

Mock transporter

The mock transporter simulates a simple conveyor belt and has the following parameters:

  • x_increment The distance in meters between stations.
  • destinations An ordered list of named stations.
  • speed Speed in m/s of the conveyor belt.

The plugin will then simulate a conveyor with a list of destinations, equally spaced by x_increment, moving at a fixed speed.

RMF transporter

The RMF transporter provides an interface to a running RMF instance. The plugin will create a composed task with a series of pickup / dropoffs based on the requested itinerary and assess its feasibility by checking,

  • that the requested destinations are present in the navigation graphs of the Open-RMF building map, only then will it
  • start an Open-RMF dry-run bidding process with the created task, to determine which AMR should be assigned to the task, without starting the task

Once the itinerary has been accepted and the transporter starts the transportation task, the composed task will be directly dispatched to the assigned AMR.

The plugin implements the Transporter::handle_signal interface to signal AMRs when they can resume their itinerary, by publishing the corresponding dispensing or ingesting results.

Specifically, when an AMR reaches its last destination and it is marked as a dropoff, the transportation request will be marked as complete and Open-RMF will begin publishing an IngestorRequest and wait for a matching IngestorResult. As soon as the transporter’s handle_signal function receives the dropoff signal, the matching IngestorResult message will be published and the AMR will be released and complete its task.

Mock dispenser

A mock_dispenser_interface parameter is provided (and defaults to true). The parameter creates a mock dispenser interface that will always publish a successful dispenser result for each dispenser request that is sent for a Nexus itinerary. The purpose of this dispenser is to allow testing full RMF delivery tasks while the logic for a workcell to dispense arbitrary items on an AMR is not available yet.

Future work

  • Implement workcells with multiple input / output stations and use them for transportation requests.
CHANGELOG

Changelog for package nexus_transporter

0.1.1 (2023-11-20)

0.1.0 (2023-11-06)

  • Provides the nexus_transporter_node which interfaces with transportation systems to move material across a flowline.
  • Provides the Transporter API for users to integrate transportation systems.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nexus_transporter at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description A framework for orchestration
Checkout URI https://github.com/osrf/nexus.git
VCS Type git
VCS Version main
Last Updated 2025-08-12
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A package for managing systems that offer transportation services

Additional Links

No additional links.

Maintainers

  • Yadunund

Authors

No additional authors.

nexus_transporter

This package provides a pure virtual interface Transporter to be implemented to integrate a transportation system into Nexus.

Libraries that implement the Transporter class can be loaded through pluginlib at runtime by the TransporterNode. Two reference implementations of Transporter are provided.

Mock transporter

The mock transporter simulates a simple conveyor belt and has the following parameters:

  • x_increment The distance in meters between stations.
  • destinations An ordered list of named stations.
  • speed Speed in m/s of the conveyor belt.

The plugin will then simulate a conveyor with a list of destinations, equally spaced by x_increment, moving at a fixed speed.

RMF transporter

The RMF transporter provides an interface to a running RMF instance. The plugin will create a composed task with a series of pickup / dropoffs based on the requested itinerary and assess its feasibility by checking,

  • that the requested destinations are present in the navigation graphs of the Open-RMF building map, only then will it
  • start an Open-RMF dry-run bidding process with the created task, to determine which AMR should be assigned to the task, without starting the task

Once the itinerary has been accepted and the transporter starts the transportation task, the composed task will be directly dispatched to the assigned AMR.

The plugin implements the Transporter::handle_signal interface to signal AMRs when they can resume their itinerary, by publishing the corresponding dispensing or ingesting results.

Specifically, when an AMR reaches its last destination and it is marked as a dropoff, the transportation request will be marked as complete and Open-RMF will begin publishing an IngestorRequest and wait for a matching IngestorResult. As soon as the transporter’s handle_signal function receives the dropoff signal, the matching IngestorResult message will be published and the AMR will be released and complete its task.

Mock dispenser

A mock_dispenser_interface parameter is provided (and defaults to true). The parameter creates a mock dispenser interface that will always publish a successful dispenser result for each dispenser request that is sent for a Nexus itinerary. The purpose of this dispenser is to allow testing full RMF delivery tasks while the logic for a workcell to dispense arbitrary items on an AMR is not available yet.

Future work

  • Implement workcells with multiple input / output stations and use them for transportation requests.
CHANGELOG

Changelog for package nexus_transporter

0.1.1 (2023-11-20)

0.1.0 (2023-11-06)

  • Provides the nexus_transporter_node which interfaces with transportation systems to move material across a flowline.
  • Provides the Transporter API for users to integrate transportation systems.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nexus_transporter at Robotics Stack Exchange