def __init__(self, name): rospy.loginfo('Create ' + name + ' Sensor') self.dt = 1.0 / rospy.get_param(name + '/rate', 100.0) self.rate = rospy.Rate(rospy.get_param(name + '/rate', 100.0)) rospy.loginfo("\ta.rate: %.1f Hz", 1.0 / self.dt) self.cp = np.array(rospy.get_param(name + '/CP', [0.0, 0.0, 0.0])).reshape(3, 1) rospy.loginfo("\tb.position: [%.2f,%.2f,%.2f]", self.cp[0], self.cp[1], self.cp[2]) self.precision = rospy.get_param(name + '/precision', 0.0001) rospy.loginfo("\tc.precision: %.1e g", self.precision) self.std_coeff = rospy.get_param(name + '/std_coeff', 0.1) rospy.loginfo("\td.noise coeff: %.3f", self.std_coeff) #Noise Characteristics self.bs = np.random.normal( 0, rospy.get_param(name + '/scaleBias', 0.03) / 3, 3) self.ks = np.random.normal( 0, rospy.get_param(name + '/scaleThermal', 0.002) / 3, 3) self.bias = Vector3() self.randomwalk = Vector3() self.scale = Vector3() self.measurement = SimSensor3() self.temp = 25.0 self.pub = rospy.Publisher(name, SimSensor3) self.states_sub = rospy.Subscriber("states", SimStates, self.StatesCallback) self.atm_sub = rospy.Subscriber("environment", Environment, self.EnvironmentCallback) self.real = SimStates() self.realnew = False #Thermal Chracteristics self.thermalMass = ThermalRise(name) rospy.loginfo("\te.Loading Thermal Chracteristics") self.airspeed = 0.0
def __init__(self, name): rospy.loginfo('Create ' + name + ' Sensor') self.dt = 1.0 / rospy.get_param(name + '/rate', 100.0) self.rate = rospy.Rate(rospy.get_param(name + '/rate', 100.0)) rospy.loginfo("\ta.rate: %.1f Hz", 1.0 / self.dt) self.cp = np.array(rospy.get_param(name + '/CP', [0.0, 0.0, 0.0])).reshape(3, 1) rospy.loginfo("\tb.position: [%.2f,%.2f,%.2f]", self.cp[0], self.cp[1], self.cp[2]) self.resolution = rospy.get_param(name + '/resolution', 0.001) rospy.loginfo("\tc.resolution: %.1e mbar", self.resolution) self.maxvalue = rospy.get_param(name + '/max', 1500.0) rospy.loginfo("\td.maxvalue: %.4f mbar", self.maxvalue) self.minvalue = rospy.get_param(name + '/min', 0.0) rospy.loginfo("\te.minvalue: %.4f mbar", self.minvalue) self.std_coeff = rospy.get_param(name + '/std_coeff', 0.1) rospy.loginfo("\tf.noise coeff: %.3f", self.std_coeff) self.bar_true = 1013.25 self.temp = 25.0 self.pub = rospy.Publisher(name, SimBarometer) self.states_sub = rospy.Subscriber("states", SimStates, self.StatesCallback) self.atm_sub = rospy.Subscriber("environment", Environment, self.EnvironmentCallback) self.measurement = SimBarometer() self.realnew = False #Thermal Chracteristics self.thermalMass = ThermalRise(name) rospy.loginfo("\tg.Loading Thermal Chracteristics") self.airspeed = 0.0 self.temp = 25.0
def __init__(self, name): rospy.loginfo('Create ' + name + ' Sensor') self.dt = 1.0 / rospy.get_param(name + '/rate', 100.0) self.rate = rospy.Rate(rospy.get_param(name + '/rate', 100.0)) rospy.loginfo("\ta.rate: %.1f Hz", 1.0 / self.dt) self.cp = np.array(rospy.get_param(name + '/CP', [0.0, 0.0, 0.0])).reshape(3, 1) rospy.loginfo("\tb.position: [%.2f,%.2f,%.2f]", self.cp[0], self.cp[1], self.cp[2]) self.resolution = rospy.get_param(name + '/resolution', 0.0001) rospy.loginfo("\tc.resolution: %.1e g", self.resolution) self.maxvalue = rospy.get_param(name + '/max', 16.0) rospy.loginfo("\td.maxvalue: %.2f g", self.maxvalue) self.std_coeff = rospy.get_param(name + '/std_coeff', [0.0, 0.0, 0.0]) rospy.loginfo("\te.noise coeff:") rospy.loginfo("\t\t1.main std: %.3f", self.std_coeff[0]) rospy.loginfo("\t\t2.bias coeff: %.3f", self.std_coeff[1]) rospy.loginfo("\t\t3.random walk coeff: %.3f", self.std_coeff[2]) #Noise Characteristics self.bs = np.random.normal( 0, rospy.get_param(name + '/scaleBias', 0.03) / 3, 3) self.ks = np.random.normal( 0, rospy.get_param(name + '/scaleThermal', 0.002) / 3, 3) self.bb = np.random.normal( 0, rospy.get_param(name + '/offsetBias', 0.785) / 3, 3) self.kb = np.random.normal( 0, rospy.get_param(name + '/offsetThermal', 0.0084) / 3, 3) self.p0 = rospy.get_param(name + '/RWPSD', 0.00392) self.bias = Vector3() self.randomwalk = Vector3() self.scale = Vector3() self.temp = 25.0 self.grav = 9.807 #Thermal Chracteristics self.thermalMass = ThermalRise(name) rospy.loginfo("\tf.Loading Thermal Chracteristics") self.airspeed = 0.0 self.measurement = SimSensor3() self.pub = rospy.Publisher(name, SimSensor3) self.states_sub = rospy.Subscriber("states", SimStates, self.StatesCallback) self.env_sub = rospy.Subscriber("environment", Environment, self.EnvironmentCallback) self.real = SimStates() self.realnew = False