IOC Robotic's Lab

phantom_omni_manager

The node allows the locking/unlocking of the Omni haptic at the current position when pressing the two buttons simultaneously.

This node has to be loaded together with the phantom_omni ROS node.

Installation

TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO

Usage

When the phantom_omni node is loaded the haptic with the phantom_omni_manager node it is locked by default. To start moving freely the haptic first free it from the inkwell and move it close to the origion position while still locked. Unlock it and move it.

Topics and services

Publishers

 /poseMasterOutput
  Current pose of the omni when the omni is unlocked and moving freely. When locked it doesn't publish.
  External nodes must read from this topic.
  Type: geometry_msgs::PoseStamped

 /set_lock_pose
  Position where to lock the Omni. This topic connects to the phantom_omni node "set_lock_pose" topic.
  Type: geometry_msgs::Vector3

Subscribers

 /poseMasterInput
  Current pose of the omni. This topic connects to the phantom_omni node "pose" topic.
  Type: geometry_msgs::PoseStamped

 /omni_locked
  Current lock/unlock state of the Omni. This topic connects to the phantom_omni node "lock" topic.
  Type: std_msgs::Bool

Roslaunch example

<node ns="omni" name="phantom_omni_manager" pkg="phantom_omni_manager" type="phantom_omni_manager">
  <remap from="poseMasterInput" to="pose"/>
  <remap from="poseMasterOutput" to="poseStampedMasterWorkspace"/>
  <remap from="omni_locked" to="lock"/>
</node>

<node ns="omni" name="phantom_omni" pkg="phantom_omni" type="omni"/>