‹ Reports
The Dispatch

OSS Report: ArduPilot/ardupilot


ArduPilot Development Focuses on Enhancements and Safety Amidst Active Community Engagement

ArduPilot, an open-source autopilot software, is actively enhancing its feature set and addressing safety concerns, with significant community involvement driving ongoing development. The project supports a wide range of vehicle types, including planes, multirotors, and rovers.

Recent activities have concentrated on improving sensor integration, telemetry systems, and handling transitions in flight modes. Notable issues include GPS data handling during quadplane transitions and requests for better logging capabilities. The development team has been busy with version updates, bug fixes, and feature enhancements, reflecting a coordinated effort towards stability and innovation.

Recent Activity

Recent issues and pull requests indicate a focus on enhancing sensor integration and telemetry systems. Issues like #28068 (publishing gimbaled LRF distance) and #28046 (DDS environment validation) highlight ongoing efforts to improve data handling and system robustness. The development team is actively addressing these through collaborative efforts.

Development Team and Recent Contributions

  1. Randy Mackay (rmackay9)
    • 88 commits: Version updates for multiple vehicle types to 4.5.6, release notes, DroneCAN enhancements.
  2. Peter Barker (peterbarker)
    • 69 commits: Bug fixes, MAVLink command updates, logging improvements.
  3. Andrew Tridgell (tridge)
    • 27 commits: Build options enhancements, glider support features.
  4. Andy Piper (andyp1per)
    • 26 commits: Logging improvements, initialization fixes.
  5. Thomas Watson (tpwrules)
    • 9 commits: DroneCAN optimizations.

Of Note

The ArduPilot project demonstrates a dynamic development environment with a focus on enhancing functionality while maintaining safety and engaging the community effectively.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 5 2 7 3 1
30 Days 27 13 63 21 1
90 Days 71 52 207 54 1
1 Year 369 194 1129 227 3
All Time 6968 5537 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Peter Barker 5 66/50/6 69 162 1711
Randy Mackay 5 12/12/0 88 36 1389
Andrew Tridgell 5 12/9/0 27 43 743
Andy Piper 5 9/3/3 26 40 426
jamming 1 0/0/0 2 6 205
Buzz 1 4/4/0 4 5 155
Thomas Watson 1 9/7/0 9 7 149
Radiolink 1 3/3/0 2 2 104
Andrey Fil 1 0/0/0 3 7 76
Ryan 1 8/5/1 7 10 72
Yuxin Pan 1 2/1/0 2 3 72
Stephen Dade 1 1/1/0 2 2 41
Abiel Fernandez 1 1/1/0 1 2 31
Henry Wurzburg 1 4/4/0 2 2 24
George Zogopoulos 1 2/1/0 1 2 22
olliw42 1 1/1/0 1 1 15
Tatsuya Yamaguchi 1 1/1/0 1 2 14
Willian Galvani (Williangalvani) 1 3/2/0 1 2 9
junan 1 3/2/0 2 2 8
Bob Long 1 3/1/0 1 1 8
Jacob Dahl 1 1/1/0 1 1 7
Hubert 1 1/1/0 1 3 6
Peter Hall 1 3/3/0 1 1 5
Chen2 1 2/1/0 1 1 4
Amr Elfeky 1 1/1/0 1 1 3
Tim 1 1/1/0 1 1 2
Ferruccio Vicari 1 2/1/1 1 1 2
None (arg7) 0 2/0/1 0 0 0
Jon Gjengset (jonhoo) 0 1/0/0 0 0 0
Leonard Hall (lthall) 0 1/0/0 0 0 0
None (magate) 0 2/0/0 0 0 0
None (weavVN) 0 1/0/0 0 0 0
HGLRC (HGLRC-T) 0 2/1/1 0 0 0
Caijie (LCaiJie) 0 3/1/1 0 0 0
Benjamin Menküc (catkira) 0 1/0/0 0 0 0
Józef Wołoch (jwoloch) 0 1/0/0 0 0 0
None (loki077) 0 1/0/0 0 0 0
Holden (HTRamsey) 0 1/1/0 0 0 0
James (joshanne) 0 2/0/1 0 0 0
murata,katsutoshi (muramura) 0 2/0/1 0 0 0
setUP (setupfpv) 0 7/0/6 0 0 0
Staroul Fu (ACGNworld) 0 1/0/1 0 0 0
None (AlexisMGL) 0 1/0/0 0 0 0
Maxim Buzdalov (mbuzdalov) 0 1/1/0 0 0 0
Ido Buchman (IdoBuchman) 0 1/1/0 0 0 0
None (igarashi87) 0 1/0/0 0 0 0
None (hagerashraf) 0 1/1/0 0 0 0
Asif Khan (khanasif786) 0 1/0/0 0 0 0
4th (prosolvo4th) 0 2/0/1 0 0 0
Tim Tuxworth (timtuxworth) 0 2/0/1 0 0 0
Clyde McQueen (clydemcqueen) 0 2/2/0 0 0 0
Vincent Poon (vincentpoont2) 0 1/1/0 0 0 0
Siddharth Bharat Purohit (bugobliterator) 0 1/0/0 0 0 0
Rishabh Singh (rishabsingh3003) 0 1/0/0 0 0 0
None (ShadowWalker8642) 0 1/0/0 0 0 0
None (chiara-septentrio) 0 1/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The ArduPilot project currently has 1,431 open issues, indicating ongoing development and user engagement. Recent activity includes a mix of feature requests, bug reports, and enhancements, with notable discussions surrounding the integration of new technologies like DDS (Data Distribution Service) and improvements to existing functionalities. A recurring theme is the need for better handling of external sensors and telemetry systems, which reflects the project's commitment to enhancing its robustness and versatility.

