def __init__ (self, param_args): param = BotParam.BotParam (param_args) orglatlon = param.get_double_array ("site.orglatlon") self.llxy = BotCore.BotGPSLinearize (orglatlon[0],orglatlon[1]) self.xy_utime = 0 self.xy = [] self.lc = lcm.LCM () acomms_chan = param.get_str ("sensors.modem.gsd.channel") self.rq_sub = self.lc.subscribe (acomms_chan + "_NAV_REQUEST", self.pose_request_cb) self.reply_chan = acomms_chan + "_NAV_POSE_REPLY" gpsd_chan = param.get_str ("sensors.gpsd3-client.gsd.channel") self.gps_sub = self.lc.subscribe (gpsd_chan, self.gpsd_cb) self.depth = param.get_int ("owtt-nav.topside.sensors.static_depth") self.done = False
def param_from_log(lcmlog): param = None while True: e = lcmlog.read_next_event() if "PARAM_UPDATE" in e.channel: p = update_t.decode(e.data) with open("tmp_param.cfg", "w") as f: lines, save_line = [], False for line in p.params.splitlines(): if "INCLUDE = [" in line: continue else: lines.append(line) f.write("\n".join(lines)) param_args = BotParam.bot_param_args_to_pyargv("tmp_param.cfg", "false", "") param = BotParam.BotParam(param_args) os.remove("tmp_param.cfg") break log.seek(0) return param
#rc ("font", size=14) if __name__ == '__main__': if len(sys.argv) < 4: print 'usage: %s <iver31.pkl> <iver28.pkl> <iver_topside.pkl>' % sys.argv[ 0] sys.exit(0) with open(sys.argv[1], 'rb') as f: iver31 = pickle.load(f) with open(sys.argv[2], 'rb') as f: iver28 = pickle.load(f) with open(sys.argv[3], 'rb') as f: topside = pickle.load(f) param_args = BotParam.bot_param_args_to_pyargv( '/home/jeff/perls/config/iver28.cfg', 'false', '') param = BotParam.BotParam(param_args) orglatlon = param.get_double_array('site.orglatlon') llxy = BotCore.BotGPSLinearize(orglatlon[0], orglatlon[1]) ## find lbl beacons #nbeacons, x_lbl, y_lbl = param.get_num_subkeys ('lbl.network'), [], [] #for ii in range (nbeacons): # latlon = param.get_double_array ('lbl.network.beacon%d.latlon'%ii) # y,x = llxy.to_xy (latlon[0], latlon[1]) # x_lbl.append (x) # y_lbl.append (y) xy_iver31 = iver31.state.position.xyzrph[:, :2] xy_iver28 = iver28.state.position.xyzrph[:, :2]
#!/usr/bin/env python """ convert xy coordinate to lat/lon """ import sys from perls import BotCore from perls import BotParam if __name__ == '__main__': if len (sys.argv) < 3: print 'usage: %s <x> <y>' % sys.argv[0] sys.exit (0) x = float (sys.argv[1]) y = float (sys.argv[2]) param_args = BotParam.bot_param_args_to_pyargv ('/home/jeff/perls/config/topside.cfg', 'false', '') param = BotParam.BotParam (param_args) orglatlon = param.get_double_array ('site.orglatlon') llxy = BotCore.BotGPSLinearize (orglatlon[0],orglatlon[1]) lat,lon = llxy.to_ll (y,x) print 'converted xy = %0.3f,%0.3f to ll = %0.8f,%0.8f' % (x,y,lat,lon) sys.exit (0)
# load iver data if len(sys.argv) < 2: print "usage: %s <iver.pkl>" % sys.argv[0] sys.exit(0) if len(sys.argv) == 3: with open(sys.argv[2], "rb") as f: fix_pkl = pickle.load(f) else: fix_pkl = None with open(sys.argv[1], "rb") as f: iver = pickle.load(f) # load params param_args = BotParam.bot_param_args_to_pyargv("/home/jeff/perls/config/iver28.cfg", "false", "") param = BotParam.BotParam(param_args) orglatlon = param.get_double_array("site.orglatlon") llxy = BotCore.BotGPSLinearize(orglatlon[0], orglatlon[1]) # initialize lbl beacons nbeacons, beacons = param.get_num_subkeys("lbl.network"), [] for ii in range(nbeacons): latlon = param.get_double_array("lbl.network.beacon%d.latlon" % ii) y, x = llxy.to_xy(latlon[0], latlon[1]) z = param.get_double("lbl.network.beacon%d.depth" % ii) xyz = np.array([x, y, z]) beacons.append(Lbl_beacon(ii, xyz)) ii_lbl = np.where(iver.acomms.type == iver.acomms.NARROWBAND_LBL)[0]