diff --git a/smach_tutorials/CMakeLists.txt b/smach_tutorials/CMakeLists.txt index 51d8078..7ce53a4 100644 --- a/smach_tutorials/CMakeLists.txt +++ b/smach_tutorials/CMakeLists.txt @@ -1,34 +1,24 @@ -cmake_minimum_required(VERSION 2.4.6) -include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) +cmake_minimum_required(VERSION 2.8.3) +project(smach_tutorials) -# Set the build type. Options are: -# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage -# Debug : w/ debug symbols, w/o optimization -# Release : w/o debug symbols, w/ optimization -# RelWithDebInfo : w/ debug symbols, w/ optimization -# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries -#set(ROS_BUILD_TYPE RelWithDebInfo) +find_package(catkin REQUIRED COMPONENTS + genmsg + actionlib_msgs + actionlib + geometry_msgs +) -rosbuild_find_ros_package(actionlib_msgs) -include(${actionlib_msgs_PACKAGE_PATH}/cmake/actionbuild.cmake) -genaction() +catkin_python_setup() -rosbuild_init() +add_action_files( + DIRECTORY + action + FILES + Test.action +) -#set the default path for built executables to the "bin" directory -set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) -#set the default path for built libraries to the "lib" directory -set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) - -#uncomment if you have defined messages -rosbuild_genmsg() -#uncomment if you have defined services -#rosbuild_gensrv() - -#common commands for building c++ executables and libraries -#rosbuild_add_library(${PROJECT_NAME} src/example.cpp) -#target_link_libraries(${PROJECT_NAME} another_library) -#rosbuild_add_boost_directories() -#rosbuild_link_boost(${PROJECT_NAME} thread) -#rosbuild_add_executable(example examples/example.cpp) -#target_link_libraries(example ${PROJECT_NAME}) +generate_messages( + DEPENDENCIES + geometry_msgs + actionlib_msgs +) \ No newline at end of file diff --git a/smach_tutorials/manifest.xml b/smach_tutorials/manifest.xml deleted file mode 100644 index 5ab2254..0000000 --- a/smach_tutorials/manifest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - This package containes numerous examples of how to use SMACH. See the examples directory. - - Jonathan Bohren - BSD - - http://ros.org/wiki/smach_tutorials - - - - - - - - - - - - - - - - - - diff --git a/smach_tutorials/package.xml b/smach_tutorials/package.xml new file mode 100644 index 0000000..8fa4aaa --- /dev/null +++ b/smach_tutorials/package.xml @@ -0,0 +1,19 @@ + + + smach_tutorials + 1.0.0 + Action sever to interface between the planning system and the drone + + Bcchoi + + BSD + + actionlib + actionlib_msgs + + actionlib + actionlib_msgs + + catkin + + \ No newline at end of file diff --git a/smach_tutorials/scripts/usecase_01/executive_step_01.py b/smach_tutorials/scripts/usecase_01/executive_step_01.py index 20aaaa6..6a8cf25 100755 --- a/smach_tutorials/scripts/usecase_01/executive_step_01.py +++ b/smach_tutorials/scripts/usecase_01/executive_step_01.py @@ -18,7 +18,7 @@ [ERROR] : Container consistency check failed. """ -import roslib; roslib.load_manifest('smach_tutorials') +# import roslib; roslib.load_manifest('smach_tutorials') use on rosbuild import rospy import smach diff --git a/smach_tutorials/scripts/usecase_01/executive_step_02.py b/smach_tutorials/scripts/usecase_01/executive_step_02.py index c96cab8..6dfd637 100755 --- a/smach_tutorials/scripts/usecase_01/executive_step_02.py +++ b/smach_tutorials/scripts/usecase_01/executive_step_02.py @@ -14,13 +14,13 @@ """ -import roslib; roslib.load_manifest('smach_tutorials') +# import roslib; roslib.load_manifest('smach_tutorials') use on rosbuild import rospy import threading import smach -from smach import StateMachine, ServiceState, SimpleActionState +from smach_ros import ServiceState, SimpleActionState import std_srvs.srv import turtlesim.srv @@ -29,17 +29,17 @@ def main(): rospy.init_node('smach_usecase_step_02') # Create a SMACH state machine - sm0 = StateMachine(outcomes=['succeeded','aborted','preempted']) + sm0 = smach.StateMachine(outcomes=['succeeded','aborted','preempted']) # Open the container with sm0: # Reset turtlesim - StateMachine.add('RESET', + smach.StateMachine.add('RESET', ServiceState('reset', std_srvs.srv.Empty), {'succeeded':'SPAWN'}) # Create a second turtle - StateMachine.add('SPAWN', + smach.StateMachine.add('SPAWN', ServiceState('spawn', turtlesim.srv.Spawn, request = turtlesim.srv.SpawnRequest(0.0,0.0,0.0,'turtle2'))) diff --git a/smach_tutorials/scripts/usecase_01/executive_step_03.py b/smach_tutorials/scripts/usecase_01/executive_step_03.py index da27185..7cfc106 100755 --- a/smach_tutorials/scripts/usecase_01/executive_step_03.py +++ b/smach_tutorials/scripts/usecase_01/executive_step_03.py @@ -4,7 +4,7 @@ Usage: $> roslaunch turtle_nodes.launch - $> ./executive_step_02.py + $> ./executive_step_03.py Output: [INFO] : State machine starting in initial state 'RESET' with userdata: @@ -14,19 +14,19 @@ """ -import roslib; roslib.load_manifest('smach_tutorials') +# import roslib; roslib.load_manifest('smach_tutorials') import rospy import threading -import smach -from smach import StateMachine, ServiceState, SimpleActionState, IntrospectionServer +from smach import StateMachine +from smach_ros import ServiceState, SimpleActionState, IntrospectionServer import std_srvs.srv import turtlesim.srv def main(): - rospy.init_node('smach_usecase_step_02') + rospy.init_node('smach_usecase_step_03') # Create a SMACH state machine sm0 = StateMachine(outcomes=['succeeded','aborted','preempted']) diff --git a/smach_tutorials/scripts/usecase_01/executive_step_04.py b/smach_tutorials/scripts/usecase_01/executive_step_04.py index f6fe6d9..8faa07f 100755 --- a/smach_tutorials/scripts/usecase_01/executive_step_04.py +++ b/smach_tutorials/scripts/usecase_01/executive_step_04.py @@ -20,18 +20,18 @@ """ -import roslib; roslib.load_manifest('smach_tutorials') +# import roslib; roslib.load_manifest('smach_tutorials') import rospy import threading -import smach -from smach import StateMachine, ServiceState, SimpleActionState, IntrospectionServer +from smach import StateMachine +from smach_ros import ServiceState, SimpleActionState, IntrospectionServer import std_srvs.srv import turtlesim.srv import turtle_actionlib.msg - +from smach_ros import util def main(): rospy.init_node('smach_usecase_step_04') @@ -84,7 +84,7 @@ def main(): sis.start() # Set preempt handler - smach.set_preempt_handler(sm0) + util.set_preempt_handler(sm0) # Execute SMACH tree in a separate thread so that we can ctrl-c the script smach_thread = threading.Thread(target = sm0.execute) diff --git a/smach_tutorials/scripts/usecase_01/executive_step_05.py b/smach_tutorials/scripts/usecase_01/executive_step_05.py index 97d1ae4..07cfae8 100755 --- a/smach_tutorials/scripts/usecase_01/executive_step_05.py +++ b/smach_tutorials/scripts/usecase_01/executive_step_05.py @@ -23,18 +23,18 @@ [INFO] : State machine terminating 'DRAW_SHAPES':'succeeded':'succeeded' """ -import roslib; roslib.load_manifest('smach_tutorials') +# import roslib; roslib.load_manifest('smach_tutorials') import rospy import threading -import smach -from smach import StateMachine, ServiceState, SimpleActionState, IntrospectionServer, Concurrence +from smach import StateMachine, Concurrence +from smach_ros import ServiceState, SimpleActionState, IntrospectionServer import std_srvs.srv import turtlesim.srv import turtle_actionlib.msg - +from smach_ros import util def main(): rospy.init_node('smach_usecase_step_05') @@ -94,7 +94,7 @@ def main(): sis.start() # Set preempt handler - smach.set_preempt_handler(sm0) + util.set_preempt_handler(sm0) # Execute SMACH tree in a separate thread so that we can ctrl-c the script smach_thread = threading.Thread(target = sm0.execute) diff --git a/smach_tutorials/scripts/usecase_01/executive_step_06.py b/smach_tutorials/scripts/usecase_01/executive_step_06.py index 802f153..c66da33 100755 --- a/smach_tutorials/scripts/usecase_01/executive_step_06.py +++ b/smach_tutorials/scripts/usecase_01/executive_step_06.py @@ -39,7 +39,7 @@ """ -import roslib; roslib.load_manifest('smach_tutorials') +# import roslib; roslib.load_manifest('smach_tutorials') import rospy import threading diff --git a/smach_tutorials/scripts/usecase_01/executive_step_07.py b/smach_tutorials/scripts/usecase_01/executive_step_07.py index 2ed6c81..c8b508b 100755 --- a/smach_tutorials/scripts/usecase_01/executive_step_07.py +++ b/smach_tutorials/scripts/usecase_01/executive_step_07.py @@ -39,7 +39,7 @@ """ -import roslib; roslib.load_manifest('smach_tutorials') +# import roslib; roslib.load_manifest('smach_tutorials') import rospy import threading diff --git a/smach_tutorials/setup.py b/smach_tutorials/setup.py new file mode 100644 index 0000000..f45f50e --- /dev/null +++ b/smach_tutorials/setup.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python + +from distutils.core import setup +from catkin_pkg.python_setup import generate_distutils_setup + +d = generate_distutils_setup( + packages=['smach_tutorials'], +) + +setup(**d)