User Tools

Site Tools


doc:lps:lpp

This is an old revision of the document!


Loco Positioning Protocol

The Loco Positioning Protocol (LPP) defines the messages send on the Loco Positioning System UWB radio to configure and use the system. There is two main class of messages: the messages used for ranging and positioning and the messages used for management.

The ranging messages are sent and received directly by the ranging algorithms in the Crazyflie and in the Nodes. The management message are sent by management tools like the Crazyflie client.

Management protocols

LPP Short packets

The LPP short packets are management packet short enough to be sent using a single Crazyflie CRTP packet. This means that the payload part of an LPP packet should be smaller than 28 Bytes. This makes these packet also well suited to be transferred as extra data appended to a ranging packet (this is for example used for the anchor position packet).

LPP Short packet format:

byte value note
0 0xF0 LPP short
1 ID Packet ID
2..17 Payload Format is defined per ID

LPP Short packet IDs:

ID Description
0x01 Anchor position

0x01: Anchor position

Format:

struct lppShortAnchorPosition_t {
  float x;
  float y;
  float z;
} __attribute__((packed)); 

When sent using unicast to an anchor, the anchor will save the (x,y,z) position as its new position.

When appended to a ranging message, the tag uses the (x,y,z) position as the anchor position.

doc/lps/lpp.1487413731.txt.gz · Last modified: 2017-02-18 11:28 by arnaud