mwbb
September 24, 2024, 4:57am
1
PX4 Sync / Q&A: Sep 25, 2024
Agenda
Announcements
Release Discussion
Q&A
Announcements
We have a new release :
PX4 Autopilot, the open-source flight control system for uncrewed vehicles, has released its latest stable version, v1.15. This update introduces significant improvements for PX4 developers, including tighter integration with ROS 2 and uXRCE-DDS...
Est. reading time: 6 minutes
New documentation section:
Thanks to @hamishwillee and @Vincentpoont2
Release Discussion
GPS Issue fixed and back-ported:
PX4:release/1.15
← PX4:fix-septentrio-default-1_15
opened 09:23AM - 25 Sep 24 UTC
backport of https://github.com/PX4/PX4-Autopilot/pull/23718
fixes https://githu… b.com/PX4/PX4-Autopilot/issues/23714
Bug report / Q&A
1- Firmware v1.15 stable _ GPS not detected _ CUBE orange _ Herelink
2- @anaam-wingxpand
opened 01:36PM - 25 Sep 24 UTC
bug-report
### Describe the bug
Landing was detected but did not disarm, despite COM_DISAR… M_LAND = 2 seconds. In fact, 5 seconds later the motor started again as takeoff was detected, even though it wasn't actually taking off.
### To Reproduce
1. The operator shook the drone to pre-trigger launch.
2. The operator held onto the drone. 2 seconds later, the motor stopped as landing was detected
3. The operator went to go set the drone down, and 5 seconds later the motors started again as takeoff was detected
4. The operator disarmed the drone via QGroundControl
### Expected behavior
The drone should've disarmed 2 seconds after landing, since COM_DISARM_LAND = 2 seconds. The motors should never started up again on their own.
### Screenshot / Media
![Screenshot 2024-09-25 093402](https://github.com/user-attachments/assets/62ba689f-03ab-4a72-8c69-6c722f7bf860)
![Screenshot 2024-09-25 093507](https://github.com/user-attachments/assets/5a421f30-8b1d-4a8a-8411-8ca64e481f68)
### Flight Log
https://logs.px4.io/plot_app?log=924fa87f-0220-43ae-b9c5-b21d753078f5
### Software Version
v1.14
### Flight controller
Cube Orange+
### Vehicle type
Fixed Wing
### How are the different components wired up (including port information)
_No response_
### Additional context
_No response_
3- Is there any roadmap for the future changes at architecture level for upcoming PX4 releases?
If there is an interest in it, the contributions are welcome but mostly the goal is to have ROS2 capabilities
4- @Rowan_Dempster Huge drift on GPS after first time flying an indoor drone, outdoors with vision sources for localization.
Right now height estimation is making it possible to have multiple sources by having all bias estimators enabled. Checking the logs can be helpful on that.
PRs needing review
Merged:
PX4:main
← AlexKlimaj:pr-fix-corrupt-log-parsing
opened 02:24AM - 24 Sep 24 UTC
Currently any log with a minor corruption will not upload and complain about the… log being corrupt. Plotjuggler opens the logs without issue. Allowing string exceptions fixes this.
```
./serve.py --show
/home/alex/.local/lib/python3.10/site-packages/matplotlib/projections/__init__.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.
warnings.warn("Unable to import Axes3D. This may be due to multiple versions of "
Moving uploaded file to /home/alex/flight_review/app/plot_app/../../data/log_files/10c53e34-3767-493b-ba84-20332f3d225f.ulg
Traceback (most recent call last):
File "/home/alex/flight_review/app/plot_app/helper.py", line 317, in load_ulog_file
ulog = ULog(file_name, msg_filter, disable_str_exceptions=False)
File "/home/alex/.local/lib/python3.10/site-packages/pyulog/core.py", line 137, in __init__
self._load_file(log_file, message_name_filter_list, parse_header_only)
File "/home/alex/.local/lib/python3.10/site-packages/pyulog/core.py", line 836, in _load_file
self._read_file_definitions()
File "/home/alex/.local/lib/python3.10/site-packages/pyulog/core.py", line 886, in _read_file_definitions
msg_info = self._MessageInfo(data, header, is_info_multiple=True)
File "/home/alex/.local/lib/python3.10/site-packages/pyulog/core.py", line 563, in __init__
self.value = ULog.parse_string(data[1+key_len:])
File "/home/alex/.local/lib/python3.10/site-packages/pyulog/core.py", line 91, in parse_string
ret = _parse_string(cstr)
File "/home/alex/.local/lib/python3.10/site-packages/pyulog/core.py", line 17, in _parse_string
return str(cstr, 'utf-8', errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 152: invalid start byte
400 POST /upload (127.0.0.1): Failed to parse the file. It is most likely corrupt.
400 POST /upload (127.0.0.1) 153.78ms
```
We would do this on a clean system with CI:
PX4:main
← PX4:pr-macos-build-rev1
opened 03:32PM - 12 Sep 24 UTC
This is initial sketch. Let me know if I am missing anything here!
PX4:main
← dakejahl:pr-serial_drain_tx
opened 03:02AM - 18 Sep 24 UTC
Calling serial::write() in quick succession was blowing away the previous buffer… , fsync does not guarantee that data is transmitted on serial lines. On the other hand tcdrain waits until the output buffer is empty.
I tested on nuttx, probably need to update posix as well. @katzfey was the intention with fsync to flush the output buffer? I discovered this issue in a custom module where I am updating the firmware of a device, reading a firmware file from the file system and writing chunks of 512 bytes at a time. I was discovering that it was rapidly looping and not actually writing each 512 byte chunk to completion.
PX4:main
← cuav:cuav_7-nano
opened 08:06AM - 16 Jul 24 UTC
Added support for CUAV-7-Nano flight controller.
Now that PX4 v1.15 stable is out, maybe there’s a window to plan and make bigger changes/updates.
My question is the following: are there any plans related to upgrading NuttX anytime in the near future?
No pressure, I was just curious, I haven’t found any information, just one fairly old GitHub issue:
https://github.com/PX4/PX4-Autopilot/issues/22269
@dagar : Are there any news related to this topic?