pixhawk.proto 3.54 KB
Newer Older
1 2
package px;

3 4
message HeaderInfo
{
5 6 7 8 9
    required int32 source_sysid = 1;
    required int32 source_compid = 2;
    required double timestamp = 3; // in seconds
}

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
message GLOverlay
{
    required HeaderInfo header = 1;

    optional string name = 2;
    
    enum CoordinateFrameType
    {
        GLOBAL = 0;
        LOCAL = 1;
    }
    optional CoordinateFrameType coordinateFrameType = 3;

    optional double origin_x = 4;
    optional double origin_y = 5;
    optional double origin_z = 6;
    
    optional bytes data = 7;

    enum Mode
    {
        POINTS = 0;
        LINES = 1;
        LINE_STRIP = 2;
        LINE_LOOP = 3;
        TRIANGLES = 4;
        TRIANGLE_STRIP = 5;
        TRIANGLE_FAN = 6;
        QUADS = 7;
        QUAD_STRIP = 8;
        POLYGON = 9;
        SOLID_CIRCLE = 10;
        WIRE_CIRCLE = 11;
        SOLID_CUBE = 12;
        WIRE_CUBE = 13;
    }

    enum Identifier
    {
        END = 14;
        VERTEX2F = 15;
        VERTEX3F = 16;
        ROTATEF = 17;
        TRANSLATEF = 18;
        SCALEF = 19;
        PUSH_MATRIX = 20;
        POP_MATRIX = 21;
        COLOR3F = 22;
        COLOR4F = 23;
        POINTSIZE = 24;
        LINEWIDTH = 25;
    }
}

message Obstacle
{
    optional float x = 1;
    optional float y = 2;
    optional float z = 3;
    optional float length = 4;
    optional float width = 5;
    optional float height = 6;
}

message ObstacleList
{
    required HeaderInfo header = 1;

    repeated Obstacle obstacles = 2;
}

message ObstacleMap
{
    required HeaderInfo header = 1;

    required int32 type = 2;

    optional float resolution = 3;
    optional int32 rows = 4;
    optional int32 cols = 5;
    optional int32 mapR0 = 6;
    optional int32 mapC0 = 7;
    optional int32 arrayR0 = 8;
    optional int32 arrayC0 = 9;
    
    optional bytes data = 10;
}

message Path
{
    required HeaderInfo header = 1;

    repeated Waypoint waypoints = 2;
}

105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
message PointCloudXYZI {
    message PointXYZI {
        required float x = 1;
        required float y = 2;
        required float z = 3;
        required float intensity = 4;
    }

    required HeaderInfo header = 1;
    repeated PointXYZI points = 2;
}

message PointCloudXYZRGB {
    message PointXYZRGB {
        required float x = 1;
        required float y = 2;
        required float z = 3;
        required float rgb = 4;
    }

    required HeaderInfo header = 1;
    repeated PointXYZRGB points = 2;
}

message RGBDImage
{
    required HeaderInfo header = 1;

133 134 135 136
    required uint32 cols = 2;        ///< Number of columns in image(s)
    required uint32 rows = 3;        ///< Number of rows in image(s)
    required uint32 step1 = 4;        ///< Step (stride) of image 1
    required uint32 type1 = 5;        ///< Type of image 1
137
    required bytes imageData1 = 6;
138 139
    required uint32 step2 = 7;        ///< Step (stride) of image 2
    required uint32 type2 = 8;        ///< Type of image 2
140
    required bytes imageData2 = 9;
141 142
    optional uint32 camera_config = 10;    ///< PxSHM::Camera enumeration
    optional uint32 camera_type = 11;    ///< PxSHM::CameraType enumeration
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
    optional float roll = 12;
    optional float pitch = 13;
    optional float yaw = 14;
    optional float lon = 15;
    optional float lat = 16;
    optional float alt = 17;
    optional float ground_x = 18;
    optional float ground_y = 19;
    optional float ground_z = 20;
    repeated float camera_matrix = 21;
}

message Waypoint
{
    required double x = 1;
    required double y = 2;
    optional double z = 3;
    optional double roll = 4;
    optional double pitch = 5;
    optional double yaw = 6;
}