ros_action.h
Go to the documentation of this file.
00001 /* Copyright (C) 2015-2017 Michele Colledanchise - All Rights Reserved
00002 *
00003 *   Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
00004 *   to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
00005 *   and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
00006 *   The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
00007 *
00008 *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00009 *   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
00010 *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00011 */
00012 
00013 
00014 #ifndef ACTIONS_ROS_ACTION_H
00015 #define ACTIONS_ROS_ACTION_H
00016 
00017 #include <action_node.h>
00018 #include <string>
00019 
00020 #include <actionlib/client/simple_action_client.h>
00021 #include <actionlib/client/terminal_state.h>
00022 #include <behavior_tree_core/BTAction.h>
00023 
00024 
00025 
00026 namespace BT
00027 {
00028 class ROSAction : public ActionNode
00029 {
00030 protected:
00031     actionlib::SimpleActionClient<behavior_tree_core::BTAction> action_client_;
00032     behavior_tree_core::BTResult node_result;
00033     behavior_tree_core::BTGoal goal;
00034 public:
00035     // Constructor
00036     explicit ROSAction(std::string name);
00037     ~ROSAction();
00038 
00039     // The method that is going to be executed by the thread
00040     void WaitForTick();
00041 
00042     // The method used to interrupt the execution of the node
00043     void Halt();
00044 };
00045 }  // namespace BT
00046 
00047 #endif  // ACTIONS_ROS_ACTION_H


behavior_tree_core
Author(s): Michele Colledanchise
autogenerated on Sun Sep 10 2017 02:31:49