Comments (3)
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.
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.
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)
- Catkinize this package and make compile on the build-server HOT 1
- Problem with the initialization of ethzasl_sensor_fusion HOT 8
- ethzasl_sensor_fusion ... no output data HOT 1
- strange accelerometer measurements of Microstrain MEMS IMU on an octocopter
- Erro Compiling - Serial port HOT 1
- form rxplot to rqt_plot ? HOT 4
- IMU and Sensor Coordinates confusion HOT 7
- Estimation Jitter Causing Instability HOT 1
- Can not find "PositionWithCovarianceStamped.h" HOT 2
- Tutorial worked first time only HOT 7
- Performance Expectation Issues
- issues on IMU-camera calibration HOT 1
- How can I generate the codes in file calcQ.h ? HOT 1
- When does the init() get called in pose_measurement.h?
- issue about the initial error state covariance P
- rosmake can't build HOT 4
- understanding about computing the quaternion integration in function propagateState()
- What kind of data is position of vicon?
- I can not visual the data
- Localization with Respect to an Object HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ethzasl_sensor_fusion.