forked from Archive/PX4-Autopilot
uORB combine VTOL FW and MC virtual topics (#7008)
This commit is contained in:
parent
19f0b0be3a
commit
c5e0bf1c2f
|
@ -41,8 +41,8 @@ set(msg_file_names
|
||||||
att_pos_mocap.msg
|
att_pos_mocap.msg
|
||||||
battery_status.msg
|
battery_status.msg
|
||||||
camera_trigger.msg
|
camera_trigger.msg
|
||||||
commander_state.msg
|
|
||||||
collision_report.msg
|
collision_report.msg
|
||||||
|
commander_state.msg
|
||||||
control_state.msg
|
control_state.msg
|
||||||
cpuload.msg
|
cpuload.msg
|
||||||
debug_key_value.msg
|
debug_key_value.msg
|
||||||
|
@ -59,8 +59,6 @@ set(msg_file_names
|
||||||
filtered_bottom_flow.msg
|
filtered_bottom_flow.msg
|
||||||
follow_target.msg
|
follow_target.msg
|
||||||
fw_pos_ctrl_status.msg
|
fw_pos_ctrl_status.msg
|
||||||
fw_virtual_attitude_setpoint.msg
|
|
||||||
fw_virtual_rates_setpoint.msg
|
|
||||||
geofence_result.msg
|
geofence_result.msg
|
||||||
gps_dump.msg
|
gps_dump.msg
|
||||||
gps_inject_data.msg
|
gps_inject_data.msg
|
||||||
|
@ -72,8 +70,6 @@ set(msg_file_names
|
||||||
manual_control_setpoint.msg
|
manual_control_setpoint.msg
|
||||||
mavlink_log.msg
|
mavlink_log.msg
|
||||||
mc_att_ctrl_status.msg
|
mc_att_ctrl_status.msg
|
||||||
mc_virtual_attitude_setpoint.msg
|
|
||||||
mc_virtual_rates_setpoint.msg
|
|
||||||
mission.msg
|
mission.msg
|
||||||
mission_result.msg
|
mission_result.msg
|
||||||
mount_orientation.msg
|
mount_orientation.msg
|
||||||
|
@ -112,8 +108,8 @@ set(msg_file_names
|
||||||
ulog_stream_ack.msg
|
ulog_stream_ack.msg
|
||||||
vehicle_attitude.msg
|
vehicle_attitude.msg
|
||||||
vehicle_attitude_setpoint.msg
|
vehicle_attitude_setpoint.msg
|
||||||
vehicle_command_ack.msg
|
|
||||||
vehicle_command.msg
|
vehicle_command.msg
|
||||||
|
vehicle_command_ack.msg
|
||||||
vehicle_control_mode.msg
|
vehicle_control_mode.msg
|
||||||
vehicle_force_setpoint.msg
|
vehicle_force_setpoint.msg
|
||||||
vehicle_global_position.msg
|
vehicle_global_position.msg
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
###############################################################################################
|
|
||||||
# The vehicle_attitude_setpoint.msg needs to be in sync with the virtual setpoint messages
|
|
||||||
#
|
|
||||||
# Please keep the following messages identical;
|
|
||||||
# vehicle_attitude_setpoint.msg
|
|
||||||
# mc_virtual_attitude_setpoint.msg
|
|
||||||
# fw_virtual_attitude_setpoint.msg
|
|
||||||
#
|
|
||||||
###############################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
float32 roll_body # body angle in NED frame
|
|
||||||
float32 pitch_body # body angle in NED frame
|
|
||||||
float32 yaw_body # body angle in NED frame
|
|
||||||
|
|
||||||
float32 yaw_sp_move_rate # rad/s (commanded by user)
|
|
||||||
|
|
||||||
# For quaternion-based attitude control
|
|
||||||
float32[4] q_d # Desired quaternion for quaternion control
|
|
||||||
bool q_d_valid # Set to true if quaternion vector is valid
|
|
||||||
|
|
||||||
float32 thrust # Thrust in Newton the power system should generate
|
|
||||||
|
|
||||||
bool roll_reset_integral # Reset roll integral part (navigation logic change)
|
|
||||||
bool pitch_reset_integral # Reset pitch integral part (navigation logic change)
|
|
||||||
bool yaw_reset_integral # Reset yaw integral part (navigation logic change)
|
|
||||||
|
|
||||||
bool fw_control_yaw # control heading with rudder (used for auto takeoff on runway)
|
|
||||||
bool disable_mc_yaw_control # control yaw for mc (used for vtol weather-vane mode)
|
|
||||||
|
|
||||||
bool apply_flaps
|
|
||||||
|
|
||||||
float32 landing_gear
|
|
||||||
|
|
||||||
# WAS vehicle_attitude_setpoint mc_virtual_attitude_setpoint fw_virtual_attitude_setpoint
|
|
||||||
# TOPICS fw_virtual_attitude_setpoint
|
|
|
@ -1,15 +0,0 @@
|
||||||
###############################################################################################
|
|
||||||
# The vehicle_rates_setpoint.msg needs to be in sync with the virtual setpoint messages
|
|
||||||
#
|
|
||||||
# Please keep the following messages identical;
|
|
||||||
# vehicle_rates_setpoint.msg
|
|
||||||
# mc_virtual_rates_setpoint.msg
|
|
||||||
# fw_virtual_rates_setpoint.msg
|
|
||||||
#
|
|
||||||
###############################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
float32 roll # body angular rates in NED frame
|
|
||||||
float32 pitch # body angular rates in NED frame
|
|
||||||
float32 yaw # body angular rates in NED frame
|
|
||||||
float32 thrust # thrust normalized to 0..1
|
|
|
@ -1,36 +0,0 @@
|
||||||
###############################################################################################
|
|
||||||
# The vehicle_attitude_setpoint.msg needs to be in sync with the virtual setpoint messages
|
|
||||||
#
|
|
||||||
# Please keep the following messages identical;
|
|
||||||
# vehicle_attitude_setpoint.msg
|
|
||||||
# mc_virtual_attitude_setpoint.msg
|
|
||||||
# fw_virtual_attitude_setpoint.msg
|
|
||||||
#
|
|
||||||
###############################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
float32 roll_body # body angle in NED frame
|
|
||||||
float32 pitch_body # body angle in NED frame
|
|
||||||
float32 yaw_body # body angle in NED frame
|
|
||||||
|
|
||||||
float32 yaw_sp_move_rate # rad/s (commanded by user)
|
|
||||||
|
|
||||||
# For quaternion-based attitude control
|
|
||||||
float32[4] q_d # Desired quaternion for quaternion control
|
|
||||||
bool q_d_valid # Set to true if quaternion vector is valid
|
|
||||||
|
|
||||||
float32 thrust # Thrust in Newton the power system should generate
|
|
||||||
|
|
||||||
bool roll_reset_integral # Reset roll integral part (navigation logic change)
|
|
||||||
bool pitch_reset_integral # Reset pitch integral part (navigation logic change)
|
|
||||||
bool yaw_reset_integral # Reset yaw integral part (navigation logic change)
|
|
||||||
|
|
||||||
bool fw_control_yaw # control heading with rudder (used for auto takeoff on runway)
|
|
||||||
bool disable_mc_yaw_control # control yaw for mc (used for vtol weather-vane mode)
|
|
||||||
|
|
||||||
bool apply_flaps
|
|
||||||
|
|
||||||
float32 landing_gear
|
|
||||||
|
|
||||||
# WAS vehicle_attitude_setpoint mc_virtual_attitude_setpoint fw_virtual_attitude_setpoint
|
|
||||||
# TOPICS mc_virtual_attitude_setpoint
|
|
|
@ -1,15 +0,0 @@
|
||||||
###############################################################################################
|
|
||||||
# The vehicle_rates_setpoint.msg needs to be in sync with the virtual setpoint messages
|
|
||||||
#
|
|
||||||
# Please keep the following messages identical;
|
|
||||||
# vehicle_rates_setpoint.msg
|
|
||||||
# mc_virtual_rates_setpoint.msg
|
|
||||||
# fw_virtual_rates_setpoint.msg
|
|
||||||
#
|
|
||||||
###############################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
float32 roll # body angular rates in NED frame
|
|
||||||
float32 pitch # body angular rates in NED frame
|
|
||||||
float32 yaw # body angular rates in NED frame
|
|
||||||
float32 thrust # thrust normalized to 0..1
|
|
|
@ -4,5 +4,3 @@
|
||||||
px4/position_setpoint previous
|
px4/position_setpoint previous
|
||||||
px4/position_setpoint current
|
px4/position_setpoint current
|
||||||
px4/position_setpoint next
|
px4/position_setpoint next
|
||||||
|
|
||||||
uint8 nav_state # report the navigation state
|
|
||||||
|
|
|
@ -1,13 +1,3 @@
|
||||||
###############################################################################################
|
|
||||||
# The vehicle_attitude_setpoint.msg needs to be in sync with the virtual setpoint messages
|
|
||||||
#
|
|
||||||
# Please keep the following messages identical;
|
|
||||||
# vehicle_attitude_setpoint.msg
|
|
||||||
# mc_virtual_attitude_setpoint.msg
|
|
||||||
# fw_virtual_attitude_setpoint.msg
|
|
||||||
#
|
|
||||||
###############################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
float32 roll_body # body angle in NED frame
|
float32 roll_body # body angle in NED frame
|
||||||
float32 pitch_body # body angle in NED frame
|
float32 pitch_body # body angle in NED frame
|
||||||
|
@ -32,5 +22,4 @@ bool apply_flaps
|
||||||
|
|
||||||
float32 landing_gear
|
float32 landing_gear
|
||||||
|
|
||||||
# WAS vehicle_attitude_setpoint mc_virtual_attitude_setpoint fw_virtual_attitude_setpoint
|
# TOPICS vehicle_attitude_setpoint mc_virtual_attitude_setpoint fw_virtual_attitude_setpoint
|
||||||
# TOPICS vehicle_attitude_setpoint
|
|
||||||
|
|
|
@ -1,15 +1,7 @@
|
||||||
###############################################################################################
|
|
||||||
# The vehicle_rates_setpoint.msg needs to be in sync with the virtual setpoint messages
|
|
||||||
#
|
|
||||||
# Please keep the following messages identical;
|
|
||||||
# vehicle_rates_setpoint.msg
|
|
||||||
# mc_virtual_rates_setpoint.msg
|
|
||||||
# fw_virtual_rates_setpoint.msg
|
|
||||||
#
|
|
||||||
###############################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
float32 roll # body angular rates in NED frame
|
float32 roll # body angular rates in NED frame
|
||||||
float32 pitch # body angular rates in NED frame
|
float32 pitch # body angular rates in NED frame
|
||||||
float32 yaw # body angular rates in NED frame
|
float32 yaw # body angular rates in NED frame
|
||||||
float32 thrust # thrust normalized to 0..1
|
float32 thrust # thrust normalized to 0..1
|
||||||
|
|
||||||
|
# TOPICS vehicle_rates_setpoint mc_virtual_rates_setpoint fw_virtual_rates_setpoint
|
||||||
|
|
|
@ -58,8 +58,6 @@
|
||||||
#include <uORB/topics/actuator_controls.h>
|
#include <uORB/topics/actuator_controls.h>
|
||||||
#include <uORB/topics/battery_status.h>
|
#include <uORB/topics/battery_status.h>
|
||||||
#include <uORB/topics/control_state.h>
|
#include <uORB/topics/control_state.h>
|
||||||
#include <uORB/topics/fw_virtual_attitude_setpoint.h>
|
|
||||||
#include <uORB/topics/fw_virtual_rates_setpoint.h>
|
|
||||||
#include <uORB/topics/manual_control_setpoint.h>
|
#include <uORB/topics/manual_control_setpoint.h>
|
||||||
#include <uORB/topics/parameter_update.h>
|
#include <uORB/topics/parameter_update.h>
|
||||||
#include <uORB/topics/vehicle_attitude_setpoint.h>
|
#include <uORB/topics/vehicle_attitude_setpoint.h>
|
||||||
|
|
|
@ -88,7 +88,6 @@
|
||||||
#include <systemlib/systemlib.h>
|
#include <systemlib/systemlib.h>
|
||||||
#include <uORB/topics/control_state.h>
|
#include <uORB/topics/control_state.h>
|
||||||
#include <uORB/topics/fw_pos_ctrl_status.h>
|
#include <uORB/topics/fw_pos_ctrl_status.h>
|
||||||
#include <uORB/topics/fw_virtual_attitude_setpoint.h>
|
|
||||||
#include <uORB/topics/manual_control_setpoint.h>
|
#include <uORB/topics/manual_control_setpoint.h>
|
||||||
#include <uORB/topics/parameter_update.h>
|
#include <uORB/topics/parameter_update.h>
|
||||||
#include <uORB/topics/position_setpoint_triplet.h>
|
#include <uORB/topics/position_setpoint_triplet.h>
|
||||||
|
|
|
@ -53,45 +53,35 @@
|
||||||
* If rotation matrix setpoint is invalid it will be generated from Euler angles for compatibility with old position controllers.
|
* If rotation matrix setpoint is invalid it will be generated from Euler angles for compatibility with old position controllers.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <conversion/rotation.h>
|
||||||
|
#include <drivers/drv_hrt.h>
|
||||||
|
#include <lib/geo/geo.h>
|
||||||
|
#include <lib/mathlib/mathlib.h>
|
||||||
|
#include <lib/tailsitter_recovery/tailsitter_recovery.h>
|
||||||
#include <px4_config.h>
|
#include <px4_config.h>
|
||||||
#include <px4_defines.h>
|
#include <px4_defines.h>
|
||||||
#include <px4_tasks.h>
|
|
||||||
#include <px4_posix.h>
|
#include <px4_posix.h>
|
||||||
#include <stdio.h>
|
#include <px4_tasks.h>
|
||||||
#include <stdlib.h>
|
#include <systemlib/circuit_breaker.h>
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <poll.h>
|
|
||||||
#include <drivers/drv_hrt.h>
|
|
||||||
#include <arch/board/board.h>
|
|
||||||
#include <uORB/uORB.h>
|
|
||||||
#include <uORB/topics/vehicle_attitude_setpoint.h>
|
|
||||||
#include <uORB/topics/manual_control_setpoint.h>
|
|
||||||
#include <uORB/topics/actuator_controls.h>
|
|
||||||
#include <uORB/topics/vehicle_rates_setpoint.h>
|
|
||||||
#include <uORB/topics/fw_virtual_rates_setpoint.h>
|
|
||||||
#include <uORB/topics/mc_virtual_rates_setpoint.h>
|
|
||||||
#include <uORB/topics/control_state.h>
|
|
||||||
#include <uORB/topics/vehicle_control_mode.h>
|
|
||||||
#include <uORB/topics/vehicle_status.h>
|
|
||||||
#include <uORB/topics/actuator_armed.h>
|
|
||||||
#include <uORB/topics/parameter_update.h>
|
|
||||||
#include <uORB/topics/multirotor_motor_limits.h>
|
|
||||||
#include <uORB/topics/mc_att_ctrl_status.h>
|
|
||||||
#include <uORB/topics/battery_status.h>
|
|
||||||
#include <uORB/topics/sensor_gyro.h>
|
|
||||||
#include <uORB/topics/sensor_correction.h>
|
|
||||||
#include <systemlib/param/param.h>
|
|
||||||
#include <systemlib/err.h>
|
#include <systemlib/err.h>
|
||||||
|
#include <systemlib/param/param.h>
|
||||||
#include <systemlib/perf_counter.h>
|
#include <systemlib/perf_counter.h>
|
||||||
#include <systemlib/systemlib.h>
|
#include <systemlib/systemlib.h>
|
||||||
#include <systemlib/circuit_breaker.h>
|
#include <uORB/topics/actuator_armed.h>
|
||||||
#include <lib/mathlib/mathlib.h>
|
#include <uORB/topics/actuator_controls.h>
|
||||||
#include <lib/geo/geo.h>
|
#include <uORB/topics/battery_status.h>
|
||||||
#include <lib/tailsitter_recovery/tailsitter_recovery.h>
|
#include <uORB/topics/control_state.h>
|
||||||
#include <conversion/rotation.h>
|
#include <uORB/topics/manual_control_setpoint.h>
|
||||||
|
#include <uORB/topics/mc_att_ctrl_status.h>
|
||||||
|
#include <uORB/topics/multirotor_motor_limits.h>
|
||||||
|
#include <uORB/topics/parameter_update.h>
|
||||||
|
#include <uORB/topics/sensor_correction.h>
|
||||||
|
#include <uORB/topics/sensor_gyro.h>
|
||||||
|
#include <uORB/topics/vehicle_attitude_setpoint.h>
|
||||||
|
#include <uORB/topics/vehicle_control_mode.h>
|
||||||
|
#include <uORB/topics/vehicle_rates_setpoint.h>
|
||||||
|
#include <uORB/topics/vehicle_status.h>
|
||||||
|
#include <uORB/uORB.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Multicopter attitude control app start / stop handling function
|
* Multicopter attitude control app start / stop handling function
|
||||||
|
|
|
@ -53,36 +53,26 @@
|
||||||
#include <px4_defines.h>
|
#include <px4_defines.h>
|
||||||
#include <px4_tasks.h>
|
#include <px4_tasks.h>
|
||||||
#include <px4_posix.h>
|
#include <px4_posix.h>
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <poll.h>
|
|
||||||
#include <drivers/drv_hrt.h>
|
#include <drivers/drv_hrt.h>
|
||||||
#include <arch/board/board.h>
|
|
||||||
|
|
||||||
#include <uORB/topics/manual_control_setpoint.h>
|
|
||||||
#include <uORB/topics/vehicle_rates_setpoint.h>
|
|
||||||
#include <uORB/topics/control_state.h>
|
|
||||||
#include <uORB/topics/mc_virtual_attitude_setpoint.h>
|
|
||||||
#include <uORB/topics/vehicle_control_mode.h>
|
|
||||||
#include <uORB/topics/actuator_armed.h>
|
#include <uORB/topics/actuator_armed.h>
|
||||||
#include <uORB/topics/parameter_update.h>
|
#include <uORB/topics/control_state.h>
|
||||||
#include <uORB/topics/vehicle_local_position.h>
|
|
||||||
#include <uORB/topics/position_setpoint_triplet.h>
|
|
||||||
#include <uORB/topics/vehicle_global_velocity_setpoint.h>
|
|
||||||
#include <uORB/topics/vehicle_local_position_setpoint.h>
|
|
||||||
#include <uORB/topics/vehicle_land_detected.h>
|
|
||||||
#include <uORB/topics/home_position.h>
|
#include <uORB/topics/home_position.h>
|
||||||
|
#include <uORB/topics/manual_control_setpoint.h>
|
||||||
|
#include <uORB/topics/parameter_update.h>
|
||||||
|
#include <uORB/topics/position_setpoint_triplet.h>
|
||||||
|
#include <uORB/topics/vehicle_control_mode.h>
|
||||||
|
#include <uORB/topics/vehicle_global_velocity_setpoint.h>
|
||||||
|
#include <uORB/topics/vehicle_land_detected.h>
|
||||||
|
#include <uORB/topics/vehicle_local_position.h>
|
||||||
|
#include <uORB/topics/vehicle_local_position_setpoint.h>
|
||||||
|
#include <uORB/topics/vehicle_rates_setpoint.h>
|
||||||
|
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <systemlib/mavlink_log.h>
|
|
||||||
#include <mathlib/mathlib.h>
|
|
||||||
#include <lib/geo/geo.h>
|
#include <lib/geo/geo.h>
|
||||||
|
#include <mathlib/mathlib.h>
|
||||||
#include <platforms/px4_defines.h>
|
#include <platforms/px4_defines.h>
|
||||||
|
#include <systemlib/mavlink_log.h>
|
||||||
|
|
||||||
#include <controllib/blocks.hpp>
|
#include <controllib/blocks.hpp>
|
||||||
#include <controllib/block/BlockParam.hpp>
|
#include <controllib/block/BlockParam.hpp>
|
||||||
|
|
|
@ -43,46 +43,33 @@
|
||||||
* @author Thomas Gubler <thomasgubler@gmail.com>
|
* @author Thomas Gubler <thomasgubler@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <px4_config.h>
|
#include "navigator.h"
|
||||||
#include <px4_defines.h>
|
|
||||||
#include <px4_tasks.h>
|
|
||||||
#include <px4_posix.h>
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <cfloat>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <float.h>
|
|
||||||
#include <poll.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <sys/ioctl.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
|
|
||||||
|
#include <arch/board/board.h>
|
||||||
|
#include <dataman/dataman.h>
|
||||||
#include <drivers/device/device.h>
|
#include <drivers/device/device.h>
|
||||||
#include <drivers/drv_hrt.h>
|
#include <drivers/drv_hrt.h>
|
||||||
#include <arch/board/board.h>
|
#include <geo/geo.h>
|
||||||
|
#include <mathlib/mathlib.h>
|
||||||
#include <uORB/uORB.h>
|
#include <px4_config.h>
|
||||||
#include <uORB/topics/home_position.h>
|
#include <px4_defines.h>
|
||||||
#include <uORB/topics/vehicle_status.h>
|
#include <px4_posix.h>
|
||||||
#include <uORB/topics/mission.h>
|
#include <px4_tasks.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <systemlib/err.h>
|
||||||
|
#include <systemlib/mavlink_log.h>
|
||||||
|
#include <systemlib/systemlib.h>
|
||||||
#include <uORB/topics/fence.h>
|
#include <uORB/topics/fence.h>
|
||||||
#include <uORB/topics/fw_pos_ctrl_status.h>
|
#include <uORB/topics/fw_pos_ctrl_status.h>
|
||||||
|
#include <uORB/topics/home_position.h>
|
||||||
|
#include <uORB/topics/mission.h>
|
||||||
#include <uORB/topics/vehicle_command.h>
|
#include <uORB/topics/vehicle_command.h>
|
||||||
#include <drivers/drv_baro.h>
|
#include <uORB/topics/vehicle_status.h>
|
||||||
|
#include <uORB/uORB.h>
|
||||||
#include <systemlib/err.h>
|
|
||||||
#include <systemlib/systemlib.h>
|
|
||||||
#include <geo/geo.h>
|
|
||||||
#include <dataman/dataman.h>
|
|
||||||
#include <mathlib/mathlib.h>
|
|
||||||
#include <systemlib/mavlink_log.h>
|
|
||||||
|
|
||||||
#include "navigator.h"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* navigator app start / stop handling function
|
* navigator app start / stop handling function
|
||||||
|
@ -778,9 +765,6 @@ Navigator::status()
|
||||||
void
|
void
|
||||||
Navigator::publish_position_setpoint_triplet()
|
Navigator::publish_position_setpoint_triplet()
|
||||||
{
|
{
|
||||||
/* update navigation state */
|
|
||||||
_pos_sp_triplet.nav_state = _vstatus.nav_state;
|
|
||||||
|
|
||||||
/* do not publish an empty triplet */
|
/* do not publish an empty triplet */
|
||||||
if (!_pos_sp_triplet.current.valid) {
|
if (!_pos_sp_triplet.current.valid) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -57,18 +57,10 @@
|
||||||
#else
|
#else
|
||||||
#include <sys/statfs.h>
|
#include <sys/statfs.h>
|
||||||
#endif
|
#endif
|
||||||
#include <fcntl.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <systemlib/err.h>
|
#include <systemlib/err.h>
|
||||||
#include <unistd.h>
|
|
||||||
#include <drivers/drv_hrt.h>
|
#include <drivers/drv_hrt.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
#include <uORB/uORB.h>
|
#include <uORB/uORB.h>
|
||||||
#include <uORB/topics/vehicle_status.h>
|
#include <uORB/topics/vehicle_status.h>
|
||||||
|
@ -1965,7 +1957,6 @@ int sdlog2_thread_main(int argc, char *argv[])
|
||||||
|
|
||||||
if (buf.triplet.current.valid) {
|
if (buf.triplet.current.valid) {
|
||||||
log_msg.msg_type = LOG_GPSP_MSG;
|
log_msg.msg_type = LOG_GPSP_MSG;
|
||||||
log_msg.body.log_GPSP.nav_state = buf.triplet.nav_state;
|
|
||||||
log_msg.body.log_GPSP.lat = (int32_t)(buf.triplet.current.lat * (double)1e7);
|
log_msg.body.log_GPSP.lat = (int32_t)(buf.triplet.current.lat * (double)1e7);
|
||||||
log_msg.body.log_GPSP.lon = (int32_t)(buf.triplet.current.lon * (double)1e7);
|
log_msg.body.log_GPSP.lon = (int32_t)(buf.triplet.current.lon * (double)1e7);
|
||||||
log_msg.body.log_GPSP.alt = buf.triplet.current.alt;
|
log_msg.body.log_GPSP.alt = buf.triplet.current.alt;
|
||||||
|
|
|
@ -248,7 +248,6 @@ struct log_GPOS_s {
|
||||||
/* --- GPSP - GLOBAL POSITION SETPOINT --- */
|
/* --- GPSP - GLOBAL POSITION SETPOINT --- */
|
||||||
#define LOG_GPSP_MSG 17
|
#define LOG_GPSP_MSG 17
|
||||||
struct log_GPSP_s {
|
struct log_GPSP_s {
|
||||||
uint8_t nav_state;
|
|
||||||
int32_t lat;
|
int32_t lat;
|
||||||
int32_t lon;
|
int32_t lon;
|
||||||
float alt;
|
float alt;
|
||||||
|
@ -693,7 +692,7 @@ static const struct log_format_s log_formats[] = {
|
||||||
LOG_FORMAT(ARSP, "fff", "RollRateSP,PitchRateSP,YawRateSP"),
|
LOG_FORMAT(ARSP, "fff", "RollRateSP,PitchRateSP,YawRateSP"),
|
||||||
LOG_FORMAT(FLOW, "BffffffLLHhB", "ID,RawX,RawY,RX,RY,RZ,Dist,TSpan,DtSonar,FrmCnt,GT,Qlty"),
|
LOG_FORMAT(FLOW, "BffffffLLHhB", "ID,RawX,RawY,RX,RY,RZ,Dist,TSpan,DtSonar,FrmCnt,GT,Qlty"),
|
||||||
LOG_FORMAT(GPOS, "LLfffffff", "Lat,Lon,Alt,VelN,VelE,VelD,EPH,EPV,TALT"),
|
LOG_FORMAT(GPOS, "LLfffffff", "Lat,Lon,Alt,VelN,VelE,VelD,EPH,EPV,TALT"),
|
||||||
LOG_FORMAT(GPSP, "BLLffBfbf", "NavState,Lat,Lon,Alt,Yaw,Type,LoitR,LoitDir,PitMin"),
|
LOG_FORMAT(GPSP, "LLffBfbf", "Lat,Lon,Alt,Yaw,Type,LoitR,LoitDir,PitMin"),
|
||||||
LOG_FORMAT(ESC, "HBBBHHffiffH", "count,nESC,Conn,N,Ver,Adr,Volt,Amp,RPM,Temp,SetP,SetPRAW"),
|
LOG_FORMAT(ESC, "HBBBHHffiffH", "count,nESC,Conn,N,Ver,Adr,Volt,Amp,RPM,Temp,SetP,SetPRAW"),
|
||||||
LOG_FORMAT(GVSP, "fff", "VX,VY,VZ"),
|
LOG_FORMAT(GVSP, "fff", "VX,VY,VZ"),
|
||||||
LOG_FORMAT(BATT, "fffffffB", "V,VFilt,C,CFilt,Discharged,Remaining,Scale,Warning"),
|
LOG_FORMAT(BATT, "fffffffB", "V,VFilt,C,CFilt,Discharged,Remaining,Scale,Warning"),
|
||||||
|
|
|
@ -54,15 +54,6 @@
|
||||||
#include <px4_tasks.h>
|
#include <px4_tasks.h>
|
||||||
#include <px4_posix.h>
|
#include <px4_posix.h>
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <poll.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include <arch/board/board.h>
|
#include <arch/board/board.h>
|
||||||
#include <drivers/drv_hrt.h>
|
#include <drivers/drv_hrt.h>
|
||||||
#include <drivers/drv_pwm_output.h>
|
#include <drivers/drv_pwm_output.h>
|
||||||
|
@ -77,11 +68,7 @@
|
||||||
#include <uORB/topics/airspeed.h>
|
#include <uORB/topics/airspeed.h>
|
||||||
#include <uORB/topics/battery_status.h>
|
#include <uORB/topics/battery_status.h>
|
||||||
#include <uORB/topics/control_state.h>
|
#include <uORB/topics/control_state.h>
|
||||||
#include <uORB/topics/fw_virtual_attitude_setpoint.h>
|
|
||||||
#include <uORB/topics/fw_virtual_rates_setpoint.h>
|
|
||||||
#include <uORB/topics/manual_control_setpoint.h>
|
#include <uORB/topics/manual_control_setpoint.h>
|
||||||
#include <uORB/topics/mc_virtual_attitude_setpoint.h>
|
|
||||||
#include <uORB/topics/mc_virtual_rates_setpoint.h>
|
|
||||||
#include <uORB/topics/parameter_update.h>
|
#include <uORB/topics/parameter_update.h>
|
||||||
#include <uORB/topics/tecs_status.h>
|
#include <uORB/topics/tecs_status.h>
|
||||||
#include <uORB/topics/vehicle_attitude.h>
|
#include <uORB/topics/vehicle_attitude.h>
|
||||||
|
@ -115,11 +102,11 @@ public:
|
||||||
|
|
||||||
struct vehicle_attitude_s *get_att() {return &_v_att;}
|
struct vehicle_attitude_s *get_att() {return &_v_att;}
|
||||||
struct vehicle_attitude_setpoint_s *get_att_sp() {return &_v_att_sp;}
|
struct vehicle_attitude_setpoint_s *get_att_sp() {return &_v_att_sp;}
|
||||||
struct mc_virtual_attitude_setpoint_s *get_mc_virtual_att_sp() {return &_mc_virtual_att_sp;}
|
struct vehicle_attitude_setpoint_s *get_mc_virtual_att_sp() {return &_mc_virtual_att_sp;}
|
||||||
struct fw_virtual_attitude_setpoint_s *get_fw_virtual_att_sp() {return &_fw_virtual_att_sp;}
|
struct vehicle_attitude_setpoint_s *get_fw_virtual_att_sp() {return &_fw_virtual_att_sp;}
|
||||||
struct vehicle_rates_setpoint_s *get_rates_sp() {return &_v_rates_sp;}
|
struct vehicle_rates_setpoint_s *get_rates_sp() {return &_v_rates_sp;}
|
||||||
struct mc_virtual_rates_setpoint_s *get_mc_virtual_rates_sp() {return &_mc_virtual_v_rates_sp;}
|
struct vehicle_rates_setpoint_s *get_mc_virtual_rates_sp() {return &_mc_virtual_v_rates_sp;}
|
||||||
struct fw_virtual_rates_setpoint_s *get_fw_virtual_rates_sp() {return &_fw_virtual_v_rates_sp;}
|
struct vehicle_rates_setpoint_s *get_fw_virtual_rates_sp() {return &_fw_virtual_v_rates_sp;}
|
||||||
struct manual_control_setpoint_s *get_manual_control_sp() {return &_manual_control_sp;}
|
struct manual_control_setpoint_s *get_manual_control_sp() {return &_manual_control_sp;}
|
||||||
struct vehicle_control_mode_s *get_control_mode() {return &_v_control_mode;}
|
struct vehicle_control_mode_s *get_control_mode() {return &_v_control_mode;}
|
||||||
struct vtol_vehicle_status_s *get_vtol_vehicle_status() {return &_vtol_vehicle_status;}
|
struct vtol_vehicle_status_s *get_vtol_vehicle_status() {return &_vtol_vehicle_status;}
|
||||||
|
@ -174,11 +161,11 @@ private:
|
||||||
//*******************data containers***********************************************************
|
//*******************data containers***********************************************************
|
||||||
struct vehicle_attitude_s _v_att; //vehicle attitude
|
struct vehicle_attitude_s _v_att; //vehicle attitude
|
||||||
struct vehicle_attitude_setpoint_s _v_att_sp; //vehicle attitude setpoint
|
struct vehicle_attitude_setpoint_s _v_att_sp; //vehicle attitude setpoint
|
||||||
struct mc_virtual_attitude_setpoint_s _mc_virtual_att_sp; // virtual mc attitude setpoint
|
struct vehicle_attitude_setpoint_s _mc_virtual_att_sp; // virtual mc attitude setpoint
|
||||||
struct fw_virtual_attitude_setpoint_s _fw_virtual_att_sp; // virtual fw attitude setpoint
|
struct vehicle_attitude_setpoint_s _fw_virtual_att_sp; // virtual fw attitude setpoint
|
||||||
struct vehicle_rates_setpoint_s _v_rates_sp; //vehicle rates setpoint
|
struct vehicle_rates_setpoint_s _v_rates_sp; //vehicle rates setpoint
|
||||||
struct mc_virtual_rates_setpoint_s _mc_virtual_v_rates_sp; // virtual mc vehicle rates setpoint
|
struct vehicle_rates_setpoint_s _mc_virtual_v_rates_sp; // virtual mc vehicle rates setpoint
|
||||||
struct fw_virtual_rates_setpoint_s _fw_virtual_v_rates_sp; // virtual fw vehicle rates setpoint
|
struct vehicle_rates_setpoint_s _fw_virtual_v_rates_sp; // virtual fw vehicle rates setpoint
|
||||||
struct manual_control_setpoint_s _manual_control_sp; //manual control setpoint
|
struct manual_control_setpoint_s _manual_control_sp; //manual control setpoint
|
||||||
struct vehicle_control_mode_s _v_control_mode; //vehicle control mode
|
struct vehicle_control_mode_s _v_control_mode; //vehicle control mode
|
||||||
struct vtol_vehicle_status_s _vtol_vehicle_status;
|
struct vtol_vehicle_status_s _vtol_vehicle_status;
|
||||||
|
|
|
@ -152,11 +152,11 @@ protected:
|
||||||
|
|
||||||
struct vehicle_attitude_s *_v_att; //vehicle attitude
|
struct vehicle_attitude_s *_v_att; //vehicle attitude
|
||||||
struct vehicle_attitude_setpoint_s *_v_att_sp; //vehicle attitude setpoint
|
struct vehicle_attitude_setpoint_s *_v_att_sp; //vehicle attitude setpoint
|
||||||
struct mc_virtual_attitude_setpoint_s *_mc_virtual_att_sp; // virtual mc attitude setpoint
|
struct vehicle_attitude_setpoint_s *_mc_virtual_att_sp; // virtual mc attitude setpoint
|
||||||
struct fw_virtual_attitude_setpoint_s *_fw_virtual_att_sp; // virtual fw attitude setpoint
|
struct vehicle_attitude_setpoint_s *_fw_virtual_att_sp; // virtual fw attitude setpoint
|
||||||
struct vehicle_rates_setpoint_s *_v_rates_sp; //vehicle rates setpoint
|
struct vehicle_rates_setpoint_s *_v_rates_sp; //vehicle rates setpoint
|
||||||
struct mc_virtual_rates_setpoint_s *_mc_virtual_v_rates_sp; // virtual mc vehicle rates setpoint
|
struct vehicle_rates_setpoint_s *_mc_virtual_v_rates_sp; // virtual mc vehicle rates setpoint
|
||||||
struct fw_virtual_rates_setpoint_s *_fw_virtual_v_rates_sp; // virtual fw vehicle rates setpoint
|
struct vehicle_rates_setpoint_s *_fw_virtual_v_rates_sp; // virtual fw vehicle rates setpoint
|
||||||
struct manual_control_setpoint_s *_manual_control_sp; //manual control setpoint
|
struct manual_control_setpoint_s *_manual_control_sp; //manual control setpoint
|
||||||
struct vehicle_control_mode_s *_v_control_mode; //vehicle control mode
|
struct vehicle_control_mode_s *_v_control_mode; //vehicle control mode
|
||||||
struct vtol_vehicle_status_s *_vtol_vehicle_status;
|
struct vtol_vehicle_status_s *_vtol_vehicle_status;
|
||||||
|
@ -180,7 +180,7 @@ protected:
|
||||||
float _mc_pitch_weight = 1.0f; // weight for multicopter attitude controller pitch output
|
float _mc_pitch_weight = 1.0f; // weight for multicopter attitude controller pitch output
|
||||||
float _mc_yaw_weight = 1.0f; // weight for multicopter attitude controller yaw output
|
float _mc_yaw_weight = 1.0f; // weight for multicopter attitude controller yaw output
|
||||||
float _mc_throttle_weight = 1.0f; // weight for multicopter throttle command. Used to avoid
|
float _mc_throttle_weight = 1.0f; // weight for multicopter throttle command. Used to avoid
|
||||||
// motors spinning up or cutting too fast whend doing transitions.
|
// motors spinning up or cutting too fast when doing transitions.
|
||||||
float _thrust_transition = 0.0f; // thrust value applied during a front transition (tailsitter & tiltrotor only)
|
float _thrust_transition = 0.0f; // thrust value applied during a front transition (tailsitter & tiltrotor only)
|
||||||
|
|
||||||
bool _flag_was_in_trans_mode = false; // true if mode has just switched to transition
|
bool _flag_was_in_trans_mode = false; // true if mode has just switched to transition
|
||||||
|
|
Loading…
Reference in New Issue