Several issues highlight critical concerns, such as the handling of GPS data during transitions in quadplanes, which can lead to crashes if not addressed. Additionally, there are multiple requests for improved logging capabilities and better integration with ROS (Robot Operating System), suggesting a push towards more advanced applications in robotics and automation.

Issue Details

Most Recently Created Issues

  1. Issue #28068: Publish Gimbaled LRF distance through mavlink camera protocol

    • Priority: Feature Request
    • Status: Open
    • Created: 1 day ago
  2. Issue #28046: DDS: Validate ROS_DOMAIN_ID environment is the same as DDS_DOMAIN_ID

    • Priority: Enhancement
    • Status: Open
    • Created: 3 days ago
  3. Issue #28021: Duty cycle PWM for servo groups

    • Priority: Feature Request
    • Status: Open
    • Created: 6 days ago
  4. Issue #28013: [SPRacing H7 Extreme] USB/COM port error

    • Priority: Bug Report
    • Status: Open
    • Created: 7 days ago
  5. Issue #27984: What's the path forward towards having 64bit builds for linux?

    • Priority: Open Discussion
    • Status: Open
    • Created: 9 days ago

Most Recently Updated Issues

  1. Issue #27975: SITL crashes with new version of RealFlight Evolution

    • Priority: Bug Report
    • Status: Open
    • Last Updated: 1 day ago
  2. Issue #27957: AM32 ESC telemetry disappears from OSD if data is at 0

    • Priority: Enhancement
    • Status: Open
    • Last Updated: 12 days ago
  3. Issue #27949: DDVP tail rotor pitch actuator not working correctly

    • Priority: Bug Report
    • Status: Open
    • Last Updated: 14 days ago
  4. Issue #27925: AP_DDS - no tests

    • Priority: Bug Report
    • Status: Open
    • Last Updated: 4 days ago
  5. Issue #27885: Plane neurotic throttle behavior

    • Priority: Bug Report
    • Status: Open
    • Last Updated: 19 days ago

