Giter Site home page Giter Site logo

Comments (3)

stephanweiss avatar stephanweiss commented on September 7, 2024

Hi,

It is good to hear that you enjoy using the software, thanks.
Your mapping to use the position controller looks correct.

The difference between /ssf_core/ext_state and /ssf_core/state_out is the following:
/ssf_core/ext_state:
this is the estimated pose and velocity published at the rate of the EKF prediction (i.e. at IMU reading rate). The "less clean" output might come from several prediction steps before a correction (update) step.
You should use this signal for MAV control since it is the fastest and at every point in time the best estimate. The correction-jumps practically vanish once the filter is sufficiently converged and if your update is sufficiently fast (>10Hz as a rough number).

/ssf_core/state_out:
This is essentially only a debug signal. It looks cleaner than /ssf_core/ext_state since it is published only after every update step. The lower frequency and the fact that we catch the value after the update step makes it look very "clean". However, due to the low frequency, we do not recommend to use it for MAV control.

The setup you describe makes the prediction step on the ATOM in the ethzasl_sensor_fusion. For slightly better performace, we recommend to do the prediction step directly on the HLP, this gives you a state prediction and, thus, MAV control at 1kHz. For this option you can remap the topics as follows:


in the reconfigure GUI of the HLP you also have to switch the controller mode to external EKF.

You may also try the EKF prediction on the HLP only once the other setup works correctly.

Hope this helps,
Stephan


From: schaves326 [[email protected]]
Sent: Thursday, August 09, 2012 9:04 PM
To: ethz-asl/ethzasl_sensor_fusion
Subject: [ethzasl_sensor_fusion] state_out vs. ext_state for Position Control on HLP (#1)

Hello,

I'm in the process of getting ethzasl_sensor_fusion running together with asctec_mav_framework and ethzasl_ptam on our Pelican. I'd like to use the position control function on the HLP, and I believe that the position control uses the /ssf_core/ext_state topic (which I remapped to /fcu/state) to communicate with asctec_mav_framework. However, I noticed that the /ssf_core/state_out from the filter is a much cleaner estimate of the Pelican's pose, rather than the /ssf_core/ext_state, which seems to me to be the same signal as /fcu/ekf_state_out. Is there a reason why /ssf_core/ext_state is different from /ssf_core/state_out (aside from being different message types)? I see that state_out is filled under applyCorrection in ssf_core.cpp, and ext_state is filled under stateCallback.

Can you confirm that I am running the software correctly? Should the position control be obtaining pose feedback from the cleaner estimate as seen in /ssf_core/state_out?

Many thanks for the help. I am enjoying using the software!


Reply to this email directly or view it on GitHubhttps://github.com//issues/1.

from ethzasl_sensor_fusion.

schaves326 avatar schaves326 commented on September 7, 2024

Thanks Stephan.

Thanks for clarifying the difference between state_out and ext_state - it makes sense now.

When running the prediction step on the HLP and remapping to ekf_state_out and ekf_state_in, do you mean that I do not need to use the ext_state for position control? Since the HLP is already receiving corrections and propagating the state itself? If yes, this would make sense as well - where ext_state is only needed for position control if all the EKF steps are being performed on the Atom.

But I would like to do the setup you describe - with prediction on the HLP and correction from the Atom.

from ethzasl_sensor_fusion.

stephanweiss avatar stephanweiss commented on September 7, 2024

You are correct: doing the prediction step on the HLP you do not need to use the ext_state for position control any more since the HLP is already receiving corrections and propagating the state itself.

Let me know how it goes
Stephan


From: schaves326 [[email protected]]
Sent: Friday, August 10, 2012 3:52 PM
To: ethz-asl/ethzasl_sensor_fusion
Cc: Weiss Stephan
Subject: Re: [ethzasl_sensor_fusion] state_out vs. ext_state for Position Control on HLP (#1)

Thanks Stephan.

Thanks for clarifying the difference between state_out and ext_state - it makes sense now.

When running the prediction step on the HLP and remapping to ekf_state_out and ekf_state_in, do you mean that I do not need to use the ext_state for position control? Since the HLP is already receiving corrections and propagating the state itself? If yes, this would make sense as well - where ext_state is only needed for position control if all the EKF steps are being performed on the Atom.

But I would like to do the setup you describe - with prediction on the HLP and correction from the Atom.


Reply to this email directly or view it on GitHubhttps://github.com//issues/1#issuecomment-7642498.

from ethzasl_sensor_fusion.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.