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

IMU error on shutdown #1

Closed
ahendrix opened this issue Jul 23, 2013 · 6 comments
Closed

IMU error on shutdown #1

ahendrix opened this issue Jul 23, 2013 · 6 comments

Comments

@ahendrix
Copy link

I usually see the following error when stopping ROS on the PR2. I believe it's a shutdown problem in the imu driver.

[ WARN] [1374611959.939988898]: Exception thrown while trying to get the IMU reading. This sometimes happens due to a communication glitch, or if another process is trying to access the IMU port. You may try 'lsof|grep /etc/ros/sensors/imu' to see if other processes have the port open. poll failed  [Interrupted system call] (in microstrain_3dmgx2_imu::IMU:read_with_timeout)
@chadrockey
Copy link
Member

Does something not respect ros::isShuttingDown()?

This already has an attempted fix:
https://github.com/ros-drivers/microstrain_3dmgx2_imu/blob/hydro-devel/src/imu_node.cc#L345

@chadrockey
Copy link
Member

Happens on roslaunch, but not rosrun. I suspect that ros::isShuttingDown() doesn't listen to XML RPC shutdown requests.

@chadrockey
Copy link
Member

@ahendrix Has the imu started streaming data when you see this? I think it's an issue with shutting down before we've finished initializing and calibrating.

@ahendrix
Copy link
Author

Yes; the IMU has finished calibrating and is streaming data when I see this.

$ rostopic echo is_calibrated 
data: True
$ rostopic hz data 
subscribed to [/data]
average rate: 99.987
    min: 0.010s max: 0.010s std dev: 0.00006s window: 100
average rate: 99.998
    min: 0.010s max: 0.010s std dev: 0.00006s window: 200
average rate: 100.001
    min: 0.010s max: 0.010s std dev: 0.00007s window: 300

@chadrockey
Copy link
Member

Found the issue, not waiting for long enough to check isShuttingDown(), updated to be 0.10s. Make another issue if this is too large of a wait for a communication error during operation.

Also fixed a similar issue with shutting down during calibration.

9943ea1

And released:
ros/rosdistro#1522

@ahendrix
Copy link
Author

Confirmed; this is no longer happening after the upgrade to 1.5.10.

Thanks Chad!

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