-
Notifications
You must be signed in to change notification settings - Fork 17.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AP_DDS: add best effort streams and remove unused TFMessage #24907
base: master
Are you sure you want to change the base?
Conversation
We had mentioned putting together a python script to deploy this in hardware and then run an integration test. Would it be possible to put something together like that so we can continue to quickly test PR's on hardware? |
Not sure how this would be (or should be) different for testing other aspects of AP on hardware. The problem is that most hardware tends to be custom (devices, port choices, param mappings) and I can't see an easy way to do this without replicating effort put in elsewhere (configurator). Maybe better would be to use the configurator, or do the work to get that running and include DDS as an option? |
@Ryanf55 - am thinking of cherry-picking the first three commits of this PR into a separate PR, as they don't change behaviour but complete some outstanding housekeeping on the library. Thoughts? Edit: updated PR to depend on support for automatic reconnect which also addresses the |
146f109
to
d991b7a
Compare
d56e985
to
e3d20c6
Compare
Issues:Issues when running on hardware (MatekH743)
libc++abi: terminating due to uncaught exception of type std::__1::system_error: mutex lock failed: Invalid argument
zsh: abort ./build/micro_ros_agent/micro_ros_agent serial -D /dev/cu.usbserial-0001 -b May happen when:
|
Do you want to rebase and we can try to get this in soon? I now have an approprite hardware test setup with debugger. |
- Unused and contributes significantly to RAM usage (contains array[100] of TransformStamped). Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
d5f172d
to
e06583d
Compare
Note: this PR has been reworked to incorporate #25228
tx_dynamic_transforms_topic
.uxr_run_session_time
stopping publishing.Dependencies
Details
TFMessage
consumes a lot of RAM because of its internal array[100]. This causes allocation failure on some hardware (esp32) because of dram limits.TopicIndex
enum rather than integer indices for publisher topics. This reduces the risk of an incorrect index and is consistent with the treatment of subscribers and services (Note: moved to AP_DDS: use TopicIndex enum to index topics table #25231)Testing
Hardware
Params
Configure, build and upload
Run
The ground control station is run on macOS. Port details will be different for Ubuntu.
MAVProxy:
micro-ROS agent:
./build/micro_ros_agent/micro_ros_agent serial -D /dev/cu.usbserial-0001 -b 115200 -v6 -r $HOME/Code/ardupilot/ardupilot/libraries/AP_DDS/dds_xrce_profile.xml
Checks:
Figure: initialisation and arming - arming fails as GPS does not have a fix when bench testing.