ZMQ Message Format Message Types ●

● ●

Command Messages ○ Drive Command ○ Camera Command Video Messages Sensor Messages

Command Messages A ZMQ Command Message consists of 2 Frames: ● Robot ID ● Data The Robot ID always has to be the first Frame. It is used as a Subscribe­Filter to determine from which Robot the message was sent or for which Robot the message is intended. The Data Frame is the frame in which the actual message data is stored. The data depends on the message type. The data of a Command Message is sent as a JSON String. Every Command Message has a header field and a data field. The format of the header is the same for every command message and consists of the following subfields: ● Header ID. The header ID defines the type of the command message. Type: int Valid Values: ■ 171 (Drive Command) ■ 172 (Camera Command) ● TID. The Transaction ID (or message nr). It is incremented for every sent message and counts over all command messages. Type: int ● Timestamp. The current system time in milliseconds since January 1, 1970 00:00:00 UTC Type: long ● Robot ID. The Robot ID used to identify the robot. It is the same ID as used in the first frame of the ZMQ Message. Type: String ● Version. The JSON Protocol Version used to create the command. The Version will be

adjusted every time the JSON format is changed and will be used to correctly decode a JSON String. Type: String Example: "header" : { "timestamp" : 1363353888309, "id" : 171, "robot" : "Romo", "tid" : 0, "version" : "0.1" }

Drive Command A Drive Command is used to drive the robot around. The data field consists of the following subfields: ● Speed. Defines the speed in % with which the robot should drive Type: double Valid Values: 0 ­ 100 [%], Exception: a value of ­1 will let the robot choose it's own default speed. ● Radius. The radius in mm of the turn which should be executed Type: double Valid Values: 1 ­ 1000 [mm], Exception: a value of 0 will let the robot drive straight ● Move. The type of move which should be executed. Type: String Valid Values: ■ FORWARD A forward move. ■ STRAIGHT_FORWARD A forward move, parameter radius will be ignored. ■ BACKWARD A Backward move ■ STRAIGHT_BACKWARD A backward move, parameter radius will be ignored ■ ROTATE_LEFT Rotate left / counter clockwise ■ ROTATE_RIGHT Rotate right / clockwise ■ NONE Stop the current move.

Example: "data" : { "speed" : ­1, "angle" : 0, "move" : "STRAIGHT_FORWARD" }

Camera Command A Camera Command is used to control the robot's / smartphone's camera. It's data field consists of one subfield: ● Type. Defines the type of the command Type: String Valid Values: ■ TOGGLE Toggles between the available cameras ■ ON Turns the camera on ■ OFF Turns the camera off Example: "data" : { "type" : "TOGGLE" }

Video Message Video is streamed frame by frame a series of JPEG images. The Camera image is compressed to JPEG. A Video Message holds exactly one Video Frame. A ZMQ Video Message consists of 3 Frames: ● Robot ID ● Header ● Data The Robot ID always has to be the first Frame. It is used as a Subscribe­Filter to determine from which Robot the message was sent or for which Robot the message is intended. The Header Frame stores a JSON String and consists of the following fields: ● Header ID. The header ID defines the type of the command message. Type: int Valid Values:











■ 181 (Raw Video) TID. The Transaction ID (or message nr). It is incremented for every sent message and counts over all video messages. Type: int Timestamp. The current system time in milliseconds since January 1, 1970 00:00:00 UTC Type: long Robot ID. The Robot ID used to identify the robot. It is the same ID as used in the first frame of the ZMQ Message. Type: String Rotation. Camera Images on an android smartphone are oriented in landscape mode. We assume however that the smartphone is used in portrait mode. So in order to display the Video Frame correctly on the screen, the Video has to be rotated by the given value. Type: Integer Valid Values: ­360 ­ 360 [°] Version. The JSON Protocol Version used to create the command. The Version will be adjusted every time the JSON format is changed and will be used to correctly decode a JSON String. Type: String

Example: "header" : { "timestamp" : 1363353888309, "id" : 171, "robot" : "Romo", "tid" : 0, "rotation" : 0, "version" : "0.1" } The Data Frame is the frame in which the actual video frame is stored as an rgb byte array. Every Command Message has a header field and a data field. The format of the header is the same for every command message and consists of the following subfields:

Sensor Message The data frame of a Sensor Message is sent as a JSON String which consists of a header and a data field, similar to the Command Messages. The header field looks the same as the header of the Command Messages. As Header ID, the following Values are valid: ● 191 (Sensor Message)

The Data field is of the type JSON list, where each element has the following structure: ● Sensor Name. The name of the sensor. Has to be unique. Type: String ● Sensor Type. The datatype of the sensor value Type: String Valid Values: "String", "Integer", "Double" ● Sensor Value. The value of the given sensor Type: defined by the field Sensor Type

Command and Sensor Message: ROBOT ID

DATA

ROBOT ID Header

Data Drive Command

HEADER ID

MOVE

TRANSACTION ID

SPEED

TIMESTAMP

RADIUS

ROBOT ID VERSION

Camera Command TYPE Sensor Message NAME

NAME

NAME

...

TYPE

TYPE

TYPE

...

VALUE

VALUE

VALUE

...

Video Message: ROBOT ID