Themes and Commonalities

  • There is a significant focus on improving sensor integration and telemetry systems, particularly with external devices such as GPS and rangefinders.
  • Several issues point to challenges in maintaining stability during transitions in flight modes, especially in VTOL configurations.
  • The community is actively discussing enhancements to logging capabilities and how these can be leveraged for better diagnostics and performance monitoring.
  • Requests for improved documentation and clearer guidelines on using advanced features like DDS indicate a desire for greater accessibility and usability within the developer community.

This analysis reveals a vibrant project ecosystem where user feedback is integral to ongoing development efforts, highlighting both the strengths and areas needing attention within ArduPilot's extensive feature set.

Report On: Fetch pull requests



Report on Pull Requests

Overview

The ArduPilot repository has a total of 956 open pull requests, showcasing a vibrant and active development environment. The recent pull requests reflect ongoing enhancements, bug fixes, and feature additions across various components of the autopilot software.

Summary of Pull Requests

Recent Open Pull Requests

  • PR #28081: Fence: Change AC_FENCE_ACTION to an enum
    Created by murata,katsutoshi. This PR proposes changing the AC_FENCE_ACTION to an enum for better grouping and clarity. The change is expected to improve code maintainability.

  • PR #28080: Migration of AP_HAL_ESP32 targets from esp-idf 4.4 to 5.3, take two
    Created by arg7. This migration addresses compatibility issues with the latest ESP-IDF version, fixing compilation issues and updating documentation.

  • PR #28079: AP_Compass: Add in BMM350 Driver
    Created by Peter Barker. This PR replaces a previous attempt to add a driver for the BMM350 compass, aiming for improved functionality.

  • PR #28078: Blimp: Remove previous flight mode
    Created by Peter Barker. This PR removes an unused flight mode from the Blimp vehicle type, streamlining the codebase.

  • PR #28077: SITL: param whitelist removal
    Created by Yuxin Pan. This PR removes parameters from the whitelist in SITL, aligning with documentation updates.

  • PR #28076: Rover: reject position targets if acceleration supplied
    Created by Peter Barker. This PR introduces logic to reject position targets that include acceleration, enhancing control safety.

  • PR #28075: AP_EFI: Hirth: remove crankshaft sensor status
    Created by Bob Long. This PR removes misleading crankshaft sensor status reporting from the EFI system.

  • PR #28074: AP_EFI: fix ECYL log message
    Created by Bob Long. This PR corrects logging issues related to temperature readings in the EFI system.

Notable Closed Pull Requests

  • PR #28067: SpeedyBeeF405WING with bdshot support
    Closed without merging due to concerns about configuration and documentation clarity.

  • PR #28066: SpeedyBeeF405WING bdshot support
    Closed without merging; similar concerns as above.

  • PR #28065: Create Readme.md
    Closed without merging; part of the SpeedyBeeF405WING bdshot support series.

Analysis of Pull Requests

