18 from uuv_gazebo_ros_plugins_msgs.srv
import SetFloat
21 if __name__ ==
'__main__':
22 print(
'Set scalar parameter, namespace=' + rospy.get_namespace())
23 rospy.init_node(
'set_thrusters_states')
25 if rospy.is_shutdown():
26 rospy.ROSException(
'ROS master not running!')
28 services = [
'set_fluid_density',
'set_added_mass_scaling',
29 'set_damping_scaling',
'set_volume_scaling',
30 'set_volume_offset',
'set_added_mass_offset',
31 'set_linear_damping_offset',
'set_nonlinear_damping_offset',
32 'set_linear_forward_speed_damping_offset']
34 assert rospy.has_param(
'~service_name')
35 assert rospy.has_param(
'~data')
37 service_name = rospy.get_param(
'~service_name')
38 assert service_name
in services,
'Possible service names are=' + str(services)
40 data = rospy.get_param(
'~data')
42 rospy.wait_for_service(service_name, timeout=30)
44 fcn = rospy.ServiceProxy(service_name, SetFloat)
45 print(
'Set scalar parameter, service=%s, data=%.2f' % (service_name, data))
48 print(
'Parameter set successfully')
50 print(
'Error setting scalar parameter')
52 print(
'Leaving node...')