Skip to content

Conversation

@knmcguire
Copy link
Contributor

@knmcguire knmcguire commented Apr 26, 2023

Description
This is an improvement of the Bitcraze Crazyflie robot. The model has now a fasthelix, altitude control to keyboard controller. Also there is an python controller which features an autonomous mode, which is able to do wall following in a more complicated environment (the apartment) which is added as a second world.

Related Issues
This pull-request fixes issue #4711 partly (point 1-3 and 5) but the other issues are not mandatory and mostly improvements, so perhaps we can leave it at that and make the issue once we are ready to make a new PR

Tasks
These are the things done in this request

  • Implemented fast helix
  • Altitude control to keyboard
  • More complex world called crazyflie_apartment
  • New controller with autonomy

Documentation
No changes to documentation necessary.

Screenshots
This is a screenshot of the more complex behavior
crazyflie_apartement_1

@knmcguire
Copy link
Contributor Author

knmcguire commented Apr 26, 2023

ahh a failed test. I have indeed reused the fast helix of the dji example and I would have gotten away with it too if it weren't for you meddling checks! 👿

Just kidding! Sorry couldn't help myself with the scoobydoo reference

Anyway, I can make another one, no problem. I was just a bit lazy! 😄

@omichel
Copy link
Member

omichel commented Apr 26, 2023

You don't need to make another one, simply reusing the one of the dji is fine, but you should not copy the file.

@knmcguire
Copy link
Contributor Author

alright let's go for that then. I might make a mental note to fix this in the future as it would be nicer to have the meshes and textures separated from the proto without external dependencies, but it won't be urgent.

Or perhaps it can be a standard texture of some kind? Anyway, just a thought!

@omichel
Copy link
Member

omichel commented Apr 26, 2023

Or perhaps it can be a standard texture of some kind? Anyway, just a thought!

Yes, we could place a default/generic helix texture somewhere, like in webots://projects/default/protos/textures/fast_helix.png which could be used by both the Mavic and the Crazyflie.

@omichel omichel added the enhancement Implementation of a minor feature label Apr 26, 2023
@omichel omichel added this to the R2023b milestone Apr 26, 2023
@knmcguire
Copy link
Contributor Author

I've also moved the fast helix proto to a more generic location now. Let's hope the CI now passes

@knmcguire
Copy link
Contributor Author

I'll fix the pep8 issues soon

@knmcguire knmcguire marked this pull request as ready for review May 1, 2023 08:30
@knmcguire knmcguire requested a review from a team as a code owner May 1, 2023 08:30
@knmcguire
Copy link
Contributor Author

Alright, I've tested out if the changes didn't affect the simulation and the demo. I've marked it ready for review

@BenjaminDeleze BenjaminDeleze requested a review from omichel May 1, 2023 08:33
Copy link
Member

@omichel omichel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you. It looks pretty good.
I suggest a few minor edits to make the code more readable and compliant with our standards.

@omichel
Copy link
Member

omichel commented May 1, 2023

In general we try to avoid abbreviations as much as possible to make the code easier to maintain.

@knmcguire
Copy link
Contributor Author

knmcguire commented May 3, 2023

@omichel I've addressed the changes, and I've also updated the wall following file as I was right in the middle of improving the code quality of the wallfollowing of the 'real' crazyflie python library itself. This also makes the state machine a lot easier the follow. You can see that more clearly in this commit: dd26625

@knmcguire
Copy link
Contributor Author

ah wait I've missed a couple of comments in the code. Let me address those first

@knmcguire
Copy link
Contributor Author

alright, now all comments are addressed and resolved.

@knmcguire
Copy link
Contributor Author

So, the tests have passed, and I've just merged the latest. If that all goes well, then perhaps ready to merge?

@BenjaminDeleze BenjaminDeleze requested a review from omichel May 5, 2023 09:27
Copy link
Member

@omichel omichel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.,
We are almost there.

@knmcguire
Copy link
Contributor Author

thanks for fixing the typos! I'll merge it after the tests has passed

@knmcguire knmcguire merged commit 3d38d2f into cyberbotics:develop May 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Implementation of a minor feature test sources Start the sources test on all platforms

Development

Successfully merging this pull request may close these issues.

3 participants