# ros2_planning_system_cff **Repository Path**: xiaozq22/ros2_planning_system_cff ## Basic Information - **Project Name**: ros2_planning_system_cff - **Description**: ROS2 planning system, contingent ff branch. Forked from: https://github.com/pac48/ros2_planning_system. See this PR: https://github.com/PlanSys2/ros2_planning_system/pull/249. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: add-cff-planner-ament-format - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-06 - **Last Updated**: 2025-03-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ROS2 Planning System ## ROS2 Planning System for Contingent FF ### Dependencies - [plansys2_cff_plan_solver](https://gitee.com/xiaozq22/plansys2_cff_plan_solver) ### Functional tests included in this repo for cff. (Tested for CFF: Passed/Failed): - plansys2_pddl_parser - plansys2_domain_expert (9P/3F: cpplint can be ignored) - domain_expert_test (17P/0F) - get_actions_observe - domain_expert_node_test (1P/1F:lifecycle_error, as expected) - domain_reader_test (10P/1F: add_2_domain) - types_test (10P/0F) - plansys2_problem_expert - utils_test (P/0F) - problem_expert_test (10P/3F: add_problem, add_problem_with_constants, is_goal_satisfied) - addget_unknown_predicates; - get_problem_observe; - problem_expert_node_test (3P/0F) - addget_conditionals; - plansys2_planner - planner_test (8P/1F: generate_plan_with_domain_constants) - plansys2_executor - executor_test (9P/0F) - action_execution_test (2P/0F) - execution_tree_test (1P) - bt_builder_factory_contingent (1P) - simple_btbuilder_tests () - **contingent_btbuilder_tests** (1P) - test_tree_builder - bt_node_test (6P) - check_observation_test - bt_node_test_charging (3P) ### Compile this project ``` mkdir -p ~/cff_plansys2_ws/src cd ~/cff_plansys2_ws/src git clone git checkout add-cff-planner-ament-format cd .. colcon build --symlink-install --cmake-args -DBUILD_TESTING=ON ``` ### Run Reference [this tutorial](https://plansys2.github.io/) ### Run google tests ``` colcon test --packages-select your_package_name ``` See the results in logs: ``` colcon test-result --all --verbose ``` Or, test and output them in console in one command: ``` colcon test --packages-select your_package_name --event-handlers console_direct+ ``` Or, if you want to test a specific test case in a specific package: ``` colcon test --packages-select my_package --pytest-args="-k test_my_case" ``` i.e., run contingent_btbuilder_test: ``` colcon test --packages-select plansys2_executor --pytest-args="-k contingent_btbuilder_tests" ``` ------------------------------------------------------- Below are the original README ------------------------------------------------------- ![PlanSys2 Logo](/plansys2_docs/plansys2_logo.png) [![GitHub Action Status](https://github.com/IntelligentRoboticsLabs/ros2_planning_system/workflows/master/badge.svg)](https://github.com/IntelligentRoboticsLabs/ros2_planning_system) [![codecov](https://codecov.io/gh/IntelligentRoboticsLabs/ros2_planning_system/master/graph/badge.svg)](https://codecov.io/gh/IntelligentRoboticsLabs/ros2_planning_system) [![GitHub Action Status](https://github.com/IntelligentRoboticsLabs/ros2_planning_system/workflows/foxy-devel/badge.svg)](https://github.com/IntelligentRoboticsLabs/ros2_planning_system) [![codecov](https://codecov.io/gh/IntelligentRoboticsLabs/ros2_planning_system/foxy-devel/graph/badge.svg)](https://codecov.io/gh/IntelligentRoboticsLabs/ros2_planning_system) [![GitHub Action Status](https://github.com/IntelligentRoboticsLabs/ros2_planning_system/workflows/galactic-devel/badge.svg)](https://github.com/IntelligentRoboticsLabs/ros2_planning_system) [![codecov](https://codecov.io/gh/IntelligentRoboticsLabs/ros2_planning_system/galactic-devel/graph/badge.svg)](https://codecov.io/gh/IntelligentRoboticsLabs/ros2_planning_system) [![GitHub Action Status](https://github.com/IntelligentRoboticsLabs/ros2_planning_system/workflows/humble-devel/badge.svg)](https://github.com/IntelligentRoboticsLabs/ros2_planning_system) [![codecov](https://codecov.io/gh/IntelligentRoboticsLabs/ros2_planning_system/humble-devel/graph/badge.svg)](https://codecov.io/gh/IntelligentRoboticsLabs/ros2_planning_system) ROS2 Planning System (**plansys2** in short) is a project whose objective is to provide Robotics developers with a reliable, simple, and efficient PDDL-based planning system. It is implemented in ROS2, applying the latest concepts developed in this currently de-facto standard in Robotics. This project is the result of several years of experience in the development of robotic behaviors using [ROSPlan](https://github.com/KCL-Planning/ROSPlan). ROSPlan has greatly inspired this project. In addition to the migration to ROS2, we contribute to key aspects: ease of use, efficiency, and new tools, such as our terminal. We hope that this software helps to include planning in more Robotics projects, offering simple and powerful software to generate intelligent behaviors for robots. Please, cite us if you use PlanSys2 in your reseach: ``` @INPROCEEDINGS {PlanSys2, author = "Francisco Mart{\'{\i}}n and Jonatan Gin{\'{e}}s and Francisco J. Rodr{\'{i}}guez and Vicente Matell{\'{a}}n", title = "PlanSys2: A Planning System Framework for ROS2", booktitle = "{{IEEE/RSJ} International Conference on Intelligent Robots and Systems, {IROS} 2021, Prague, Czech Republic, September 27 - October 1, 2021}", year = "2021", publisher = "{IEEE}" } ``` We want to invite you to contribute to this Open Source project !! **Visit the [Web Page](https://plansys2.github.io) for tutorials, videos and more!!** drawing