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 - 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 for which Robot the message is intended. The Data ...

110KB Sizes 2 Downloads 268 Views

Recommend Documents

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 ...

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.

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.

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.

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 ...

Google Message Security
(instant messaging and voice over IP),. Google Docs & Spreadsheets (online document hosting and collaboration),. Google Page Creator (web page creation ...

message
hiding in a digital medium such as image, video, or audio mainlyfor recovery. Taking use of spread ... Keywords- Watermarking; Data hiding; Image processing; Spread. MWldth is the ... Downloaded on July 14, 2009 at 00:00 from IEEE Xplore.

Google Message Consolidation
Are you prepared to search historical data in the event of a lawsuit or regulatory inquiry and ... Google Message Consolidation consolidates historical customer data from a wide variety of media into .... security functionality provides customers wit

Google Message Filtering - PDFKUL.COM
ABOUT GOOGLE APPS. Google Apps is a suite of applications that includes Gmail, Google Calendar. (shared calendaring), Google Talk. (instant messaging and voice over IP),. Google Docs & Spreadsheets (online document hosting and collaboration),. Google

Google Message Encryption
Google Message Encryption service, powered by Postini, provides on-demand message encryption for your organization to securely communicate with business partners and customers according to security policy or on an “as needed” basis. Without the c

Google Message Security
Google Message Security is delivered in a Software-as-a-Service (SaaS) model, saving money and IT resources because there is no hardware or software to install ... Google Docs & Spreadsheets (online document hosting and collaboration),. Google Page C

message
Allow me to share with your happiness and excitement asyou Move Up from Junior ... your own HOPE.. make your own DREAMS... and whatever your beliefs is, ...