How to effectively reinitialize odometry manually (ZED Camera)?

asked 2017-07-13 14:26:54 -0500

Ryan_F gravatar image

updated 2017-07-13 14:36:20 -0500

I'm currently using the Stereolabs ZED camera to orient my robot ( http://wiki.ros.org/zed-ros-wrapper ). Since the camera faces directly in front of the robot i can use the orientation is the /odom messages to tell my robot which way its facing. For now i'd like to use this approach to tell my robot when it should stop turning and perhaps i'll look into using some PID algorithms later.

The problem is that the ZED camera knows it's orientation using a reference point that it zero's as soon as the zed_wrapper node is launched, and i'd really like it to re-zero itself each time the robot finishes a set of directions (which are being passed to it via a mobile app in vectorized form). I've seen others using kobuki_node package resetting the odometry because there is a built in topic for that ( http://wiki.ros.org/kobuki_node?distr... ), however i don't think the ZED has that type of support built in--so i'm looking for a way to do that manually.

Setting up a publisher that simply publishes "0" to the /odom topic probably wouldn't do any good because the topic would still be getting info from the camera itself and just publishing info to the topic doesn't mean im resetting the camera.

Does anyone have any suggestions for me? If i physically reset the zed_wrapper node i suppose that would work, is there a way to re-set a node in python? Or, ideally, can i use ROS to reset the camera through the node already built (perhaps this is hardware specific) so i don't have to reset the node?

Thanks!

edit retag flag offensive close merge delete