Κοινή χρήση τεχνολογίας

Κωδικός ανοιχτού κώδικα ArduPilot AP_VisualOdom_MAV

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Προέλευση

Συνεχίστε να μελετάτε"ArduPilot open source έλεγχος πτήσης AP_VisualOdom"σχετικά μεAP_VisualOdom_MAVΚατηγορία εξοπλισμού.

Εκτός από"AP_VisualOdom_Backend του κώδικα ανοιχτού κώδικα ArduPilot"Εκτός από τις αφηρημένες κοινές μεθόδους και δεδομένα, ας μελετήσουμε περαιτέρω την υλοποίηση της λειτουργίας που προκαλείται από διαφορές στη συσκευή.

2. Ορισμός τάξης

Αυτός ο κώδικας C ορίζει μια κλάση AP_VisualOdom_MAV, που κληρονομεί από 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