interaction_cursor_msgs

Summary

interaction_cursor_msgs
Version:

0.0.3

Description:

A message API for implementing a 6-DOF interaction cursor. A minimal implementation has one node that handles the user device I/O and another node (e.g. a plugin in Rviz) that uses the messages to interact with a marker.

Maintainers:
  • Adam Leeper <adamleeper AT gmail DOT com>
Licenses:
  • BSD
Urls:
Authors:
  • Adam Leeper <adamleeper AT gmail DOT com>
BuildDepends:
BuildtoolDepends:
 
BuildExportDepends:
 
ExecDepends:

Types

Message types

interaction_cursor_msgs/InteractionCursorUpdate
Field:
Constant:
  • NONE (uint8):0
  • KEEP_ALIVE (uint8):1
  • GRAB (uint8):2
  • RELEASE (uint8):3
  • QUERY_MENU (uint8):4
  • KEY_UP (uint8):1
  • KEY_DOWN (uint8):2
  • KEY_LEFT (uint8):3
  • KEY_RIGHT (uint8):4
  • KEY_ENTER (uint8):5
  • KEY_ESCAPE (uint8):6

REQUIRED: Pose for cursor

# REQUIRED: Pose for cursor
geometry_msgs/PoseStamped pose

# OPTIONAL: One or more markers to draw for the cursor
#           (if empty, just draws a sphere)
# On creation, marker poses can be specified in any frame, but they will be
# transformed and thereafter "rigidly attached" to the cursor frame.
visualization_msgs/Marker[] markers

# REQUIRED  
uint8 button_state
uint8 NONE        = 0 # No buttons are pressed.
uint8 KEEP_ALIVE  = 1 # Sent while dragging to keep up control of the marker.
uint8 GRAB        = 2 # Start dragging a marker (e.g. a "mouse_down" event).
uint8 RELEASE     = 3 # Stop dragging a marker (e.g. a "mouse_up" event)
uint8 QUERY_MENU  = 4 # Request menu options (e.g. a "right-click).

# REQUIRED  
uint8 key_event
# default 0 is "NONE", already defined above
uint8 KEY_UP      = 1
uint8 KEY_DOWN    = 2
uint8 KEY_LEFT    = 3
uint8 KEY_RIGHT   = 4
uint8 KEY_ENTER   = 5
uint8 KEY_ESCAPE  = 6
interaction_cursor_msgs/InteractionCursorFeedback
Field:
Constant:
  • NONE (uint8):0
  • POSITION (uint8):1
  • ORIENTATION (uint8):2
  • POSITION_AND_ORIENTATION (uint8):3
  • GRABBED (uint8):1
  • KEEP_ALIVE (uint8):2
  • RELEASED (uint8):3
  • LOST_GRASP (uint8):4

When the cursor attaches to an interactive_marker, this feedback message contains the frame_id of the TF frame that the marker is used to “control”, if any. The pose records the pose of the cursor relative to that frame at time of grasp.

# When the cursor attaches to an interactive_marker, this feedback 
# message contains the frame_id of the TF frame that the marker 
# is used to "control", if any. The pose records the pose of the 
# cursor relative to that frame at time of grasp.
geometry_msgs/PoseStamped pose

# Default for both event_type and attachment_type
uint8 NONE = 0

# Attachment types define what kind of virtual spring coupling there 
# is between the device and the grabbed object frame.
uint8 POSITION = 1
uint8 ORIENTATION = 2
uint8 POSITION_AND_ORIENTATION = 3
uint8 attachment_type

# KEEP_ALIVE: should probably be sent regularly by Rviz, otherwise
# the interaction app should assume that it has lost control of the marker.
uint8 GRABBED = 1
uint8 KEEP_ALIVE = 2
uint8 RELEASED = 3
uint8 LOST_GRASP = 4

uint8 event_type