def run_param_manipulation(): ros_client = Ros('127.0.0.1', 9090) def delete_param_done(_): ros_client._test_param_del = True def get_param_done(value): ros_client._test_param_value = value delete_param = Param(ros_client, 'test_param') delete_param.delete(delete_param_done) def set_param_done(_): ros_client._test_param_set = True check_param = Param(ros_client, 'test_param') check_param.get(get_param_done) param = Param(ros_client, 'test_param') param.set('test_value', set_param_done) def verify(): assert(ros_client._test_param_set is True) assert(ros_client._test_param_value == 'test_value') assert(ros_client._test_param_del is True) ros_client.terminate() ros_client.call_later(1, verify) ros_client.run_forever()
def run_add_two_ints_service(): ros_client = Ros('127.0.0.1', 9090) service = Service(ros_client, '/test_server', 'rospy_tutorials/AddTwoInts') def dispose_server(): service.unadvertise() service.ros.call_later(1, service.ros.terminate) def add_two_ints(request, response): response['sum'] = request['a'] + request['b'] if response['sum'] == 42: service.ros.call_later(2, dispose_server) return True def check_sum(result): assert (result['sum'] == 42) def invoke_service(): client = Service(ros_client, '/test_server', 'rospy_tutorials/AddTwoInts') client.call(ServiceRequest({'a': 2, 'b': 40}), check_sum, print) service.advertise(add_two_ints) ros_client.call_later(1, invoke_service) ros_client.run_event_loop()
def run_tf_test(): ros_client = Ros('127.0.0.1', 9090) tf_client = TFClient(ros_client, fixed_frame='world') def callback(message): assert message['translation'] == dict( x=0.0, y=0.0, z=0.0), 'Unexpected translation received' assert message['rotation'] == dict( x=0.0, y=0.0, z=0.0, w=1.0), 'Unexpected rotation received' ros_client.terminate() tf_client.subscribe(frame_id='/world', callback=callback) ros_client.call_later(2, ros_client.terminate) ros_client.run_forever()