Contenuto principale

combine

R2026b

Combine two multiSensorParameters objects

Since R2026b

Description

multiSensorObj = combine(multiSensorObj1,multiSensorObj2) combines two multi-sensor objects using the sensor mounting poses in the coordinate frame of multiSensorObj1. The function merges the sensors from both objects and returns a single multiSensorParameters object.

The two input objects to combine must satisfy one of these conditions:

  • Same reference frame — The objects use the same reference frame, and can share up to one sensor.

  • Different reference frames — The objects use different reference frames, and must share exactly one sensor. The function uses this sensor to transform between the frames.

example

Examples

collapse all

Load a multi-sensor parameters object that stores the mounting poses and intrinsic parameters of six cameras.

multiCamObj = load("multiCamObjPandaSet.mat").multiCamObj
multiCamObj = 
  multiSensorParameters with properties:

    ReferenceFrame: "vehicle"
             Count: 6
           Sensors: [6×6 table]

                                 Name              Type               MountingAngles                       MountingLocation                    Intrinsics           SensorInfo 
                         ____________________    ________    ________________________________    ____________________________________    ______________________    ____________
                
                    1    "back_camera"           "camera"      89.916      0.1733     -88.912    -0.69927     0.0013883        1.6532    {1×1 cameraIntrinsics}    {1×1 struct}
                    2    "front_camera"          "camera"     -91.555     -1.0757     -90.711      0.4035    -0.0016662        1.8104    {1×1 cameraIntrinsics}    {1×1 struct}
                    3    "front_left_camera"     "camera"     -34.072      0.8383     -90.257      1.0874       0.62237         1.535    {1×1 cameraIntrinsics}    {1×1 struct}
                    4    "front_right_camera"    "camera"     -149.62    -0.19227     -89.611      1.0191      -0.62249        1.6058    {1×1 cameraIntrinsics}    {1×1 struct}
                    5    "left_camera"           "camera"    -0.26917     0.46213     -89.028     0.12172       0.54348         1.581    {1×1 cameraIntrinsics}    {1×1 struct}
                    6    "right_camera"          "camera"      179.59    -0.75135     -89.148     0.12018      -0.68784        1.5548    {1×1 cameraIntrinsics}    {1×1 struct}
                
                

Load a multi-sensor parameters object that stores the mounting poses of two lidar sensors and uses the same reference frame.

multiLidarObj = load("multiLidarObjPandaSet.mat").multiLidarObj
multiLidarObj = 
  multiSensorParameters with properties:

    ReferenceFrame: "vehicle"
             Count: 2
           Sensors: [2×6 table]

                              Name           Type             MountingAngles                   MountingLocation             Intrinsics      SensorInfo 
                         _______________    _______    _____________________________    _______________________________    ____________    ____________
                
                    1    "front_gt"         "lidar"    -87.536    0.20817     1.3051    0.95814    0.024137      2.1652    {0×0 double}    {1×1 struct}
                    2    "main_pandar64"    "lidar"         90          0          0       0.36           0        1.85    {0×0 double}    {1×1 struct}
                
                

Combine the two objects in the common reference frame.

multiSensorObj = combine(multiCamObj,multiLidarObj)
multiSensorObj = 
  multiSensorParameters with properties:

    ReferenceFrame: "vehicle"
             Count: 8
           Sensors: [8×6 table]

                                 Name              Type               MountingAngles                       MountingLocation                    Intrinsics           SensorInfo 
                         ____________________    ________    ________________________________    ____________________________________    ______________________    ____________
                
                    1    "back_camera"           "camera"      89.916      0.1733     -88.912    -0.69927     0.0013883        1.6532    {1×1 cameraIntrinsics}    {1×1 struct}
                    2    "front_camera"          "camera"     -91.555     -1.0757     -90.711      0.4035    -0.0016662        1.8104    {1×1 cameraIntrinsics}    {1×1 struct}
                    3    "front_left_camera"     "camera"     -34.072      0.8383     -90.257      1.0874       0.62237         1.535    {1×1 cameraIntrinsics}    {1×1 struct}
                    4    "front_right_camera"    "camera"     -149.62    -0.19227     -89.611      1.0191      -0.62249        1.6058    {1×1 cameraIntrinsics}    {1×1 struct}
                    5    "left_camera"           "camera"    -0.26917     0.46213     -89.028     0.12172       0.54348         1.581    {1×1 cameraIntrinsics}    {1×1 struct}
                    6    "right_camera"          "camera"      179.59    -0.75135     -89.148     0.12018      -0.68784        1.5548    {1×1 cameraIntrinsics}    {1×1 struct}
                    7    "front_gt"              "lidar"      -87.536     0.20817      1.3051     0.95814      0.024137        2.1652    {0×0 double          }    {1×1 struct}
                    8    "main_pandar64"         "lidar"           90           0           0        0.36             0          1.85    {0×0 double          }    {1×1 struct}
                
                

Input Arguments

collapse all

Multi-sensor parameters object, specified as a multiSensorParameters object

Multi-sensor parameters object to add, specified as a multiSensorParameters object

Output Arguments

collapse all

Updated multi-sensor parameters object, returned as a multiSensorParameters.

Version History

Introduced in R2026b