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

ERROR: Cannot load message class for [sensor_fusion_comm/ExtEkf]. Are your messages built? #25

Open
Luczia opened this issue Jun 16, 2014 · 2 comments

Comments

@Luczia
Copy link

Luczia commented Jun 16, 2014

Hi,

I'm trying to implement an Ekf sensor fusion on the asctec_pelican.
My mapping and roslaunch seems OK. (More description of my setup can be found here : http://asctec-users.986163.n3.nabble.com/Issue-on-using-ethzasl-sensor-fusion-with-HighLevel-EKF-mode-td4024666.html).

When trying to rostopic echo /state_out or /ext_state, I get the following error:

ERROR: Cannot load message class for [sensor_fusion_comm/ExtEkf]. Are your messages built?

However, when I rosmake the ethzasl_sensor_fusion package I get no error.

Do you have any idea?

Thanks,

@stephanweiss
Copy link
Contributor

Hi,

Are you using the current master branch?
Are you typing the rostopic echo command on your PC or on the Pelican - are the messages built where you run the command?

On the Highlevel (HL) processor, only the EKF state propagation step is performed, the update step and covariance propagation is always performed on the additional processor board (ATOM/Core2Duo etc) - that is in SSF package (see this tutorial: http://wiki.ros.org/ethzasl_sensor_fusion/Tutorials/getting_started).http://wiki.ros.org/ethzasl_sensor_fusion/Tutorials/getting_started%29.

Also, from the rqt_graph the mapping might need some changes. Did you follow all tutorials required for the sfly_tutorial? I see the following potential issues in the rwt_graph

  • the fcu/pose topic is a reserved topic and should not be used by your pose you are providing to the SSF framework
  • your SSF node ssf_position_sensor suggests that you have implemented a 3D position measurement to be fused with the IMU (see http://wiki.ros.org/ethzasl_sensor_fusion/Tutorials/custom_sensor_design on how to design your own sensor). However, the "pose" you are aiming to fuse with the IMU suggests to be a 6dim. value (position and attitude)
  • fcu/current_pose is the filtered pose output including your measurement and IMU. This should not be fed back to pose_estimator_ptam

Hope that helps.
Best,
Stephan


From: Luczia [[email protected]]
Sent: Monday, June 16, 2014 1:44 AM
To: ethz-asl/ethzasl_sensor_fusion
Subject: [ethzasl_sensor_fusion] ERROR: Cannot load message class for [sensor_fusion_comm/ExtEkf]. Are your messages built? (#25)

Hi,

I'm trying to implement an Ekf sensor fusion on the asctec_pelican.
My mapping and roslaunch seems OK. (More description of my setup can be found here : http://asctec-users.986163.n3.nabble.com/Issue-on-using-ethzasl-sensor-fusion-with-HighLevel-EKF-mode-td4024666.html).

When trying to rostopic echo /state_out or /ext_state, I get the following error:

ERROR: Cannot load message class for [sensor_fusion_comm/ExtEkf]. Are your messages built?

However, when I rosmake the ethzasl_sensor_fusion package I get no error.

Do you have any idea?

Thanks,


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

@Luczia
Copy link
Author

Luczia commented Jun 20, 2014

Hi Stephan,

Thanks a lot for your remarks.
I'm running the master branch.
Indeed, I don't get the "Cannot load ..." error when trying a rostopic echo on the pelican, so this point is solved!

Following your advices, I did some remapping

I use a ssf_pose_sensor instead of ssf_position_sensor , I did withdraw the link between my pose_estimator_ptam and fcu/pose and did withdraw the link between pose_estimator_ptam and fcu/current_pose (despite the fact I was only using this topic to generate a tf to be displayed in rviz).

The new rqt_graph is available there (message 2, page 1) http://asctec-users.986163.n3.nabble.com/Issue-on-using-ethzasl-sensor-fusion-with-HighLevel-EKF-mode-td4024666.html#a4024668 .

As a result, when trying to rostopic echo /fcu/ekf_state_out , it does display values!
But nothing for /fcu/ekf_state_in and /ssf_core/pose but (just a blank line in the terminal as if it was waiting for some data).
Should I map the ssf_core/pose to fcu/pose ? And then I could get the actual fusionned position (IMU + pose from PTAM) by listenning on fcu/current_pose ?

I still can't figure out what is missing and how to get the fusionned pose.

Thanks

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