swarms
Version:
The ultimate node.js library for controlling Bitcraze Crazyflie 2.0 drones
77 lines (76 loc) • 2.7 kB
TypeScript
import { Crazyflie } from '.';
export declare const defaultSetpoint: Setpoint;
export declare const defaultVelocityWorldSetpoint: VelocityWorldSetpoint;
export declare const defaultZDistanceSetpoint: ZDistanceSetpoint;
export declare const defaultHoverSetpoint: HoverSetpoint;
export declare class Commander {
private crazyflie;
readonly currentSetpoint: Setpoint | VelocityWorldSetpoint | ZDistanceSetpoint | HoverSetpoint;
private lastFunction;
private lastArgs;
private setpointInterval;
/**
* Class for dealing with the 'commander' port
* (https://wiki.bitcraze.io/doc:crazyflie:crtp:commander)
*/
constructor(crazyflie: Crazyflie);
/**
* We need to update the Crazyflie's position every so often otherwise it will stop after a few seconds
*/
startSetpointInterval(): void;
/**
* Clear the setpoint interval
*/
clearSetpointInterval(): void;
/**
* Set the setpoint point
*/
setpoint(setpoint?: Setpoint): Promise<{}>;
/**
* Deals with the generic commander. Stops all motors and potentially makes it fall.
* (https://wiki.bitcraze.io/doc:crazyflie:crtp:generic_setpoint#stop)
*/
stopSetpoint(): Promise<{}>;
/**
* Send Velocity in the world frame of reference setpoint.
* Velocity x, y, and z are in m/s while yaw rate is in degrees/second
* (https://github.com/bitcraze/crazyflie-lib-python/blob/master/cflib/crazyflie/commander.py#L91)
*/
velocityWorldSetpoint(setpoint?: VelocityWorldSetpoint): Promise<{}>;
/**
* Setpoint with absolute height.
* Roll and pitch are in degrees, yaw rate is in degrees/second, and z distance is in meters.
* (https://github.com/bitcraze/crazyflie-lib-python/blob/master/cflib/crazyflie/commander.py#L104)
*/
zDistanceSetpoint(setpoint?: ZDistanceSetpoint): Promise<{}>;
/**
* Setpoint with absolute height.
* Velocity x and y are in m/s, yaw rate is in degrees/second, and z distance is in meters.
* (https://github.com/bitcraze/crazyflie-lib-python/blob/master/cflib/crazyflie/commander.py#L104)
*/
hoverSetpoint(setpoint?: HoverSetpoint): Promise<{}>;
}
export interface Setpoint {
roll?: number;
pitch?: number;
yaw?: number;
thrust?: number;
}
export interface VelocityWorldSetpoint {
velocityX?: number;
velocityY?: number;
velocityZ?: number;
yawRate?: number;
}
export interface ZDistanceSetpoint {
roll?: number;
pitch?: number;
yawRate?: number;
zDistance?: number;
}
export interface HoverSetpoint {
velocityX?: number;
velocityY?: number;
yawRate?: number;
zDistance?: number;
}