ethz-asl / ethzasl_sensor_fusion

time delay single and multi sensor fusion framework based on an EKF
329 stars 162 forks source link

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

Open Luczia opened 10 years ago

Luczia commented 10 years ago

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 commented 10 years ago

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

Hope that helps. Best, Stephan


From: Luczia [notifications@github.com] 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/ethz-asl/ethzasl_sensor_fusion/issues/25.

Luczia commented 10 years ago

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