• ROSPlan教程


    tutorial_01.launch

    <?xml version="1.0"?>
    <launch>
    
        <!-- arguments -->
        <arg name="domain_path"    default="$(find rosplan_demos)/common/domain_turtlebot.pddl" />
        <arg name="problem_path"    default="$(find rosplan_demos)/common/problem_turtlebot.pddl" />
    
        <!-- knowledge base -->
        <node name="rosplan_knowledge_base" pkg="rosplan_knowledge_base" type="knowledgeBase" respawn="false" output="screen">
            <param name="domain_path" value="$(arg domain_path)" />
            <param name="problem_path" value="$(arg problem_path)" />
            <!-- conditional planning flags -->
            <param name="use_unknowns" value="false" />
        </node>
    
        <!-- problem generation -->
        <include file="$(find rosplan_planning_system)/launch/includes/problem_interface.launch">
            <arg name="knowledge_base"   value="rosplan_knowledge_base" />
            <arg name="domain_path"      value="$(arg domain_path)" />
            <arg name="problem_path"     value="$(find rosplan_demos)/common/problem.pddl" />
            <arg name="problem_topic"    value="problem_instance" />
        </include>
    </launch>

    tutorial_02.launch

    <?xml version="1.0"?>
    <launch>
    
        <!-- arguments -->
        <arg name="domain_path"    default="$(find rosplan_demos)/common/domain_turtlebot.pddl" />
        <arg name="problem_path"    default="$(find rosplan_demos)/common/problem_turtlebot.pddl" />
    
        <!-- knowledge base -->
        <node name="rosplan_knowledge_base" pkg="rosplan_knowledge_base" type="knowledgeBase" respawn="false" output="screen">
            <param name="domain_path" value="$(arg domain_path)" />
            <param name="problem_path" value="$(arg problem_path)" />
            <!-- conditional planning flags -->
            <param name="use_unknowns" value="false" />
        </node>
    
        <!-- problem generation -->
        <include file="$(find rosplan_planning_system)/launch/includes/problem_interface.launch">
            <arg name="knowledge_base"   value="rosplan_knowledge_base" />
            <arg name="domain_path"      value="$(arg domain_path)" />
            <arg name="problem_path"     value="$(find rosplan_demos)/common/problem.pddl" />
            <arg name="problem_topic"    value="problem_instance" />
        </include>
        <!-- planner interface -->
        <include file="$(find rosplan_planning_system)/launch/includes/planner_interface.launch">
            <arg name="use_problem_topic"    value="true" />
            <arg name="problem_topic"        value="/rosplan_problem_interface/problem_instance" />
            <arg name="planner_topic"        value="planner_output" />
            <arg name="domain_path"          value="$(arg domain_path)" />
            <arg name="problem_path"         value="$(find rosplan_demos)/common/problem.pddl" />
            <arg name="data_path"            value="$(find rosplan_demos)/common/" />
            <arg name="planner_command"      value="timeout 10 $(find rosplan_planning_system)/common/bin/popf DOMAIN PROBLEM" />
        </include>
    </launch>

    tutorial_03.launch

    <?xml version="1.0"?>
    <launch>
    
        <!-- arguments -->
        <arg name="domain_path"    default="$(find rosplan_demos)/common/domain_turtlebot.pddl" />
        <arg name="problem_path"    default="$(find rosplan_demos)/common/problem_turtlebot.pddl" />
    
        <!-- knowledge base -->
        <node name="rosplan_knowledge_base" pkg="rosplan_knowledge_base" type="knowledgeBase" respawn="false" output="screen">
            <param name="domain_path" value="$(arg domain_path)" />
            <param name="problem_path" value="$(arg problem_path)" />
            <!-- conditional planning flags -->
            <param name="use_unknowns" value="false" />
        </node>
        
        <!-- plan parsing -->
        <node name="rosplan_parsing_interface" pkg="rosplan_planning_system" type="pddl_simple_plan_parser" respawn="false" output="screen">
            <param name="knowledge_base" value="rosplan_knowledge_base" />
            <param name="planner_topic"  value="/rosplan_planner_interface/planner_output" />
            <param name="plan_topic"     value="complete_plan" />
        </node>
    
        <!-- plan dispatching -->
        <node name="rosplan_plan_dispatcher" pkg="rosplan_planning_system" type="pddl_simple_plan_dispatcher" respawn="false" output="screen">
            <param name="knowledge_base"        value="rosplan_knowledge_base" />
            <param name="plan_topic"            value="/rosplan_parsing_interface/complete_plan" />
            <param name="action_dispatch_topic" value="action_dispatch" />
            <param name="action_feedback_topic" value="action_feedback" />
        </node>
    
    </launch>

    plan_tutorial_03.pddl

      0.000: (undock kenny wp1)             [10.000]
     10.001: (localise kenny)               [60.000]
     70.002: (goto_waypoint kenny wp0 wp0)  [60.000]
    130.003: (goto_waypoint kenny wp0 wp1)  [60.000]
    190.004: (goto_waypoint kenny wp1 wp2)  [60.000]
    250.005: (goto_waypoint kenny wp2 wp3)  [60.000]
    310.006: (goto_waypoint kenny wp3 wp4)  [60.000]

    tutorial_04.launch

    <?xml version="1.0"?>
    <launch>
    
        <!-- ROSPlan -->
        <include file="$(find rosplan_planning_system)/launch/interfaced_planning_system.launch" >
            <arg name="domain_path"        value="$(find rosplan_demos)/common/domain_turtlebot.pddl" />
            <arg name="problem_path"    value="$(find rosplan_demos)/common/problem_turtlebot.pddl" />
        </include>
    
        <!-- sim actions -->
        <include file="$(find rosplan_planning_system)/launch/includes/simulated_action.launch" >
            <arg name="pddl_action_name" value="undock" />
        </include>
        <include file="$(find rosplan_planning_system)/launch/includes/simulated_action.launch" >
            <arg name="pddl_action_name" value="dock" />
        </include>
        <include file="$(find rosplan_planning_system)/launch/includes/simulated_action.launch" >
            <arg name="pddl_action_name" value="localise" />
        </include>
        <include file="$(find rosplan_planning_system)/launch/includes/simulated_action.launch" >
            <arg name="pddl_action_name" value="goto_waypoint" />
        </include>
    </launch>

    tutorial_04.bash

    echo "Generating a Problem"
    rosservice call /rosplan_problem_interface/problem_generation_server
    
    echo "Planning"
    rosservice call /rosplan_planner_interface/planning_server
    
    echo "Executing the Plan"
    rosservice call /rosplan_parsing_interface/parse_plan
    rosservice call /rosplan_plan_dispatcher/dispatch_plan

    tutorial_05.launch

    <?xml version="1.0"?>
    <launch>
    
        <!-- ROSPlan -->
        <include file="$(find rosplan_planning_system)/launch/interfaced_planning_system.launch" >
            <arg name="domain_path"        value="$(find rosplan_demos)/common/domain_turtlebot.pddl" />
            <arg name="problem_path"    value="$(find rosplan_demos)/common/problem_turtlebot.pddl" />
        </include>
    
           <!-- sim actions -->
        <include file="$(find rosplan_planning_system)/launch/includes/simulated_action.launch" >
            <arg name="pddl_action_name" value="undock" />
            <arg name="action_duration" value="5" />
        </include>
        <include file="$(find rosplan_planning_system)/launch/includes/simulated_action.launch" >
            <arg name="pddl_action_name" value="dock" />
            <arg name="action_duration" value="15" />
        </include>
        <include file="$(find rosplan_planning_system)/launch/includes/simulated_action.launch" >
            <arg name="pddl_action_name" value="localise" />
            <arg name="action_duration" value="60" />
        </include>
        <include file="$(find rosplan_planning_system)/launch/includes/simulated_action.launch" >
            <arg name="pddl_action_name" value="goto_waypoint" />
            <arg name="action_duration" value="45" />
        </include>
    </launch>
    雪儿言
  • 相关阅读:
    PythonStudy——socket 网络编程
    PythonStudy——异常处理
    PythonStudy——subprocess 模块
    PythonStudy——xlrd 与 xlwt 表格处理模块
    MySQLStudy——安装与环境部署
    Redo与undo在开发中的使用
    SQL语句的执行计划(oracle表的三种链接方式)
    SQLSERVER的兼容级别
    查看用户的SQL执行历史
    Spark是一种分布式的计算方案
  • 原文地址:https://www.cnblogs.com/weixq351/p/14535848.html
Copyright © 2020-2023  润新知