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

jumping interactive marker #959

Closed
rhaschke opened this issue Jan 4, 2016 · 1 comment
Closed

jumping interactive marker #959

rhaschke opened this issue Jan 4, 2016 · 1 comment

Comments

@rhaschke
Copy link
Contributor

rhaschke commented Jan 4, 2016

Using a MOVE_ROTATE_3D control for an interactive marker and defining the marker relative to a non-root frame and defining it frame-locked, will make the marker jump (by the inverse transform from root frame to ref frame) as soon as the this control is used. Other controls defined for the same interactive marker, behave correctly.

The behavior can be reproduced with the following changes to interactive_marker_tutorials/src/simple_marker.cpp:

diff --git a/interactive_marker_tutorials/src/simple_marker.cpp b/interactive_marker_tutorials/src/simple_marker.cpp
index bc7c758..172aec6 100644
--- a/interactive_marker_tutorials/src/simple_marker.cpp
+++ b/interactive_marker_tutorials/src/simple_marker.cpp
@@ -50,8 +50,8 @@ int main(int argc, char** argv)

   // create an interactive marker for our server
   visualization_msgs::InteractiveMarker int_marker;
-  int_marker.header.frame_id = "base_link";
-  int_marker.header.stamp=ros::Time::now();
+  int_marker.header.frame_id = "tool0";
+// make it frame-locked! int_marker.header.stamp=ros::Time::now();
   int_marker.name = "my_marker";
   int_marker.description = "Simple 1-DOF Control";

@@ -70,6 +70,7 @@ int main(int argc, char** argv)
   visualization_msgs::InteractiveMarkerControl box_control;
   box_control.always_visible = true;
   box_control.markers.push_back( box_marker );
+  box_control.interaction_mode = visualization_msgs::InteractiveMarkerControl::MOVE_ROTATE_3D;

   // add the control to the interactive marker
   int_marker.controls.push_back( box_control );

This issue was reported before here.

@rhaschke
Copy link
Contributor Author

rhaschke commented Jan 5, 2016

Even more easily, the error can be reproduced with the standard basic_controls example,
simply defining the reference frame base_link as a non-root frame in rviz.

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

1 participant