def __init__(self, parse_args=True): if parse_args: parser = argparse.ArgumentParser() parser.add_argument("--sim", help="Run using simulation", action="store_true") parser.add_argument("--vis", help="(sim only) Visualization backend [mpl]", choices=['mpl', 'vispy'], default="mpl") parser.add_argument("--dt", help="(sim only) dt [0.1s]", type=float, default=0.1) parser.add_argument( "--writecsv", help="Enable CSV output (only available in simulation)", action="store_true") args = parser.parse_args() if parse_args and args.sim: import crazyflieSim self.timeHelper = crazyflieSim.TimeHelper(args.vis, args.dt, args.writecsv) self.allcfs = crazyflieSim.CrazyflieServer(self.timeHelper) else: import crazyflie self.allcfs = crazyflie.CrazyflieServer() self.timeHelper = crazyflie.TimeHelper() if parse_args and args.writecsv: print( "WARNING: writecsv argument ignored! This is only available in simulation." ) self.input = genericJoystick.Joystick(self.timeHelper)
def __init__(self, crazyflies_yaml=None, parent_parser=None, args=None): if parent_parser is not None: parents = [parent_parser] else: parents = [] parser = build_argparser(parents) if isinstance(args, str): args = args.split() args, unknown = parser.parse_known_args(args) if crazyflies_yaml is None: crazyflies_yaml = "../launch/crazyflies.yaml" if crazyflies_yaml.endswith(".yaml"): crazyflies_yaml = open(crazyflies_yaml, 'r').read() if args.sim: import crazyflieSim self.timeHelper = crazyflieSim.TimeHelper(args.vis, args.dt, args.writecsv, args.disturbance) self.allcfs = crazyflieSim.CrazyflieServer(self.timeHelper, crazyflies_yaml) else: import crazyflie self.allcfs = crazyflie.CrazyflieServer(crazyflies_yaml) self.timeHelper = crazyflie.TimeHelper() if args.writecsv: print( "WARNING: writecsv argument ignored! This is only available in simulation." ) self.input = genericJoystick.Joystick(self.timeHelper)