Trajectory File
This page describes the format of trajectory files, used to define the position and orientations of a Speos Light Box, a LiDAR sensor, or a Camera sensor in time.
Description
Positions and orientations are expressed with the respect to a reference coordinate system, so the trajectory is relative to this coordinate system.
For instance, the same trajectory file can be used to describe a translation movement of a car as well as the LiDAR sensor placed on it.
Trajectory is described in a *.json file that contains each chronological sample:
Format Description |
Example |
---|---|
|
|
Script Example
Trajectory file can be easily accessed (read or write) using dedicated scripting interfaces available in IronPython and Python.
Note: Make sure to use the 3.10.12 version of IronPython or Python language to write your
scripts.
IronPython Example
import sys
import clr
sys.path += [R"C:\Program Files\ANSYS Inc\v2XX\Optical Products\SPEOS\Bin"]
clr.AddReferenceToFile("Optis.Core_net.dll")
clr.AddReferenceToFile("Optis.Data_net.dll")
# References to Optis.Core and Optis.Data
import Optis.Core as OptisCore
import Optis.Data as OptisData
try:
firstData = OptisCore.DAxisSystemData()
firstData.Time = 0.0
firstData.Origin.Init(0, 0, 0)
firstData.Direction_X.Init(1, 0, 0)
firstData.Direction_Y.Init(0, 1, 0)
lastData = OptisCore.DAxisSystemData()
lastData.Time = 7.0
lastData.Origin.Init(0, 0, 3000)
lastData.Direction_X.Init(1, 0, 0)
lastData.Direction_Y.Init(0, 1, 0)
dmTrajectory = OptisCore.DAxisSystemTrajectory()
dmTrajectory.Trajectory.Resize(2)
dmTrajectory.Trajectory.Set(0, firstData)
dmTrajectory.Trajectory.Set(1, lastData)
strPathTrajectoryFile = OptisCore.String.From(R"C:\trajectory.json")
pathTrajectoryFile = OptisCore.Path(strPathTrajectoryFile)
cAxisSystemTrajectoryWriter = OptisData.CAxisSystemTrajectoryWriter()
cAxisSystemTrajectoryWriter.Open(pathTrajectoryFile)
cAxisSystemTrajectoryWriter.Write(dmTrajectory)
cAxisSystemTrajectoryReader = OptisData.CAxisSystemTrajectoryReader()
cAxisSystemTrajectoryReader.Open(pathTrajectoryFile)
dmTrajectory = cAxisSystemTrajectoryReader.Read()
cAxisSystemTrajectoryReader.Close()
print "Done"
except:
print "Exception raised"
Python Example
import sys
sys.path += [R" C:\Program Files\ANSYS Inc\v2XX\Optical Products\SPEOS\Bin"]
# References to Optis.Core and Optis.Data
import IllumineCore_pywrap as OptisCore
import IllumineData_pywrap as OptisData
try:
firstData = OptisCore.DAxisSystemData()
firstData.Time = 0.0
firstData.Origin.Init(0, 0, 0)
firstData.Direction_X.Init(1, 0, 0)
firstData.Direction_Y.Init(0, 1, 0)
lastData = OptisCore.DAxisSystemData()
lastData.Time = 7.0
lastData.Origin.Init(0, 0, 3000)
lastData.Direction_X.Init(1, 0, 0)
lastData.Direction_Y.Init(0, 1, 0)
dmTrajectory = OptisCore.DAxisSystemTrajectory()
dmTrajectory.Trajectory.Resize(2)
dmTrajectory.Trajectory.Set(0, firstData)
dmTrajectory.Trajectory.Set(1, lastData)
strPathTrajectoryFile = OptisCore.String(R"C:\trajectory.json")
pathTrajectoryFile = OptisCore.Path(strPathTrajectoryFile)
cAxisSystemTrajectoryWriter = OptisData.CAxisSystemTrajectoryWriter()
cAxisSystemTrajectoryWriter.Open(pathTrajectoryFile)
cAxisSystemTrajectoryWriter.Write(dmTrajectory)
cAxisSystemTrajectoryWriter.Close()
print("Done")
except:
print("Exception raised")