What "enableHighLevel" is for?

Firmware/software/electronics/mechanics
Post Reply
kyubot
Beginner
Posts: 4
Joined: Mon May 28, 2018 8:40 am

What "enableHighLevel" is for?

Post by kyubot »

Hello everyone,
I am almost new to this project and have been reading the code.
My personal interest is implementing robust altitude hold mode fusing vertical speed and baro sensor data.
While reading the code, I came a cross a variable named "enableHighLevel" in commander.c file and could not figure out what this value means.
Seems like enabling it prevents direct memory copy from setpoint input but not sure.
Anybody can explain about this?
Thanks,

Kyu
whoenig
Expert
Posts: 395
Joined: Mon Oct 27, 2014 2:55 am

Re: What "enableHighLevel" is for?

Post by whoenig »

It's a new feature currently only supported in crazyflie_ros (and the Crazyswarm) right now. The high-level mode has functions to takeoff, land, go to a waypoint within a specified time, or follow a polynomial trajectory. Everything is executed on-board (however, it is possible to send external position information from a motion capture system to improve the state estimate).

Here is an example on what you can do with it using crazyflie_ros: https://github.com/whoenig/crazyflie_ro ... h_level.py.

If you improve the state estimate, this will automatically improve the high-level execution behavior if no motion capture system is present.
kyubot
Beginner
Posts: 4
Joined: Mon May 28, 2018 8:40 am

Re: What "enableHighLevel" is for?

Post by kyubot »

Then I don't need to care about it since I am only using the onboard sensors at this time.
Thank you for your reply.
whoenig
Expert
Posts: 395
Joined: Mon Oct 27, 2014 2:55 am

Re: What "enableHighLevel" is for?

Post by whoenig »

If you have the flow-deck installed, the mode works fine with on-board sensors, only.
Post Reply