You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 );
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.
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
:This issue was reported before here.
The text was updated successfully, but these errors were encountered: