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

Add a nonlinear trajectory tracking controller. #284

Merged
merged 1 commit into from Jan 26, 2018

Conversation

whoenig
Copy link
Contributor

@whoenig whoenig commented Jan 19, 2018

To test, follow these steps:

  1. compile the firmware with ESTIMATOR set to "kalman" and CONTROLLER set to "mellinger".
  2. roslaunch crazyflie_demo external_position_vicon.launch uri:=radio://0/100/2M/E7E7E7E728
  3. In "crazyflie_ros/crazyflie_demo/scripts": python execute_trajectory.py figure8withTakeoffAndLanding.csv

The controller can also be used with manual flight

To test, follow these steps:
1. compile the firmware with ESTIMATOR set to "kalman" and CONTROLLER set to "mellinger".
2. roslaunch crazyflie_demo external_position_vicon.launch uri:=radio://0/100/2M/E7E7E7E728
3. In "crazyflie_ros/crazyflie_demo/scripts": python execute_trajectory.py figure8withTakeoffAndLanding.csv

The controller can also be used with manual flight
@ataffanel
Copy link
Member

Thanks a lot for the PR! We plan to look at it on Friday (the flight lab is a bit busy right now ... :).

@ataffanel ataffanel merged commit c604f2e into bitcraze:master Jan 26, 2018
@ataffanel
Copy link
Member

Thanks, it works fine with a Qualisys system too.
One question: at the end of the trajectory, the CF is held running at (0,0,0) and if I stop the execute_trajectory script with ctrl-C the CF will jump away. Is that something you have observed?

@whoenig
Copy link
Contributor Author

whoenig commented Jan 26, 2018

Thanks! I've seen the issue and I am working on a fix for that. I already found the root cause: The controller doesn't handle the "timeout" setpoint sent here well. I hope that I can address it in the controller itself without changing the setpoint logic, but I am not sure yet.

@whoenig whoenig deleted the controller_mellinger branch January 26, 2018 17:23
@whoenig
Copy link
Contributor Author

whoenig commented Jan 26, 2018

Update: I was able to fix the CTRL+C problem in controller_mellinger alone. I put a proposed fix for the issue in another PR: #288. I'll fix the other issue (CF not landing without CTRL+C) in crazyflie_ros.
What changes did you have to do to support Qualisys?

TracyDuX pushed a commit to philip-huang/crazyflie-firmware that referenced this pull request Jun 17, 2018
Add a nonlinear trajectory tracking controller.
@krichardsson krichardsson modified the milestones: Next release, 2018.10 Oct 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants