2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Continue a étudier"Contrôle de vol open source ArduPilot AP_VisualOdom"à proposAP_VisualOdom_MAV
Classe d'équipement.
En dehors de"AP_VisualOdom_Backend du code open source ArduPilot"En plus des méthodes et données abstraites partagées, étudions plus en détail l'implémentation des fonctions causée par les différences entre les appareils.
Ce code C définit une classe AP_VisualOdom_MAV
, qui hérite de AP_VisualOdom_Backend
。
class AP_VisualOdom_MAV : public AP_VisualOdom_Backend
{
public:
// 构造函数,使用从AP_VisualOdom_Backend继承的构造函数
using AP_VisualOdom_Backend::AP_VisualOdom_Backend;
// 处理姿态估计数据,将其发送给EKF。距离单位为米
// Parameters:
// - remote_time_us: Remote timestamp in microseconds
// - time_ms: Local timestamp in milliseconds
// - x, y, z: Position coordinates in meters
// - attitude: Quaternion representing attitude (orientation)
// - posErr: Position error
// - angErr: Angular error
// - reset_counter: Counter for reset events
// - quality: Quality of pose estimate (-1 for failed, 0 for unknown, 1 to 100 for varying levels of quality)
void handle_pose_estimate(uint64_t remote_time_us, uint32_t time_ms, float x, float y, float z, const Quaternion