Only released in EOL distros:
Provides a node for displaying polygon or circle projected interfaces.
- Author: Daniel Lazewatsky
- License: BSD
- Source: git https://github.com/OSUrobotics/ros-3d-interaction.git (branch: groovy-devel)
The easiest way to run the interface is alongside the projector calibration node. This can be done with
roslaunch projector_interface calibrate_and_circle.launch
This will start both the calibration node and interface node. The interface node will wait to display anything until a homography is available on the /homography parameter. After calibration, the calibration node will exit.
At this point the interface node is ready to display the cursor, object circles, and any polygons sent to it using the projector_interface/DrawPolygon service.
object_circlerResponsible for drawing the interface and dispatching click notifications if any objects in the interface have been clicked
Subscribed Topicsobject_cloud (sensor_msgs/PointCloud2)
- A point cloud containing the centers of detected objects to be circled
- Indicates that a click has been received
- A point cloud containing point intersections. These points are used to determine which object (if any) is being selected. This enables using multiple world models for object selection. If multiple models are not being used, this should be the same as intersected_points_cursor.
- A point cloud containing point intersections used to determine the current cursor location in the interface.
- The camera calibration for the camera whose camera-projector homography is being used.
Published Topicsselected_point (geometry_msgs/PointStamped)
- After a click, this is the point that was clicked on.
- Published each time the interface is finished redrawing
- Published the cursor history every time a click is received.
- The object id for the object that was just clicked
- Tells the interface to hilight a specific object
- Clears all hilights
- Requests the current cursor history
- Enables changing the selection method for selecting circled objects.
- Adds a polygon for the interface to draw
- Clears all polygons
- The camear-projector homography
- Sets the top right of the display to be (0,0) rather than bottom left. Defaults to false.
- Sets how much cursor history to use. Defaults to 10.
- Sets whether or not to draw circles around detected objects (from object_cloud)
point_to_clickTakes a button press from a joystick and publishes a click. After a button press has been detected, won't publish another click for 1 second.
Subscribed Topicsjoy (sensor_msgs/Joy)
- The joystick topic
Published Topicsclick (std_msgs/Empty)
- Topic where clicks should be published.
find_objectsCalls the tabletop object detector and publishes a cloud of detected object centers.
Published Topicsobject_cloud (sensor_msgs/PointCloud2)
- Object center cloud topic
- Table information
- How frequently to call the detector. Defaults to once every 2 seconds (0.5).
manipulatorGoes between object_circler and PR2's object manipulation capabilities.
Subscribed Topicsclick (std_msgs/Empty)
- Receives clicks when objects are clicked on
- Intersected points when there was a click
Published Topicsplace_pose (geometry_msgs/PoseStamped)
- Publishes a pose where the object should be placed