37 "CbSpiralUp: helix about NED (%.1f, %.1f), radius %.1f m, from %.1f m up %.1f m at %.1f m per "
38 "orbit (%.1f orbits), %.2f rad/s",
50 const float orbits = std::fabs(turned) / (2.0f *
static_cast<float>(M_PI));
58 const int orbit =
static_cast<int>(orbits);
63 getLogger(),
"CbSpiralUp: orbit %d, commanding %.1f m up", orbit,
72 const auto now = std::chrono::steady_clock::now();
73 const double dt = std::chrono::duration<double>(now -
lastUpdateTime_).count();
84 getLogger(),
"CbSpiralUp: %.1f m gained over %.1f orbits - posting success",
85 static_cast<double>(
params_.
climbTotalM),
static_cast<double>(turned / (2.0f * M_PI)));
CpVehicleLocalPosition * localPosition_
CpTrajectorySetpoint * trajectorySetpoint_
std::chrono::steady_clock::time_point lastUpdateTime_
CbSpiralUp(SpiralUpParams params={})
void setPositionNED(float x, float y, float z, float yaw=std::numeric_limits< float >::quiet_NaN())
virtual rclcpp::Logger getLogger() const
float angularVelocityRadS