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

Packet for externally measured position and orientation #203

Closed
pittersdb opened this issue Mar 6, 2017 · 2 comments
Closed

Packet for externally measured position and orientation #203

pittersdb opened this issue Mar 6, 2017 · 2 comments
Milestone

Comments

@pittersdb
Copy link

Hi,

Considering the current implementation that allows to send measured position from client to a crazyflie using cf.extpos.send_extpos via a packet to the EKF, it is needed a way to send orientation as well, in order to consider the measured yaw and start the CF front facing on any direction more than only the X when it take-off.

@pittersdb
Copy link
Author

Hi @ataffanel ,
I have been checking the firmware code to have an idea about how the data (x,y,z) flows from client to the EKF for performing estimation, I think that I can understand how an adicional parameter (like yaw)can be received; however, I can realize that (x,y,z) are processed to obtain an updating of the covariance matrix. How the external measured yaw can be included in that process ?, Do you think you can help us with this implementation?. Our goal is that several CF can be positioned in space (using a mocap ) and produce swarm algorithms to lead those drones to make a coordinated task, our focus would be in the algorithms assuming that the CF can be positioned in a point in space, however we have this current problem in positioning (because orientation is not considered)

@pittersdb
Copy link
Author

Hi,
@ataffanel suggested me to expose this issue to @mgreiff.
Before to start this issue, I moved the coordinate system to get always the front of the CF facing to the X axis from mocap, however, I thought that there would be no problem if always (even while flying) this solution were applied, but it doesn't work at all. What I can realize is: if the CF change the front direction while is flying, the CF fails and turns over. I supposed that, considering that EKF works if always the front is facing X, when the yaw change because of a movement, it cannot restore the init yaw(which faces X) in which it starts, it is true ?, If that is the case then I think the controller should keep the init yaw (the setpoint yaw would be zero), and when the setpoint yaw is different from zero, the CF should rotate in yaw and update what is needed to be adjusted to the new orientation, this suggestion makes sense ?. Something that I would like to do is that a CF follows a trajectory and change the yaw while is flying, is that possible ?

whoenig added a commit to whoenig/crazyflie-firmware that referenced this issue Jul 16, 2019
This adds two new messages to the crtp_localization_service to
receive external pose information (compressed and not compressed)
such as information obtained by a motion capture system. (Fixes
issue bitcraze#203).

It also adds a full pose update in the EKF using a scalar update
for both position and orientation errors. (Fixes issue bitcraze#246).

Tested with the Crazyswarm using a single Crazyflie and a VICON
motion capture system.
@krichardsson krichardsson added this to the next-release milestone Aug 13, 2019
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

No branches or pull requests

2 participants