-
 

Package Summary

Tags No category tags.
Version 2.5.0
License Apache Licence 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

A package containing scripts for demos

Additional Links

No additional links.

Maintainers

  • Yadunund
  • Marco A. Gutiérrez

Authors

  • Grey

rmf_demo_tasks

This package provides scripts used in the RMF demos to demonstrate the tasks that may be requested of a robot.

Flexible Tasks

The new task system allows users to construct and submit their own tasks in a more flexible manner, such as having multiple stops in a loop or specifying a robot for a cleaning task. This package contains some helpful scripts that demonstrate how to compose such tasks:

  • dispatch_patrol

    This task allows users to dispatch a robot to perform the patrol task. On top of the start and finish waypoints, you can provide a fleet name -F and robot name -R.

    Example for Office world, dispatch the task to a specific robot.

  ros2 run rmf_demos_tasks dispatch_patrol -F tinyRobot -R tinyRobot1 -p lounge -n 2 --use_sim_time
  

or multiple places for the robot to travel to:

  ros2 run rmf_demos_tasks dispatch_patrol -p supplies pantry coe --use_sim_time
  
  • dispatch_clean

    This script submits a cleaning task. The -cs flag takes in the desired cleaning zone as an argument. You may also choose to specify a robot to perform the cleaning task by providing a fleet name -F and robot name -R.

    Example for Hotel world:

  ros2 run rmf_demos_tasks dispatch_clean -cs clean_lobby -F cleanerBotA -R cleanerBotA_1 --use_sim_time
  
  • dispatch_action

    This script demonstrates how to compose a task with the PerformAction teleop feature. You can ask a robot to go to a starting point -s to execute an action, -a indicates the name of the action.

    Example for Office world. The example below shows an action name of “teleop”.

  ros2 run rmf_demos_tasks dispatch_action -F tinyRobot -R tinyRobot1 -a teleop -s coe --use_sim_time
  

After completing your teleop action, you will need to publish the following message to return control to RMF:

  ros2 topic pub /action_execution_notice rmf_fleet_msgs/msg/ModeRequest '{fleet_name:  tinyRobot, robot_name: tinyRobot1, mode: {mode: 0}}' --once
  

This script also takes a series of starting points -s as arguments and commands a robot to perform the same specified action at the given points.

Example for Office world. Run a total of 3 “teleop” actions at coe, supplies and pantry waypoints:

  ros2 run rmf_demos_tasks dispatch_action -a teleop -s coe supplies pantry --use_sim_time
  

The robot will move to each of these places and RMF will relinquish control. Similar to dispatch_action earlier, you may perform your desired action (e.g. using the provided teleop_robot script) and end the action by publishing a ModeRequest to /action_execution_notice. The robot will then move to the next point to perform the next action.

  • dispatch_delivery

    This script allows users to perform deliveries with one or more pickup and drop-off locations. It takes in information about the pickup -p and dropoff -d activities in the order you submit them. For each activity, you will need to provide the place, handler, payload SKU and quantity separated by a comma.

    Example for Office world:

  ros2 run rmf_demos_tasks dispatch_delivery \
  -p pantry pantry \
  -ph coke_dispenser coke_dispenser_2 \
  -d hardware_2 coe \
  -dh coke_ingestor coke_ingestor_2 \
  -pp coke,1 coke,1 \
  -dp coke,1 coke,1 \
  --use_sim_time
  
  • cancel_task Cancel a task by specifying its task ID:

    Example: Run dispatch a patrol task to the newly launced office_world.

  ros2 run rmf_demos_tasks dispatch_patrol -p coe lounge --use_sim_time
  

Then try cancel the submitted task with the id.

  ros2 run rmf_demos_tasks cancel_task -id patrol.dispatch-0
  

Additional Scripts

  • office_teleop_robot This script demonstrates the capability of teleop perform action task. Imagine when the robot executes a teleop action, the user would like to move the robot around. To simulate this behaviour, we will show this scenario in office world.

    Launch the Office world and run the above dispatch_action task to bring tinyRobot1 to coe. During perform action, the fleetadapter give up control of the robot. To simulate a teleop operation, we will run:

  ros2 launch rmf_demos office_teleop_robot.launch.xml
  

The office_teleop_robot script directly controls the robot motion in simulation without going through the fleet adapter.

If you are running this in Gazebo, you will need to delete the room chair models for the simulation physics to run smoothly.