The recent activity within the ArduPilot repository indicates a strong focus on improving existing features and addressing bugs while also introducing new functionalities across various vehicle types. A few key themes emerge from this analysis:

  1. Migration and Compatibility Updates:

    • Several pull requests, such as #28080, focus on migrating components to newer versions of dependencies (e.g., ESP-IDF). This reflects a proactive approach to ensure compatibility with evolving technology stacks, which is crucial for maintaining a robust software platform.
  2. Code Refactoring and Cleanup:

    • There are multiple instances of code cleanup and refactoring efforts, such as in #28081 (enum changes) and #28078 (removal of unused modes). These changes enhance code readability and maintainability, which is essential for long-term project sustainability.
  3. Feature Enhancements:

    • New features are being introduced consistently, as seen in pull requests like #28079, which adds support for new hardware drivers. These enhancements are vital for keeping the software relevant and capable of supporting new technologies in UAV systems.
  4. Bug Fixes and Safety Improvements:

    • A significant number of pull requests address bug fixes or introduce safety checks, such as in #28076, which rejects invalid commands that could lead to unsafe operations during vehicle control. This focus on safety is paramount in autopilot systems where failures can have severe consequences.
  5. Community Engagement and Collaboration:

    • The comments within pull requests often reflect collaborative discussions among contributors about best practices and potential improvements (e.g., discussions around parameter handling in #28049). This engagement fosters a healthy development environment where ideas can be shared and refined collectively.
  6. Testing and Validation:

    • Many pull requests emphasize testing, either through automated tests or manual validation processes (e.g., SITL tests). For example, PRs like #27794, which adds tests for new features or fixes existing ones, demonstrate a commitment to quality assurance.

Conclusion

The ArduPilot repository exhibits a dynamic development environment characterized by active contributions focused on enhancing functionality, ensuring compatibility with modern standards, improving code quality, and prioritizing safety. The community's collaborative spirit is evident through discussions around proposed changes and ongoing testing efforts that aim to maintain high standards of reliability in this critical software platform for UAVs. As the project continues to evolve, it will be essential to balance innovation with stability while fostering community engagement to drive future developments effectively.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Contributions

  1. Peter Barker (peterbarker)

    • 69 commits in the last 30 days, focusing on various bug fixes and feature enhancements across multiple files and branches.
    • Recent activities include updating MAVLink commands, improving logging functionality, and refining the handling of RC channels.
    • Collaborated with Yuxin Pan on parameter documentation.
  2. Randy Mackay (rmackay9)

    • 88 commits in the last 30 days, primarily focused on version updates for multiple vehicle types (Copter, Plane, Rover, Tracker) to version 4.5.6.
    • Notable contributions include release notes for version updates and enhancements to DroneCAN handling.
    • Active across several branches including Copter-4.5 and Plane-4.5.
  3. Andrew Tridgell (tridge)

    • 27 commits in the last 30 days, contributing to build options and various tools improvements.
    • Recent work includes adding features for glider support in Plane and enhancing build configurations.
    • Engaged in optimizing build processes and CI configurations.
  4. Ryan Friedman (Ryanf55)

    • 7 commits in the last 30 days, mainly focusing on tools improvements and CI configurations.
    • Recent contributions include hotfixes for CI issues and adjustments to build scripts.
  5. Bob Long (robertlong13)

    • 1 commit in the last 30 days, tidying up old calls related to telemetry data.
  6. Yuxin Pan (YuxinPan)

    • 2 commits in the last 30 days, working on parameter documentation updates.
    • Collaborated with Peter Barker on parameter metadata.
  7. Stephen Dade (stephendade)

    • 2 commits in the last 30 days, focusing on improvements to Rover's circle mode navigation.
  8. Tim Koehler (KoehlerT)

    • 1 commit in the last 30 days fixing include files for MAVLink messages.
  9. Andy Piper (andyp1per)

    • 26 commits in the last 30 days, contributing to various vehicle types including Copter and Plane.
    • Focused on improving logging mechanisms and correcting initialization issues.
  10. Thomas Watson (tpwrules)

    • 9 commits in the last 30 days, working on DroneCAN optimizations and parameter handling improvements.
  11. Others: Several other contributors made minor contributions or bug fixes but were less active overall.

Patterns and Themes

  • Version Updates: A significant focus on updating vehicle versions to 4.5.6 across multiple branches indicates a coordinated effort towards a stable release cycle.
  • Collaborative Efforts: Multiple team members are collaborating on documentation and feature enhancements, particularly around parameter management and logging improvements.
  • Bug Fixes: Many recent commits are dedicated to fixing bugs related to telemetry data handling, MAVLink commands, and RC channel management.
  • Continuous Integration Improvements: There is an ongoing effort to enhance CI processes, suggesting a commitment to maintaining code quality amidst frequent updates.

Conclusions

The development team is actively engaged in enhancing the ArduPilot project with a clear focus on version stability, collaborative feature development, and robust bug fixing practices. The high level of activity from key contributors reflects a well-organized team structure that prioritizes both community engagement and software reliability.