Package org.hypermedea.ros
ROS binding for Hypermedea. To register it to an instance of Hypermedea, one simply has to include it in the class path of the Hypermedea application.
The ROS binding can perform operations on URIs with the ros+ws scheme
(ROS over WebSocket, as specified in the
rosbridge v2.0
specification).
ROS URIs are standard ros+ws URIs, e.g. ros+ws://example.org/path/to/resource#action_id.
In this example URI:
example.orgis the URI of the rosbridge server, listening over WebSocket,/path/to/resourceis the name of a topic or an action server andaction_idis the ID of some action (if/path/to/resourcerefers to an action server).
Note that from the URI alone, it is not possible to distinguish between plain topics and action servers
(managing several topics such as goal, status and cancel). However, if a URI has
a fragment, it necessary refers to an action and not to a topic.
The mapping to Hypermedea operations is then as follows:
| Hypermedea operation | ROS operation |
|---|---|
| GET |
Subscribe to a topic or, if the URI includes a fragment, to the action server's
status topic (single synchronous notification)
|
| WATCH |
Subscribe to a topic or, if the URI includes a fragment, to the action server's
status topic.
|
| PUT | Publish on topic |
| POST | Publish on action server's goal topic |
| PATCH | Not supported |
| DELETE | Publish on action's server's cancel topic |
See the running example in the /example folder, in which a Jason agent controls a Turtlesim node.
This example also illustrates some of the configuration points of the ROS binding,
as documented in the ROS class.
-
ClassDescriptionVocabulary to declare ROS form fields in Hypermedea operations.Web of Things (WoT) protocol binding for ROS 1, via the rosbridge protocol.Taken from
actionlib_msgs/GoalStatus.