-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
Add support for NXP UWB position sensor Take 2 #14474
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You added the submodule dspal
. I assume that was by accident. I suggest to always use git add -p
to avoid that.
I made a couple of small comments. I can again review later. And you can also ask me to review specific parts.
I cant see where i added that submodule. Thank you for your Review, i added most changes. Ill commit it asap. Iam also not happy with the structure of rddrone::run. |
I'm really glad to find that pull request. |
This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions. |
What is the status here? |
Hi Lorenz, due to a change to newer HW Loic had to rewrite the SW on the S32K. |
This new Driver is based on MK UWB Shield 2 SR150 hardware and on the new MR_UWBNAV SW project. I modified the uwb_r4 driver to reflect the new MR_UWBNAV project. We did some test Flights showing that the current UWB system allows for a Precision Landing: Merging master into my driver caused a few conflicts. That is why I did a bench test using UWB, to confirm that the Landing_target_estimator is behaving correctly: |
@ThomasDebrunner @julianoes may you please review and approve. Thank you! |
I fixed the Issues like formating and the module config. |
This should be safe to merge once we get it through CI cleanly. |
I Removed the atribute((packed)) as this was spawning an error in CI. I ran "quick_check" and other make targets on my Dev. environment and they came back ok. |
By merging the latest Master into my branch, make checks also compiled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of general remarks:
- Do you ultimately want to squash everything or are there some atomic comits that you would like to keep? Asking because this PR is nearing to 100 commits 😅
- Is UWB only used for precision landing here?
src/modules/landing_target_estimator/LandingTargetEstimator.cpp
Outdated
Show resolved
Hide resolved
src/modules/landing_target_estimator/LandingTargetEstimator.cpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the changes so far, looks better now. I just have a few more remarks.
src/modules/landing_target_estimator/LandingTargetEstimator.cpp
Outdated
Show resolved
Hide resolved
src/modules/landing_target_estimator/landing_target_estimator_main.cpp
Outdated
Show resolved
Hide resolved
src/modules/landing_target_estimator/LandingTargetEstimator.cpp
Outdated
Show resolved
Hide resolved
src/modules/landing_target_estimator/LandingTargetEstimator.cpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Only a few more comments. I also took the liberty to remove some extra lines in the uwb_sr150
driver.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Precision landing simulation is not working anymore with this PR:
make px4_sitl gazebo_iris_irlock
When LTEST_MODE
is set to 1
(stationary), the drone becomes unstable. This suggests that the estimate coming out of landing_target_estimator
is incorrect and feeds false information to EKF2, the drone's onboard position and attitude estimator.
When marking the IR beacon as moving with LTEST_MODE=0
, the drone is stable again, probably because EKF2 no longer uses it as a landmark for its own estimation. However, once precision landing is activated, the drone will drift into the wrong direction.
I assume that both issues have the same underlying root cause, and that something is wrong with how irlock_report
messages are now processed. Didn't look into logs or anything yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good now, but we need free up some flash space before this can be brought in 😬
Memory region Used Size Region Size %age Used
flash: 1032641 B 1008 KB 100.04%
sram: 27192 B 192 KB 13.83%
ccsram: 0 GB 64 KB 0.00
This was the memory use before this PR:
Memory region Used Size Region Size %age Used
flash: 1032085 B 1008 KB 99.99%
sram: 27192 B 192 KB 13.83%
ccsram: 0 GB 64 KB 0.00%
With last commit it fits into flash now:
|
2691751
to
aa98cbc
Compare
uwb_sr150 driver for the sensor, and some modifications in precision landing to allow landing on a platform using the UWB system.
aa98cbc
to
6b67ed5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to go 👍
👍 |
This is a continuation of #12956.
I made 2 new Messages:
Grid Survey Result
Distance Result
Things To do:
UWB-PX4 Relationship diagram
![UWB-PX4_REL2](https://user-images.githubusercontent.com/5675438/77512672-cd20e180-6e73-11ea-9644-fa01b1cd0558.png)
Old PR:
@dk7xe @julianoes