You can end the action by publishing a ModeRequest via the /action_execution_notice topic as demonstrated above.

  • dispatch_go_to_place Similar to dispatch_patrol, you can dispatch the robot to go to a specified waypoint. The useful side of dispatch_go_to_place is the ability to specify the orientation when the robot reaches the destination, with the arg -o. Additionally, you may also choose to specify a robot with -f and -R.

    Example in office world:

  ros2 run rmf_demos_tasks  dispatch_go_to_place -p lounge -o 105 --use_sim_time
  
  • wait_for_task_complete This is a tool meant only for creating test scenarios. Essentially it blocks until a specified robot is free of any tasks. This allows us to do integration tests. Example in office world:
  ros2 run rmf_demos_tasks wait_for_task_complete -F tinyRobot -R tinyRobot1
  

Quality Declaration

This package claims to be in the Quality Level 4 category, see the Quality Declaration for more details.

CHANGELOG

Changelog for package rmf_demos_tasks

2.5.0 (2024-11-27)

  • Add proto-reservation node as core part of RMF (#212)
  • Fix existing style issues (#252)
  • Add attach cart action (#225)
  • Adding requester and request time for dispatch scripts (#240)
  • Contributors: Aaron Chong, Arjo Chakravarty, Luca Della Vedova, Xiyu

2.4.0 (2024-06-12)

2.3.0 (2024-06-12)

  • Port to harmonic (#206)
  • Add script for sending any API request, read from a .json file (#222)
  • Add a script for dispatching tasks from a json description (#215)
  • Add all exec deps for rmf_demos_fleet_adapter (#211)
  • Support one_of for go_to_place (#200)
  • Update CI to rolling on main (#208)
  • Support fleet-level task (#201)
  • Contributors: Grey, Luca Della Vedova, Yadunund, cwrx777

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.2.0 (2021-07-21)

  • update all namings with rmf_demos as prefix (#1)
  • Add priority selection in dispatch scripts and react ui (#5)
  • Cleaning task demo in Airport terminal (#8)

1.1.0 (2020-09-24)

  • Remove ament_python dependency. (#92)
  • Contributors: Aaron Chong, Kevin_Skywalker, Michael X. Grey, Yadu, kevinskwk, mrushyendra

1.0.0 (2020-06-24)

  • Provides scripts for sending [Loop]{.title-ref} and [Delivery]{.title-ref} task requests to [rmf_fleet_adapters]{.title-ref}
  • Contributors: Aaron, Aaron Chong, Charayaphan Nakorn Boon Han, Geoffrey Biggs, Yadu, Yadunund

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.

Package Dependencies

Deps Name
rmf_fleet_msgs
rmf_task_msgs
rmf_dispenser_msgs
rmf_lift_msgs
ament_copyright
ament_flake8
ament_pep257

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rmf_demos

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_tasks at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.3.0
License Apache Licence 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

A package containing scripts for demos

Additional Links

No additional links.

Maintainers

  • Yadunund
  • Marco A. Gutiérrez

Authors

  • Grey

rmf_demo_tasks

This package provides scripts used in the RMF demos to demonstrate the tasks that may be requested of a robot.

Flexible Tasks

The new task system allows users to construct and submit their own tasks in a more flexible manner, such as having multiple stops in a loop or specifying a robot for a cleaning task. This package contains some helpful scripts that demonstrate how to compose such tasks:

  • dispatch_patrol

    This task allows users to dispatch a robot to perform the patrol task. On top of the start and finish waypoints, you can provide a fleet name -F and robot name -R.

    Example for Office world, dispatch the task to a specific robot.

  ros2 run rmf_demos_tasks dispatch_patrol -F tinyRobot -R tinyRobot1 -p lounge -n 2 --use_sim_time
  

or multiple places for the robot to travel to:

  ros2 run rmf_demos_tasks dispatch_patrol -p supplies pantry coe --use_sim_time
  
  • dispatch_clean

    This script submits a cleaning task. The -cs flag takes in the desired cleaning zone as an argument. You may also choose to specify a robot to perform the cleaning task by providing a fleet name -F and robot name -R.

    Example for Hotel world:

  ros2 run rmf_demos_tasks dispatch_clean -cs clean_lobby -F cleanerBotA -R cleanerBotA_1 --use_sim_time
  
  • dispatch_action

    This script demonstrates how to compose a task with the PerformAction teleop feature. You can ask a robot to go to a starting point -s to execute an action, -a indicates the name of the action.

    Example for Office world. The example below shows an action name of “teleop”.

  ros2 run rmf_demos_tasks dispatch_action -F tinyRobot -R tinyRobot1 -a teleop -s coe --use_sim_time
  

After completing your teleop action, you will need to publish the following message to return control to RMF:

  ros2 topic pub /action_execution_notice rmf_fleet_msgs/msg/ModeRequest '{fleet_name:  tinyRobot, robot_name: tinyRobot1, mode: {mode: 0}}' --once
  

This script also takes a series of starting points -s as arguments and commands a robot to perform the same specified action at the given points.

Example for Office world. Run a total of 3 “teleop” actions at coe, supplies and pantry waypoints:

  ros2 run rmf_demos_tasks dispatch_action -a teleop -s coe supplies pantry --use_sim_time
  

The robot will move to each of these places and RMF will relinquish control. Similar to dispatch_action earlier, you may perform your desired action (e.g. using the provided teleop_robot script) and end the action by publishing a ModeRequest to /action_execution_notice. The robot will then move to the next point to perform the next action.

  • dispatch_delivery

    This script allows users to perform deliveries with one or more pickup and drop-off locations. It takes in information about the pickup -p and dropoff -d activities in the order you submit them. For each activity, you will need to provide the place, handler, payload SKU and quantity separated by a comma.

    Example for Office world:

  ros2 run rmf_demos_tasks dispatch_delivery \
  -p pantry pantry \
  -ph coke_dispenser coke_dispenser_2 \
  -d hardware_2 coe \
  -dh coke_ingestor coke_ingestor_2 \
  -pp coke,1 coke,1 \
  -dp coke,1 coke,1 \
  --use_sim_time
  
  • cancel_task Cancel a task by specifying its task ID:

    Example: Run dispatch a patrol task to the newly launced office_world.

  ros2 run rmf_demos_tasks dispatch_patrol -p coe lounge --use_sim_time
  

Then try cancel the submitted task with the id.

  ros2 run rmf_demos_tasks cancel_task -id patrol.dispatch-0
  

Additional Scripts

  • office_teleop_robot This script demonstrates the capability of teleop perform action task. Imagine when the robot executes a teleop action, the user would like to move the robot around. To simulate this behaviour, we will show this scenario in office world.

    Launch the Office world and run the above dispatch_action task to bring tinyRobot1 to coe. During perform action, the fleetadapter give up control of the robot. To simulate a teleop operation, we will run:

  ros2 launch rmf_demos office_teleop_robot.launch.xml
  

The office_teleop_robot script directly controls the robot motion in simulation without going through the fleet adapter.

If you are running this in Gazebo, you will need to delete the room chair models for the simulation physics to run smoothly.

You can end the action by publishing a ModeRequest via the /action_execution_notice topic as demonstrated above.

  • dispatch_go_to_place Similar to dispatch_patrol, you can dispatch the robot to go to a specified waypoint. The useful side of dispatch_go_to_place is the ability to specify the orientation when the robot reaches the destination, with the arg -o. Additionally, you may also choose to specify a robot with -f and -R.

    Example in office world:

  ros2 run rmf_demos_tasks  dispatch_go_to_place -p lounge -o 105 --use_sim_time
  

Quality Declaration

This package claims to be in the Quality Level 4 category, see the Quality Declaration for more details.

CHANGELOG

Changelog for package rmf_demos_tasks

2.3.0 (2024-06-12)

  • Port to harmonic (#206)
  • Add script for sending any API request, read from a .json file (#222)
  • Add a script for dispatching tasks from a json description (#215)
  • Add all exec deps for rmf_demos_fleet_adapter (#211)
  • Support one_of for go_to_place (#200)
  • Update CI to rolling on main (#208)
  • Support fleet-level task (#201)
  • Contributors: Grey, Luca Della Vedova, Yadunund, cwrx777

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.2.0 (2021-07-21)

  • update all namings with rmf_demos as prefix (#1)
  • Add priority selection in dispatch scripts and react ui (#5)
  • Cleaning task demo in Airport terminal (#8)

1.1.0 (2020-09-24)

  • Remove ament_python dependency. (#92)
  • Contributors: Aaron Chong, Kevin_Skywalker, Michael X. Grey, Yadu, kevinskwk, mrushyendra

1.0.0 (2020-06-24)

  • Provides scripts for sending [Loop]{.title-ref} and [Delivery]{.title-ref} task requests to [rmf_fleet_adapters]{.title-ref}
  • Contributors: Aaron, Aaron Chong, Charayaphan Nakorn Boon Han, Geoffrey Biggs, Yadu, Yadunund

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.

Package Dependencies

Deps Name
rmf_fleet_msgs
rmf_task_msgs
rmf_dispenser_msgs
rmf_lift_msgs
ament_copyright
ament_flake8
ament_pep257

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rmf_demos

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_tasks at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.5.0
License Apache Licence 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

A package containing scripts for demos

Additional Links

No additional links.

Maintainers

  • Yadunund
  • Marco A. Gutiérrez

Authors

  • Grey

rmf_demo_tasks

This package provides scripts used in the RMF demos to demonstrate the tasks that may be requested of a robot.

Flexible Tasks

The new task system allows users to construct and submit their own tasks in a more flexible manner, such as having multiple stops in a loop or specifying a robot for a cleaning task. This package contains some helpful scripts that demonstrate how to compose such tasks:

  • dispatch_patrol

    This task allows users to dispatch a robot to perform the patrol task. On top of the start and finish waypoints, you can provide a fleet name -F and robot name -R.

    Example for Office world, dispatch the task to a specific robot.

  ros2 run rmf_demos_tasks dispatch_patrol -F tinyRobot -R tinyRobot1 -p lounge -n 2 --use_sim_time
  

or multiple places for the robot to travel to:

  ros2 run rmf_demos_tasks dispatch_patrol -p supplies pantry coe --use_sim_time
  
  • dispatch_clean

    This script submits a cleaning task. The -cs flag takes in the desired cleaning zone as an argument. You may also choose to specify a robot to perform the cleaning task by providing a fleet name -F and robot name -R.

    Example for Hotel world:

  ros2 run rmf_demos_tasks dispatch_clean -cs clean_lobby -F cleanerBotA -R cleanerBotA_1 --use_sim_time
  
  • dispatch_action

    This script demonstrates how to compose a task with the PerformAction teleop feature. You can ask a robot to go to a starting point -s to execute an action, -a indicates the name of the action.

    Example for Office world. The example below shows an action name of “teleop”.

  ros2 run rmf_demos_tasks dispatch_action -F tinyRobot -R tinyRobot1 -a teleop -s coe --use_sim_time
  

After completing your teleop action, you will need to publish the following message to return control to RMF:

  ros2 topic pub /action_execution_notice rmf_fleet_msgs/msg/ModeRequest '{fleet_name:  tinyRobot, robot_name: tinyRobot1, mode: {mode: 0}}' --once
  

This script also takes a series of starting points -s as arguments and commands a robot to perform the same specified action at the given points.

Example for Office world. Run a total of 3 “teleop” actions at coe, supplies and pantry waypoints:

  ros2 run rmf_demos_tasks dispatch_action -a teleop -s coe supplies pantry --use_sim_time
  

The robot will move to each of these places and RMF will relinquish control. Similar to dispatch_action earlier, you may perform your desired action (e.g. using the provided teleop_robot script) and end the action by publishing a ModeRequest to /action_execution_notice. The robot will then move to the next point to perform the next action.

  • dispatch_delivery

    This script allows users to perform deliveries with one or more pickup and drop-off locations. It takes in information about the pickup -p and dropoff -d activities in the order you submit them. For each activity, you will need to provide the place, handler, payload SKU and quantity separated by a comma.

    Example for Office world:

  ros2 run rmf_demos_tasks dispatch_delivery \
  -p pantry pantry \
  -ph coke_dispenser coke_dispenser_2 \
  -d hardware_2 coe \
  -dh coke_ingestor coke_ingestor_2 \
  -pp coke,1 coke,1 \
  -dp coke,1 coke,1 \
  --use_sim_time
  
  • cancel_task Cancel a task by specifying its task ID:

    Example: Run dispatch a patrol task to the newly launced office_world.

  ros2 run rmf_demos_tasks dispatch_patrol -p coe lounge --use_sim_time
  

Then try cancel the submitted task with the id.

  ros2 run rmf_demos_tasks cancel_task -id patrol.dispatch-0
  

Additional Scripts

  • office_teleop_robot This script demonstrates the capability of teleop perform action task. Imagine when the robot executes a teleop action, the user would like to move the robot around. To simulate this behaviour, we will show this scenario in office world.

    Launch the Office world and run the above dispatch_action task to bring tinyRobot1 to coe. During perform action, the fleetadapter give up control of the robot. To simulate a teleop operation, we will run:

  ros2 launch rmf_demos office_teleop_robot.launch.xml
  

The office_teleop_robot script directly controls the robot motion in simulation without going through the fleet adapter.

If you are running this in Gazebo, you will need to delete the room chair models for the simulation physics to run smoothly.

You can end the action by publishing a ModeRequest via the /action_execution_notice topic as demonstrated above.

  • dispatch_go_to_place Similar to dispatch_patrol, you can dispatch the robot to go to a specified waypoint. The useful side of dispatch_go_to_place is the ability to specify the orientation when the robot reaches the destination, with the arg -o. Additionally, you may also choose to specify a robot with -f and -R.

    Example in office world:

  ros2 run rmf_demos_tasks  dispatch_go_to_place -p lounge -o 105 --use_sim_time
  
  • wait_for_task_complete This is a tool meant only for creating test scenarios. Essentially it blocks until a specified robot is free of any tasks. This allows us to do integration tests. Example in office world:
  ros2 run rmf_demos_tasks wait_for_task_complete -F tinyRobot -R tinyRobot1
  

Quality Declaration

This package claims to be in the Quality Level 4 category, see the Quality Declaration for more details.

CHANGELOG

Changelog for package rmf_demos_tasks

2.5.0 (2024-11-27)

  • Add proto-reservation node as core part of RMF (#212)
  • Fix existing style issues (#252)
  • Add attach cart action (#225)
  • Adding requester and request time for dispatch scripts (#240)
  • Contributors: Aaron Chong, Arjo Chakravarty, Luca Della Vedova, Xiyu

2.4.0 (2024-06-12)

2.3.0 (2024-06-12)

  • Port to harmonic (#206)
  • Add script for sending any API request, read from a .json file (#222)
  • Add a script for dispatching tasks from a json description (#215)
  • Add all exec deps for rmf_demos_fleet_adapter (#211)
  • Support one_of for go_to_place (#200)
  • Update CI to rolling on main (#208)
  • Support fleet-level task (#201)
  • Contributors: Grey, Luca Della Vedova, Yadunund, cwrx777

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.2.0 (2021-07-21)

  • update all namings with rmf_demos as prefix (#1)
  • Add priority selection in dispatch scripts and react ui (#5)
  • Cleaning task demo in Airport terminal (#8)

1.1.0 (2020-09-24)

  • Remove ament_python dependency. (#92)
  • Contributors: Aaron Chong, Kevin_Skywalker, Michael X. Grey, Yadu, kevinskwk, mrushyendra

1.0.0 (2020-06-24)

  • Provides scripts for sending [Loop]{.title-ref} and [Delivery]{.title-ref} task requests to [rmf_fleet_adapters]{.title-ref}
  • Contributors: Aaron, Aaron Chong, Charayaphan Nakorn Boon Han, Geoffrey Biggs, Yadu, Yadunund

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.

Package Dependencies

Deps Name
rmf_fleet_msgs
rmf_task_msgs
rmf_dispenser_msgs
rmf_lift_msgs
ament_copyright
ament_flake8
ament_pep257

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rmf_demos

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_tasks at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.3.2
License Apache Licence 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 galactic
Last Updated 2021-12-01
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

A package containing scripts for demos

Additional Links

No additional links.

Maintainers

  • Yadunund
  • Marco A. Gutiérrez

Authors

  • Grey

rmf_demo_tasks

This package provides scripts used in the RMF demos to demonstrate the tasks that may be requested of a robot.

Quality Declaration

This package claims to be in the Quality Level 4 category, see the Quality Declaration for more details.

CHANGELOG

Changelog for package rmf_demos_tasks

1.2.0 (2021-07-21)

  • update all namings with rmf_demos as prefix #1
  • Add priority selection in dispatch scripts and react ui #5
  • Cleaning task demo in Airport terminal #8

1.1.0 (2020-09-24)

  • Remove ament_python dependency. #92
  • Contributors: Aaron Chong, Kevin_Skywalker, Michael X. Grey, Yadu, kevinskwk, mrushyendra

1.0.0 (2020-06-24)

  • Provides scripts for sending Loop and Delivery task requests to rmf_fleet_adapters
  • Contributors: Aaron, Aaron Chong, Charayaphan Nakorn Boon Han, Geoffrey Biggs, Yadu, Yadunund

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.

Package Dependencies

Deps Name
rmf_fleet_msgs
rmf_task_msgs
rmf_dispenser_msgs
rmf_lift_msgs

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rmf_demos

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_tasks at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.3.2
License Apache Licence 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 foxy
Last Updated 2021-12-01
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

A package containing scripts for demos

Additional Links

No additional links.

Maintainers

  • Yadunund
  • Marco A. Gutiérrez

Authors

  • Grey

rmf_demo_tasks

This package provides scripts used in the RMF demos to demonstrate the tasks that may be requested of a robot.

Quality Declaration

This package claims to be in the Quality Level 4 category, see the Quality Declaration for more details.

CHANGELOG

Changelog for package rmf_demos_tasks

1.2.0 (2021-07-21)

  • update all namings with rmf_demos as prefix #1
  • Add priority selection in dispatch scripts and react ui #5
  • Cleaning task demo in Airport terminal #8

1.1.0 (2020-09-24)

  • Remove ament_python dependency. #92
  • Contributors: Aaron Chong, Kevin_Skywalker, Michael X. Grey, Yadu, kevinskwk, mrushyendra

1.0.0 (2020-06-24)

  • Provides scripts for sending Loop and Delivery task requests to rmf_fleet_adapters
  • Contributors: Aaron, Aaron Chong, Charayaphan Nakorn Boon Han, Geoffrey Biggs, Yadu, Yadunund

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.

Package Dependencies

Deps Name
rmf_fleet_msgs
rmf_task_msgs
rmf_dispenser_msgs
rmf_lift_msgs

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rmf_demos

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_tasks at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.5.0
License Apache Licence 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

A package containing scripts for demos

Additional Links

No additional links.

Maintainers

  • Yadunund
  • Marco A. Gutiérrez

Authors

  • Grey

rmf_demo_tasks

This package provides scripts used in the RMF demos to demonstrate the tasks that may be requested of a robot.

Flexible Tasks

The new task system allows users to construct and submit their own tasks in a more flexible manner, such as having multiple stops in a loop or specifying a robot for a cleaning task. This package contains some helpful scripts that demonstrate how to compose such tasks:

  • dispatch_patrol

    This task allows users to dispatch a robot to perform the patrol task. On top of the start and finish waypoints, you can provide a fleet name -F and robot name -R.

    Example for Office world, dispatch the task to a specific robot.

  ros2 run rmf_demos_tasks dispatch_patrol -F tinyRobot -R tinyRobot1 -p lounge -n 2 --use_sim_time
  

or multiple places for the robot to travel to:

  ros2 run rmf_demos_tasks dispatch_patrol -p supplies pantry coe --use_sim_time
  
  • dispatch_clean

    This script submits a cleaning task. The -cs flag takes in the desired cleaning zone as an argument. You may also choose to specify a robot to perform the cleaning task by providing a fleet name -F and robot name -R.

    Example for Hotel world:

  ros2 run rmf_demos_tasks dispatch_clean -cs clean_lobby -F cleanerBotA -R cleanerBotA_1 --use_sim_time
  
  • dispatch_action

    This script demonstrates how to compose a task with the PerformAction teleop feature. You can ask a robot to go to a starting point -s to execute an action, -a indicates the name of the action.

    Example for Office world. The example below shows an action name of “teleop”.

  ros2 run rmf_demos_tasks dispatch_action -F tinyRobot -R tinyRobot1 -a teleop -s coe --use_sim_time
  

After completing your teleop action, you will need to publish the following message to return control to RMF:

  ros2 topic pub /action_execution_notice rmf_fleet_msgs/msg/ModeRequest '{fleet_name:  tinyRobot, robot_name: tinyRobot1, mode: {mode: 0}}' --once
  

This script also takes a series of starting points -s as arguments and commands a robot to perform the same specified action at the given points.

Example for Office world. Run a total of 3 “teleop” actions at coe, supplies and pantry waypoints:

  ros2 run rmf_demos_tasks dispatch_action -a teleop -s coe supplies pantry --use_sim_time
  

The robot will move to each of these places and RMF will relinquish control. Similar to dispatch_action earlier, you may perform your desired action (e.g. using the provided teleop_robot script) and end the action by publishing a ModeRequest to /action_execution_notice. The robot will then move to the next point to perform the next action.

  • dispatch_delivery

    This script allows users to perform deliveries with one or more pickup and drop-off locations. It takes in information about the pickup -p and dropoff -d activities in the order you submit them. For each activity, you will need to provide the place, handler, payload SKU and quantity separated by a comma.

    Example for Office world:

  ros2 run rmf_demos_tasks dispatch_delivery \
  -p pantry pantry \
  -ph coke_dispenser coke_dispenser_2 \
  -d hardware_2 coe \
  -dh coke_ingestor coke_ingestor_2 \
  -pp coke,1 coke,1 \
  -dp coke,1 coke,1 \
  --use_sim_time
  
  • cancel_task Cancel a task by specifying its task ID:

    Example: Run dispatch a patrol task to the newly launced office_world.

  ros2 run rmf_demos_tasks dispatch_patrol -p coe lounge --use_sim_time
  

Then try cancel the submitted task with the id.

  ros2 run rmf_demos_tasks cancel_task -id patrol.dispatch-0
  

Additional Scripts

  • office_teleop_robot This script demonstrates the capability of teleop perform action task. Imagine when the robot executes a teleop action, the user would like to move the robot around. To simulate this behaviour, we will show this scenario in office world.

    Launch the Office world and run the above dispatch_action task to bring tinyRobot1 to coe. During perform action, the fleetadapter give up control of the robot. To simulate a teleop operation, we will run:

  ros2 launch rmf_demos office_teleop_robot.launch.xml
  

The office_teleop_robot script directly controls the robot motion in simulation without going through the fleet adapter.

If you are running this in Gazebo, you will need to delete the room chair models for the simulation physics to run smoothly.

You can end the action by publishing a ModeRequest via the /action_execution_notice topic as demonstrated above.

  • dispatch_go_to_place Similar to dispatch_patrol, you can dispatch the robot to go to a specified waypoint. The useful side of dispatch_go_to_place is the ability to specify the orientation when the robot reaches the destination, with the arg -o. Additionally, you may also choose to specify a robot with -f and -R.

    Example in office world:

  ros2 run rmf_demos_tasks  dispatch_go_to_place -p lounge -o 105 --use_sim_time
  
  • wait_for_task_complete This is a tool meant only for creating test scenarios. Essentially it blocks until a specified robot is free of any tasks. This allows us to do integration tests. Example in office world:
  ros2 run rmf_demos_tasks wait_for_task_complete -F tinyRobot -R tinyRobot1
  

Quality Declaration

This package claims to be in the Quality Level 4 category, see the Quality Declaration for more details.

CHANGELOG

Changelog for package rmf_demos_tasks

2.5.0 (2024-11-27)

  • Add proto-reservation node as core part of RMF (#212)
  • Fix existing style issues (#252)
  • Add attach cart action (#225)
  • Adding requester and request time for dispatch scripts (#240)
  • Contributors: Aaron Chong, Arjo Chakravarty, Luca Della Vedova, Xiyu

2.4.0 (2024-06-12)

2.3.0 (2024-06-12)

  • Port to harmonic (#206)
  • Add script for sending any API request, read from a .json file (#222)
  • Add a script for dispatching tasks from a json description (#215)
  • Add all exec deps for rmf_demos_fleet_adapter (#211)
  • Support one_of for go_to_place (#200)
  • Update CI to rolling on main (#208)
  • Support fleet-level task (#201)
  • Contributors: Grey, Luca Della Vedova, Yadunund, cwrx777

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.2.0 (2021-07-21)

  • update all namings with rmf_demos as prefix (#1)
  • Add priority selection in dispatch scripts and react ui (#5)
  • Cleaning task demo in Airport terminal (#8)

1.1.0 (2020-09-24)

  • Remove ament_python dependency. (#92)
  • Contributors: Aaron Chong, Kevin_Skywalker, Michael X. Grey, Yadu, kevinskwk, mrushyendra

1.0.0 (2020-06-24)

  • Provides scripts for sending [Loop]{.title-ref} and [Delivery]{.title-ref} task requests to [rmf_fleet_adapters]{.title-ref}
  • Contributors: Aaron, Aaron Chong, Charayaphan Nakorn Boon Han, Geoffrey Biggs, Yadu, Yadunund

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.

Package Dependencies

Deps Name
rmf_fleet_msgs
rmf_task_msgs
rmf_dispenser_msgs
rmf_lift_msgs
ament_copyright
ament_flake8
ament_pep257

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rmf_demos

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmf_demos_tasks at Robotics Stack Exchange