Page 1 of 1

What "enableHighLevel" is for?

Posted: Mon May 28, 2018 8:48 am
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

Re: What "enableHighLevel" is for?

Posted: Thu May 31, 2018 3:12 am
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.

Re: What "enableHighLevel" is for?

Posted: Thu Jun 14, 2018 7:47 am
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.

Re: What "enableHighLevel" is for?

Posted: Thu Jun 14, 2018 4:35 pm
by whoenig
If you have the flow-deck installed, the mode works fine with on-board sensors, only.