|
From: <j_b...@us...> - 2009-07-13 22:09:26
|
Revision: 18702
http://personalrobots.svn.sourceforge.net/personalrobots/?rev=18702&view=rev
Author: j_bohren
Date: 2009-07-13 22:09:16 +0000 (Mon, 13 Jul 2009)
Log Message:
-----------
Index: trex_pr2/nddl/nav/imports.nddl
Removed DetectPlugOnBase timeline from navigation nddl module
Index: trex_pr2/nddl/rcs/plugs/exports.nddl
Added DetectPlugOnBase to the exports of the plugs model
Index: trex_pr2/nddl/rcs/safety/exports.nddl
Removed DetectPlugOnBase from the exports of the safety model
Index: trex_pr2/src/pr2_adapters.cpp
Removed NoArgumentsAction, ShellCommand action, StopAction action from pr2_adapters
Index: trex_ros/include/trex_ros/components.h
Added inclusion guard
Index: trex_ros/CMakeLists.txt
Added trex_ros adapters executable
Updated all of the test launch files that launched the stopaction executable. This is now in trex_ros
Removed a duplicate NoArgumentsAction from pr2_robot_actions
>>>>>>> These actions moved into robot_actions might belong somewhere else, but they don't belong in pr2_robot_actions... they have nothing to do with the pr2.
Modified Paths:
--------------
pkg/trunk/stacks/trex/trex_pr2/CMakeLists.txt
pkg/trunk/stacks/trex/trex_pr2/include/trex_pr2/pr2_adapters.h
pkg/trunk/stacks/trex/trex_pr2/nddl/nav/imports.nddl
pkg/trunk/stacks/trex/trex_pr2/nddl/rcs/plugs/exports.nddl
pkg/trunk/stacks/trex/trex_pr2/nddl/rcs/safety/exports.nddl
pkg/trunk/stacks/trex/trex_pr2/src/pr2_adapters.cpp
pkg/trunk/stacks/trex/trex_pr2/src/stub_ros_container.cpp
pkg/trunk/stacks/trex/trex_pr2/test/baseline/real.launch
pkg/trunk/stacks/trex/trex_pr2/test/baseline/stubs.launch
pkg/trunk/stacks/trex/trex_pr2/test/doors/real.launch
pkg/trunk/stacks/trex/trex_pr2/test/master/domain_tests/master.1/real.launch
pkg/trunk/stacks/trex/trex_pr2/test/master/m2/no_arms/run_real.launch
pkg/trunk/stacks/trex/trex_pr2/test/master/m2/no_plugs/no_arms/run_real.launch
pkg/trunk/stacks/trex/trex_pr2/test/master/real.launch
pkg/trunk/stacks/trex/trex_pr2/test/stubs.launch
pkg/trunk/stacks/trex/trex_ros/CMakeLists.txt
pkg/trunk/stacks/trex/trex_ros/include/trex_ros/components.h
Added Paths:
-----------
pkg/trunk/stacks/common/robot_actions/msg/ShellCommandState.msg
pkg/trunk/stacks/common/robot_actions/msg/StopActionState.msg
Removed Paths:
-------------
pkg/trunk/stacks/pr2/pr2_robot_actions/msg/NoArgumentsActionState.msg
pkg/trunk/stacks/pr2/pr2_robot_actions/msg/ShellCommandState.msg
pkg/trunk/stacks/pr2/pr2_robot_actions/msg/StopActionState.msg
Added: pkg/trunk/stacks/common/robot_actions/msg/ShellCommandState.msg
===================================================================
--- pkg/trunk/stacks/common/robot_actions/msg/ShellCommandState.msg (rev 0)
+++ pkg/trunk/stacks/common/robot_actions/msg/ShellCommandState.msg 2009-07-13 22:09:16 UTC (rev 18702)
@@ -0,0 +1,8 @@
+Header header
+robot_actions/ActionStatus status
+
+# Goal parameters
+std_msgs/String goal
+
+# Feedback parameters - same structure as goal
+std_msgs/String feedback
Added: pkg/trunk/stacks/common/robot_actions/msg/StopActionState.msg
===================================================================
--- pkg/trunk/stacks/common/robot_actions/msg/StopActionState.msg (rev 0)
+++ pkg/trunk/stacks/common/robot_actions/msg/StopActionState.msg 2009-07-13 22:09:16 UTC (rev 18702)
@@ -0,0 +1,8 @@
+Header header
+robot_actions/ActionStatus status
+
+# Goal parameter - the action name to stop
+std_msgs/String goal
+
+# Feedback parameters - none
+std_msgs/Empty feedback
Deleted: pkg/trunk/stacks/pr2/pr2_robot_actions/msg/NoArgumentsActionState.msg
===================================================================
--- pkg/trunk/stacks/pr2/pr2_robot_actions/msg/NoArgumentsActionState.msg 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/pr2/pr2_robot_actions/msg/NoArgumentsActionState.msg 2009-07-13 22:09:16 UTC (rev 18702)
@@ -1,13 +0,0 @@
-# Many actions take no goal, and give no feedback other than the success or failure. For these
-# we define a comon message format
-
-Header header
-
-# Status
-robot_actions/ActionStatus status
-
-# Goal
-std_msgs/Empty goal
-
-# Feedback
-std_msgs/Empty feedback
\ No newline at end of file
Deleted: pkg/trunk/stacks/pr2/pr2_robot_actions/msg/ShellCommandState.msg
===================================================================
--- pkg/trunk/stacks/pr2/pr2_robot_actions/msg/ShellCommandState.msg 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/pr2/pr2_robot_actions/msg/ShellCommandState.msg 2009-07-13 22:09:16 UTC (rev 18702)
@@ -1,8 +0,0 @@
-Header header
-robot_actions/ActionStatus status
-
-# Goal parameters
-std_msgs/String goal
-
-# Feedback parameters - same structure as goal
-std_msgs/String feedback
Deleted: pkg/trunk/stacks/pr2/pr2_robot_actions/msg/StopActionState.msg
===================================================================
--- pkg/trunk/stacks/pr2/pr2_robot_actions/msg/StopActionState.msg 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/pr2/pr2_robot_actions/msg/StopActionState.msg 2009-07-13 22:09:16 UTC (rev 18702)
@@ -1,8 +0,0 @@
-Header header
-robot_actions/ActionStatus status
-
-# Goal parameter - the action name to stop
-std_msgs/String goal
-
-# Feedback parameters - none
-std_msgs/Empty feedback
Modified: pkg/trunk/stacks/trex/trex_pr2/CMakeLists.txt
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/CMakeLists.txt 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/CMakeLists.txt 2009-07-13 22:09:16 UTC (rev 18702)
@@ -54,9 +54,6 @@
# stub_ros__container implements stub state publishers and actions to allow easy testing of the ROS adapters for the model
rospack_add_executable(bin/stub_ros_container src/stub_ros_container.cpp)
-# Implementation of actions that we actually use
-rospack_add_executable(bin/actions src/actions.cpp)
-
# Try the API for running the service calls to the executive
rospack_add_executable(test/ros_reactor_test test/ros_reactor_test.cpp)
Modified: pkg/trunk/stacks/trex/trex_pr2/include/trex_pr2/pr2_adapters.h
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/include/trex_pr2/pr2_adapters.h 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/include/trex_pr2/pr2_adapters.h 2009-07-13 22:09:16 UTC (rev 18702)
@@ -49,12 +49,12 @@
#include <plugs_msgs/PlugStow.h>
#include <robot_actions/action_runner.h>
#include <robot_actions/action.h>
+#include <robot_actions/StopActionState.h>
+#include <robot_actions/ShellCommandState.h>
#include <robot_actions/NoArgumentsActionState.h>
#include <pr2_robot_actions/DoorActionState.h>
#include <pr2_robot_actions/CheckPathState.h>
#include <pr2_robot_actions/NotifyDoorBlockedState.h>
-#include <pr2_robot_actions/ShellCommandState.h>
-#include <pr2_robot_actions/StopActionState.h>
#include <nav_robot_actions/MoveBaseState.h>
#include <pr2_robot_actions/RechargeState.h>
#include <pr2_robot_actions/DetectPlugOnBaseState.h>
Modified: pkg/trunk/stacks/trex/trex_pr2/nddl/nav/imports.nddl
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/nddl/nav/imports.nddl 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/nddl/nav/imports.nddl 2009-07-13 22:09:16 UTC (rev 18702)
@@ -13,11 +13,6 @@
// Mechanisms used for driving and tucking arms
HeadMechanism head_mechanism = new HeadMechanism(External);
-// Controller requirements for actions
-DetectPlugOnBase::Active{
- contained_by(laser_tilt_mechanism.use_laser_tilt_controller);
-}
-
// Controller and laser configuration requirements
MoveBase::Active{
contained_by(head_mechanism.use_head_controller);
Modified: pkg/trunk/stacks/trex/trex_pr2/nddl/rcs/plugs/exports.nddl
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/nddl/rcs/plugs/exports.nddl 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/nddl/rcs/plugs/exports.nddl 2009-07-13 22:09:16 UTC (rev 18702)
@@ -1,7 +1,31 @@
/**
* This file specifies the interface for actions in the plugs domain
- * @note Detection of the plug on the base is specified in the safety area.
*/
+
+/**
+ * @brief This is a sensing action which will be used during navigation and recharging.
+ *
+ * It should return success if it found the plug, and the plug is on the base in the expected position.
+ * It will take as input an expected x, y, and th triple in the 'robot frame' and it will give feedback of the
+ * actual x and y values.
+ */
+class DetectPlugOnBase extends ROSAction {
+
+ predicate Active {}
+
+ predicate Inactive {
+ float time_stamp; // A double encoding is reliable
+ string frame_id;
+ bool stowed;
+ float x;
+ float y;
+ float z;
+ }
+
+ DetectPlugOnBase(Mode _mode){ super(_mode);}
+};
+
+
class PlugDomainAction extends ROSAction{
predicate Active{}
predicate Inactive{}
Modified: pkg/trunk/stacks/trex/trex_pr2/nddl/rcs/safety/exports.nddl
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/nddl/rcs/safety/exports.nddl 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/nddl/rcs/safety/exports.nddl 2009-07-13 22:09:16 UTC (rev 18702)
@@ -4,29 +4,6 @@
*/
/**
- * @brief This is a sensing action which will be used during navigation and recharging.
- *
- * It should return success if it found the plug, and the plug is on the base in the expected position.
- * It will take as input an expected x, y, and th triple in the 'robot frame' and it will give feedback of the
- * actual x and y values.
- */
-class DetectPlugOnBase extends ROSAction {
-
- predicate Active {}
-
- predicate Inactive {
- float time_stamp; // A double encoding is reliable
- string frame_id;
- bool stowed;
- float x;
- float y;
- float z;
- }
-
- DetectPlugOnBase(Mode _mode){ super(_mode);}
-};
-
-/**
* @brief This is a general utility for tucking arms.
*/
class SafetyTuckArms extends ROSAction {
Modified: pkg/trunk/stacks/trex/trex_pr2/src/pr2_adapters.cpp
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/src/pr2_adapters.cpp 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/src/pr2_adapters.cpp 2009-07-13 22:09:16 UTC (rev 18702)
@@ -127,21 +127,7 @@
// Allocate Factory
TeleoReactor::ConcreteFactory<CheckPathAdapter> CheckPathAdapter_Factory("CheckPathAdapter");
- /***********************************************************************
- * @brief NoArgumentsAction action
- **********************************************************************/
- class NoArgumentsActionAdapter: public ROSActionAdapter<std_msgs::Empty, robot_actions::NoArgumentsActionState, std_msgs::Empty> {
- public:
- NoArgumentsActionAdapter(const LabelStr& agentName, const TiXmlElement& configData)
- : ROSActionAdapter<std_msgs::Empty, robot_actions::NoArgumentsActionState, std_msgs::Empty>(agentName, configData){
- }
- };
-
- // Allocate Factory
- TeleoReactor::ConcreteFactory<NoArgumentsActionAdapter> NoArgumentsActionAdapter_Factory("NoArgumentsActionAdapter");
-
-
/***********************************************************************
* @@brief Recharge action
**********************************************************************/
@@ -188,58 +174,6 @@
/***********************************************************************
- * @brief ShellCommand action will take system commands in strings and
- * ship them for execution.
- **********************************************************************/
- class ShellCommandAdapter: public ROSActionAdapter<std_msgs::String, pr2_robot_actions::ShellCommandState, std_msgs::String> {
- public:
-
- ShellCommandAdapter(const LabelStr& agentName, const TiXmlElement& configData)
- : ROSActionAdapter<std_msgs::String, pr2_robot_actions::ShellCommandState, std_msgs::String>(agentName, configData){
- }
-
- virtual void fillActiveObservationParameters(const std_msgs::String& msg, ObservationByValue* obs){
- obs->push_back("request", AdapterUtilities::toStringDomain(msg));
- }
-
- virtual void fillInactiveObservationParameters(const std_msgs::String& msg, ObservationByValue* obs){
- obs->push_back("response", AdapterUtilities::toStringDomain(msg));
- }
-
- void fillDispatchParameters(std_msgs::String& msg, const TokenId& goalToken){
- const StringDomain& dom = static_cast<const StringDomain&>(goalToken->getVariable("request")->lastDomain());
- AdapterUtilities::write(dom, msg);
- }
- };
-
- // Allocate Factory
- TeleoReactor::ConcreteFactory<ShellCommandAdapter> ShellCommandAdapter_Factory("ShellCommandAdapter");
-
- /***********************************************************************
- * @brief StopAction action
- **********************************************************************/
- class StopActionAdapter: public ROSActionAdapter<std_msgs::String, pr2_robot_actions::StopActionState, std_msgs::Empty> {
- public:
-
- StopActionAdapter(const LabelStr& agentName, const TiXmlElement& configData)
- : ROSActionAdapter<std_msgs::String, pr2_robot_actions::StopActionState, std_msgs::Empty>(agentName, configData){
- }
-
- virtual void fillActiveObservationParameters(const std_msgs::String& msg, ObservationByValue* obs){
- obs->push_back("action_name", AdapterUtilities::toStringDomain(msg));
- }
-
- void fillDispatchParameters(std_msgs::String& msg, const TokenId& goalToken){
- const StringDomain& dom = static_cast<const StringDomain&>(goalToken->getVariable("action_name")->lastDomain());
- AdapterUtilities::write(dom, msg);
- }
- };
-
- // Allocate Factory
- TeleoReactor::ConcreteFactory<StopActionAdapter> StopActionAdapter_Factory("StopActionAdapter");
-
-
- /***********************************************************************
* @brief
**********************************************************************/
class BaseStateAdapter: public ROSStateAdapter<robot_msgs::PoseStamped> {
Modified: pkg/trunk/stacks/trex/trex_pr2/src/stub_ros_container.cpp
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/src/stub_ros_container.cpp 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/src/stub_ros_container.cpp 2009-07-13 22:09:16 UTC (rev 18702)
@@ -354,7 +354,7 @@
trex_pr2::SimpleStubAction<std_msgs::String> shell_command("shell_command");
if (getComponentParam("/trex/enable_shell_command"))
- runner.connect<std_msgs::String, pr2_robot_actions::ShellCommandState, std_msgs::String>(shell_command);
+ runner.connect<std_msgs::String, robot_actions::ShellCommandState, std_msgs::String>(shell_command);
trex_pr2::SimpleStubAction<door_msgs::Door> notify_door_blocked("notify_door_blocked");
Modified: pkg/trunk/stacks/trex/trex_pr2/test/baseline/real.launch
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/test/baseline/real.launch 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/test/baseline/real.launch 2009-07-13 22:09:16 UTC (rev 18702)
@@ -42,5 +42,5 @@
<param name="/trex/enable_doors_grasp_handle" value="false"/>
<node pkg="trex_pr2" type="stub_ros_container" respawn="true" />
- <node pkg="trex_pr2" type="actions" respawn="true" />
+ <node pkg="trex_ros" type="actions" respawn="true" />
</launch>
Modified: pkg/trunk/stacks/trex/trex_pr2/test/baseline/stubs.launch
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/test/baseline/stubs.launch 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/test/baseline/stubs.launch 2009-07-13 22:09:16 UTC (rev 18702)
@@ -37,5 +37,5 @@
<param name="/trex/enable_doors_grasp_handle" value="true"/>
<node pkg="trex_pr2" type="stub_ros_container" respawn="false" />
- <node pkg="trex_pr2" type="actions" respawn="false" />
+ <node pkg="trex_ros" type="actions" respawn="false" />
</launch>
Modified: pkg/trunk/stacks/trex/trex_pr2/test/doors/real.launch
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/test/doors/real.launch 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/test/doors/real.launch 2009-07-13 22:09:16 UTC (rev 18702)
@@ -10,7 +10,7 @@
<param name="/trex/enable_plugs_untuck_arms" value="true"/>
<param name="/trex/enable_set_laser_tilt" value="true"/>
<node pkg="trex_pr2" type="stub_ros_container" respawn="false" />
- <node pkg="trex_pr2" type="actions" respawn="false" />
+ <node pkg="trex_ros" type="actions" respawn="false" />
<param name="/trex/input_file" value="doorman.cfg"/>
Modified: pkg/trunk/stacks/trex/trex_pr2/test/master/domain_tests/master.1/real.launch
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/test/master/domain_tests/master.1/real.launch 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/test/master/domain_tests/master.1/real.launch 2009-07-13 22:09:16 UTC (rev 18702)
@@ -40,7 +40,7 @@
<param name="/trex/enable_doors_touch_door" value="true"/>
<param name="/trex/enable_doors_grasp_handle" value="true"/>
<node pkg="trex_pr2" type="stub_ros_container" respawn="false" />
- <node pkg="trex_pr2" type="actions" respawn="false" />
+ <node pkg="trex_ros" type="actions" respawn="false" />
<param name="/trex/update_rate" value="1"/>
<param name="/trex/input_file" value="master.cfg"/>
@@ -48,4 +48,4 @@
<param name="/trex/time_limit" value="20000"/>
<param name="/trex/log_dir" value="$(find trex_pr2)/logs"/>
<param name="/trex/play_back" value="0"/>
-</launch>
\ No newline at end of file
+</launch>
Modified: pkg/trunk/stacks/trex/trex_pr2/test/master/m2/no_arms/run_real.launch
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/test/master/m2/no_arms/run_real.launch 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/test/master/m2/no_arms/run_real.launch 2009-07-13 22:09:16 UTC (rev 18702)
@@ -39,7 +39,7 @@
<param name="/trex/enable_doors_touch_door" value="true"/>
<param name="/trex/enable_doors_grasp_handle" value="true"/>
<node pkg="trex_pr2" type="stub_ros_container" respawn="true" />
- <node pkg="trex_pr2" type="actions" respawn="true" />
+ <node pkg="trex_ros" type="actions" respawn="true" />
<param name="/trex/update_rate" value="10"/>
<param name="/trex/input_file" value="master.cfg"/>
Modified: pkg/trunk/stacks/trex/trex_pr2/test/master/m2/no_plugs/no_arms/run_real.launch
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/test/master/m2/no_plugs/no_arms/run_real.launch 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/test/master/m2/no_plugs/no_arms/run_real.launch 2009-07-13 22:09:16 UTC (rev 18702)
@@ -39,7 +39,7 @@
<param name="/trex/enable_doors_touch_door" value="true"/>
<param name="/trex/enable_doors_grasp_handle" value="true"/>
<node pkg="trex_pr2" type="stub_ros_container" respawn="true" />
- <node pkg="trex_pr2" type="actions" respawn="true" />
+ <node pkg="trex_ros" type="actions" respawn="true" />
<param name="/trex/update_rate" value="10"/>
<param name="/trex/input_file" value="master.cfg"/>
Modified: pkg/trunk/stacks/trex/trex_pr2/test/master/real.launch
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/test/master/real.launch 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/test/master/real.launch 2009-07-13 22:09:16 UTC (rev 18702)
@@ -42,7 +42,7 @@
<param name="/trex/enable_doors_touch_door" value="false"/>
<param name="/trex/enable_doors_grasp_handle" value="false"/>
<node pkg="trex_pr2" type="stub_ros_container" respawn="true" />
- <node pkg="trex_pr2" type="actions" respawn="true" />
+ <node pkg="trex_ros" type="actions" respawn="true" />
<param name="/trex/update_rate" value="10"/>
<param name="/trex/input_file" value="master.cfg"/>
Modified: pkg/trunk/stacks/trex/trex_pr2/test/stubs.launch
===================================================================
--- pkg/trunk/stacks/trex/trex_pr2/test/stubs.launch 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_pr2/test/stubs.launch 2009-07-13 22:09:16 UTC (rev 18702)
@@ -35,5 +35,5 @@
<param name="/trex/enable_doors_touch_door" value="true"/>
<param name="/trex/enable_doors_grasp_handle" value="true"/>
<node pkg="trex_pr2" type="stub_ros_container" respawn="false" />
- <node pkg="trex_pr2" type="actions" respawn="false" />
+ <node pkg="trex_ros" type="actions" respawn="false" />
</launch>
Modified: pkg/trunk/stacks/trex/trex_ros/CMakeLists.txt
===================================================================
--- pkg/trunk/stacks/trex/trex_ros/CMakeLists.txt 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_ros/CMakeLists.txt 2009-07-13 22:09:16 UTC (rev 18702)
@@ -8,7 +8,8 @@
rospack_add_boost_directories()
-set(TREX_FILES src/main.cpp
+set(TREX_FILES src/adapters.cpp
+ src/main.cpp
src/ros_reactor.cpp
src/executive.cpp
src/monitor.cpp
@@ -28,3 +29,6 @@
# and dispense shutdown commands to highlevel controllers (deactivation) if pings are
# not received in time
rospack_add_executable(bin/trexwatchdog src/watch_dog.cpp)
+
+# Implementation of actions
+rospack_add_executable(bin/actions src/actions.cpp)
Modified: pkg/trunk/stacks/trex/trex_ros/include/trex_ros/components.h
===================================================================
--- pkg/trunk/stacks/trex/trex_ros/include/trex_ros/components.h 2009-07-13 22:08:13 UTC (rev 18701)
+++ pkg/trunk/stacks/trex/trex_ros/include/trex_ros/components.h 2009-07-13 22:09:16 UTC (rev 18702)
@@ -1,6 +1,9 @@
/**
* @brief Collection of various components to use
*/
+#ifndef TREX_ROS_COMPONENTS_H_
+#define TREX_ROS_COMPONENTS_H_
+
#include "ros/ros.h"
#include "Constraint.hh"
@@ -90,3 +93,5 @@
const TokenId _source_token;
};
}
+
+#endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|