Exemple #1
0
    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)
Exemple #2
0
    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)