Go to the documentation of this file.00001
00002
00003 import roslib; roslib.load_manifest('srs_decision_making')
00004 import rospy
00005
00006
00007 import actionlib
00008
00009
00010
00011 import srs_decision_making.msg as xmsg
00012
00013 from simple_script_server import simple_script_server
00014 sss = simple_script_server()
00015
00016 import geometry_msgs.msg as geomery
00017 import gazebo.msg as gazebo
00018 from gazebo.srv import SetModelState
00019
00020 from geometry_msgs.msg import *
00021
00022 from cob_object_detection_msgs.srv import *
00023 from cob_object_detection_msgs.msg import *
00024 from gazebo.srv import *
00025 import gazebo.msg as gazebo
00026
00027
00028
00029
00030 import roslib; roslib.load_manifest('srs_decision_making')
00031 import rospy
00032
00033
00034 import actionlib
00035
00036
00037
00038 import srs_decision_making.msg as xmsg
00039
00040 def DM_client():
00041
00042
00043 client = actionlib.SimpleActionClient('srs_decision_making_actions', xmsg.ExecutionAction)
00044
00045
00046
00047 client.wait_for_server()
00048
00049
00050
00051
00052
00053 start_pose = Pose()
00054
00055 start_pose.position.x = -3.0;
00056 start_pose.position.y = -0.2;
00057 start_pose.position.z = 1.02;
00058 start_pose.orientation.x = 0.0;
00059 start_pose.orientation.y = 0.0;
00060 start_pose.orientation.z = 0.0;
00061 start_pose.orientation.w = 0.0;
00062
00063 start_twist = Twist()
00064 start_twist.linear.x = 0.0;
00065 start_twist.linear.y = 0.0;
00066 start_twist.linear.z = 0.0;
00067 start_twist.angular.x = 0.0;
00068 start_twist.angular.y = 0.0;
00069 start_twist.angular.z = 0.0;
00070
00071 modelstate = gazebo.ModelState
00072 modelstate.model_name = "milk_box";
00073 modelstate.reference_frame = "world";
00074 modelstate.pose = start_pose;
00075 modelstate.twist = start_twist;
00076
00077 try:
00078 move_milk = rospy.ServiceProxy("/gazebo/set_model_state", SetModelState)
00079 move_milk(modelstate)
00080 except rospy.ServiceException, e:
00081 error_message = "%s"%e
00082 rospy.logerr("have you put the milk into the simulation?")
00083
00084
00085
00086
00087
00088
00089
00090 handle_tray = sss.move("tray", "down", False)
00091 handle_tray.wait()
00092
00093 _goal=xmsg.ExecutionGoal()
00094 _goal.action="move"
00095 _goal.parameter="[0.5 -1.6 1.57]"
00096 _goal.priority=0
00097 client.send_goal(_goal)
00098 client.wait_for_result()
00099 sss.say(["back to charging station, I am ready for new tasks"],False)
00100
00101 return client.get_result()
00102
00103
00104
00105
00106
00107 if __name__ == '__main__':
00108 try:
00109
00110
00111 rospy.init_node('dm_client1')
00112 result = DM_client()
00113 rospy.loginfo('result %s',result)
00114
00115 except rospy.ROSInterruptException:
00116 print "program interrupted before completion"