Skip to content
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

Feature request for additional customization of Lighthouse deck geometry #1197

Open
willgraham345 opened this issue Jan 23, 2023 · 5 comments

Comments

@willgraham345
Copy link

I'm new to contributing to any contribution on Bitcraze's repo, so forgive me if I make any errors/assumption that are incorrect :)

I was hoping to see if I could get some direction or a additional functionality to edit geometry of the lighthouse position system. I'm part of a research group looking into repositioning the lighthouse positioning deck (https://www.bitcraze.io/products/lighthouse-positioning-deck/) to have the lighthouse position the Crazyflie from beneath, rather than an overhead view. We've begun work on designing a PCB to hold both the Lighthouse deck alongside the Flow deck (https://www.bitcraze.io/products/flow-deck-v2/), to keep the functionality and robustness of the Flow Deck.

If possible, I'd love to get some guidance on how I should approach this problem and/or work with Bitcraze to create this feature. Thanks!!

@ataffanel
Copy link
Member

ataffanel commented Jan 24, 2023

Hi,

This is not something we have tested but it should work without many changes. The main change will be to change the sensor position order: the order is used for yaw estimation, if you flip the deck you will flip the sensors position. You will also need to change the position if you offset the sensors, the Z position for example will need to be changed. That way you make sure that the kalman filter is still calculating the position on the same point.

The only thing that we think might cause problems is the yaw estimation: the yaw estimation is a bit of a hack looking at the order at which the beam hits the sensors. I think that changing the sensor position order will be enough to make the yaw working but if it is not the case, you can look at the yaw estimation function.

In the long run, we should likely make the sensor position a more configurable settings. If you manage to get the deck working on the bottom we can start talking about how to make the change more configurable so that it could be done with a simple build config on the official firmware.

@willgraham345
Copy link
Author

Perfect! Thank you for the guidance, and I'll keep you updated on my work if we're able to get it running.

@willgraham345
Copy link
Author

willgraham345 commented May 11, 2023

Hi again! Still working on this problem, and hopefully I'll be able to get it working and contribute to the repository!

I've been busy working with the STM debugger, and I've noticed that there isn't a way to directly debug key functions related to this (such as the lighthouse_core). I've placed a variety of breakpoints within the lighthouse functions and I haven't ever hit them. Is there a way to step through functions such as the kalman using the debugger?

As of now, I've been running the main loop initialization described within the debugger introduction. If I'd like to try and step through the functions mentioned above should I try to create my own app, or is there an easier way to do that?

@krichardsson
Copy link
Contributor

Hi!

Even though your problem with the debugging is related to lighthouse and your work on this issue, I believe it is a general debugging problem that might be interesting for other users as well. Would it be possible for you to ask in our discussions forum instead where we handle questions like this?

Thanks!

@willgraham345
Copy link
Author

Of course! I didn't realize there was a discussions forum for this platform, and I'll start there first next time. Thanks again for the help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants