Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Purpose

The following document details the generic sensor interface to RapidSense (RS), Realtime Robotics' (RTR) perception product, extending RTR’s motion planning into unstructured environments.

Assumptions

It is assumed that the user has calibrated their sensors against the RapidPlanCreate (RPC) project’s world origin. If there are deviations from a real cell’s construction and the RPC project, then unexpected behavior could result in use of RapidPlan. Specifically, slow motion or sporadic stopping due to flickering voxels in the project. It is recommended the user ensure the project and the real cell are well aligned.

Connection

Users can create a TCP/IP connection to RS by creating a client connection to the hostname of the machine RS is running on port 8999. Initially upon connection, a sensor must send over a TCP/IP packet with some metadata describing the sensor. Currently, the sensor needs to only send over a serial number (as a string) identifying the sensor. Each generic sensor must provide a unique serial number.

...

Connection / Configuration Message Format

Messages contain headers with metadata, followed by payload. RS supports ASCII and binary messages. The following is an example message, broken into it’s header and payload sections.

Data Payload Message Format

Every payload message is preceded by a 4-byte unsigned integer indicating the number of bytes following (i.e., the PLY ASCII message size).

All headers begin with an ASCII plyindicating the message is a PLY message. This is following by a line indicating whether the payload format is ASCII (ascii) or binary (binary_little_endian or binary_big_endian). NOTE: The header shall always be in ASCII format, otherwise, the decoding of the message shall fail. The version number after the format is ignored currently. Any comments are preceded with the label comment . The number of points or elements are specified next. Each vertex corresponds to a point.

Code Block
ply
format ascii 1.0
comment RapidSense is so cool!
element vertex 4   <-------- this indicates the number of points after 'end_header' below
property float x
property float y
property float z
end_header
1.23 4.56 7.89 <---- it is expected that 4 points will follow since `element vertex` was 4
2.34 5.67 8.91
3.45 6.78 9.10
4.56 7.89 1.01

Launch RapidSense with Generic Vision Interface

Refer to Configuration for RapidSense.