HEADER

ROBOT ID

DATA JPEG RGB Array

HEADER ID TRANSACTION ID TIMESTAMP ROBOT ID ROTATION VERSION

ZMQ Message Format - GitHub

Camera Images on an android smartphone are oriented in landscape mode. We assume however that the smartphone is used in portrait mode. So in order to ...

110KB Sizes 26 Downloads 361 Views

Recommend Documents

ZMQ Message Format - PDFKUL.COM
Video Messages. ○ Sensor Messages. Command Messages. A ZMQ Command Message consists of 2 Frames: ○ Robot ID. ○ Data. The Robot ID always has to be the first Frame. It is used as a SubscribeFilter to determine from which Robot the message was sent or

Keycode Format 1.0 Abstract 1 Format - GitHub
1.7 The free tag bit. In the specification thus far, the most significant bit ... plays a role in meeting constraint (C). Though the specialized encoding defined in X.

A Message for all Humanity [1] - GitHub
In this world there is room for everyone. And the good earth is rich ... to work, that will give youth the future and old age a security. By the promise of these things ...

Format Specification of MT103 SWIFT Message for STP.pdf ...
Page 2 of 15. 2. Format Specification of MT103 SWIFT Message for STP. Sr. No. Contents. 1 Purpose of this document. 2 Intended audience. 3 Introduction and Scope. 4 Block 1, Basic Header. 5 Block 2, Application Header Input. 6 Block 3, User Header. 7

Format Specification of MT103 SWIFT Message for STP.pdf ...
Format Specification of MT103 SWIFT Message for STP.pdf. Format Specification of MT103 SWIFT Message for STP.pdf. Open. Extract. Open with. Sign In.

MESSAGE
your labor from long years of acquiring basic knowledge and skills from your dear Alma Mater. Let me be with you' giving ... ardor and diligence. Don't be scared.

Towards a Data Interchange Format for XAS and Related ... - GitHub
Mar 15, 2009 - We write web-based and desktop applications (for instance, a standards database) that traffic in single spectra. We write data analysis software ...

The Quick Chart (.QCT) File Format Specification - GitHub
Feb 13, 2011 - ALL BRANDS AND PRODUCT NAMES MAY BE TRADEMARKS OR REGISTERED TRADEMARKS OF ..... painstakingly viewing and attempting to interpret the content of freely available .... Partial URL to QC3 map file ..... In order to find the start of the

The Quick Chart File Format Specification 1.02.pdf - GitHub
Jul 12, 2009 - OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-. INFRINGING. .... The Quick Chart File Format Specification V1.02. 3 ..... Example sub-palette mapping;. Palette.

The Quick Chart (.QCT) File Format Specification - GitHub
Nov 1, 2008 - COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL .... The information contained within this document was NOT obtained by means.

The Quick Chart File Format Specification 1.01.pdf - GitHub
Page 1. The Quick Chart (.QCT). File Format Specification. Revision 1.01. 07 MAR 2009. Craig Shelley [email protected]. Disclaimer. THIS DOCUMENT ...

Message Mate
God's grace filled the church and became a bridge of respect and trust ... of what writer Howard Snyder calls kingdom people rather than church people.

Message Mate
The word channels refers to canals or irrigation ditches that run in various ... We can stretch to its breaking point this tension between divine sovereignty and ...

Message Mate
the family of God . . . yet how rare! ... GROWING UP IN GOD'S FAMILY ... copyright © 1985 and Message Mate copyright © 2016 by Charles R. Swindoll, Inc.

Message Mate
Original outline copyright © 1985 and Message Mate copyright © 2016 by Charles .... TEXT: Martin Luther (1483–1546); translated (1852) by Frederick H. Hedge ...

Message Mate
Duplication of copyrighted material for commercial use is strictly prohibited. Committed to Excellence in Communicating Biblical Truth and Its Application. MM07.

Message Mate
Spiritually: Tender — hungry, ready to believe, quick to respond, creative. 2. The Difficult Part: Childishness (Isaiah 30:1 – 2, 8 – 9). We must curb and control ...

Message Mate
After arriving in Jerusalem, Nehemiah's first order of business was to seek silence and ... line the reputation of the promise-keeping God of Israel. Nehemiah had a ... For these and related resources, visit www.insightworld.org/store or call USA ...

message - Calabarzon
Page 1 ... Website: depedcalabarzon.ph Facebook: DepEd Calabarzon. M E S S A G E. The school year is once ... in building a productive society. We salute the ...

Message Mate
leadership or the skills and experiences we bring to the table, we can learn ... of excellent leadership must be placed on a foundation of God's Word and ... service, Nehemiah received devastating news concerning Jerusalem's broken walls ...

Message Mate
Duplication of copyrighted material for commercial use is strictly prohibited. Committed to Excellence in Communicating Biblical Truth and Its Application. MM09.

Google Message Security
This “network effect” automatically identifies and tracks internet protocol (IP) addresses that are issuing attacks such as spam, viruses, denial of service (DoS), etc. As soon as a threat is identified, it is blocked for all Google Message Secur

Google Message Security
Google Docs & Spreadsheets (online document hosting and collaboration),. Google Page Creator (web page creation and publishing), Start Page. (a single ...