110 (ParamFloat<px4::params::MPC_XY_CRUISE>) _param_mpc_xy_cruise
bool activate(vehicle_local_position_setpoint_s last_setpoint) override
Call once on the event where you switch to the task.
void generate_circle_setpoints(matrix::Vector2f center_to_position)
generates xy setpoints to orbit the vehicle
uORB::Publication< orbit_status_s > _orbit_status_pub
bool checkAcceleration(float r, float v, float a)
Check the feasibility of orbit parameters with respect to centripetal acceleration a = v^2 / r...
bool sendTelemetry()
Send out telemetry information for the log and MAVLink.
bool update() override
To be called regularly in the control loop cycle to execute the task.
bool setVelocity(const float v)
Change the velocity of the vehicle on the circle.
float _r
radius with which to orbit the target
const float _acceleration_max
#define ORB_ID(_name)
Generates a pointer to the uORB metadata structure for a given topic.
void generate_circle_approach_setpoints()
generates setpoints to smoothly reach the closest point on the circle when starting from far away ...
bool applyCommandParameters(const vehicle_command_s &command) override
To be called to adopt parameters from an arrived vehicle command.
float _v
clockwise tangential velocity for orbiting in m/s
bool setRadius(const float r)
Change the radius of the circle.
lib to return setpoints on a straight line
const float _velocity_max
StraightLine _circle_approach_line
virtual ~FlightTaskOrbit()=default
matrix::Vector2f _center
local frame coordinates of the center point