21 from geometry_msgs.msg
import Point
22 from final_assignment.srv
import get_point, get_pointRequest, get_pointResponse
23 from final_assignment.srv
import position_defined, position_definedRequest, position_definedResponse
25 from datetime
import datetime
32 node_name =
"points_manager"
35 positions = [ Point(-4,-3,0), Point(-4,2,0), Point(-4,7,0), Point(5,-7, 0), Point(5,-3,0), Point(5,1,0) ]
42 name_get_point =
"/get_point"
45 name_position_defined =
"/position_defined"
56 to_return = get_pointResponse( )
57 to_return.position = random.choice( positions )
70 to_return = position_definedResponse( )
71 to_return.defined =
True if ( req.position
in positions )
else False
81 rospy.loginfo(
" [points_manager] shutdown" )
85 if __name__ ==
"__main__":
86 rospy.init_node( node_name )
87 rospy.on_shutdown( shut_msg )
89 random.seed( datetime.now( ) )
92 handler_get_point = rospy.Service( name_get_point, get_point, cbk_get_point )
93 rospy.loginfo(
" [points_manager] %s ONLINE.", name_get_point )
96 handler_position_defined = rospy.Service( name_position_defined, position_defined, cbk_point_defined )
97 rospy.loginfo(
" [points_manager] %s ONLINE.", name_position_defined )
99 rospy.on_shutdown( shut_msg )
def shut_msg()
shutdown message
def cbk_get_point(req)
get one point randomly
def cbk_point_defined(req)
check is one given point is defined