Private
Public Access
11
1
4
Running Orocos
watts edited this page 2026-03-16 16:58:58 +01:00

Connecting

If Orocos has been installed in a shellbox, then you can connect to it with:

# to connect to orocos 
telnet localhost 50001
# ^x to kill and restart
# ^d to simply close the telnet connection

Otherwise, Orocos can be started with:

cd ~/work/stxm-test/PixelatorRealtime/startup/PolLux

ulimit -c unlimited

sudo ./startOrocosRT

Once started, you should see a bunch of output scrolling past quickly, firstly loading components, then constructing various devices, including a number of PID loops. Next will be some messages about Connected Port X to Y, then various devices being "configured" or "started". Finally, it will say that it is "Entering Task Deployer" and present a prompt:

Deployer [S]>

PID Parameters

The standard configuration will typically have the following PID loops implemented:

  • PID0 for the X-axis
  • PID1 for the Y-axis
  • PID2 for the Z-axis

If you type in the command "PID0", then the Deployer will print the interface of the PID0 object. Available commands are highlighted in red. For example, PID0.kI will print the current value of the 'kI' feedback parameter. The value can be changed with a command such as:

PID0.kI=0.005

This value is only temporary and might not be saved when the program exits. It is recommended to then use the PID0.saveParam command to write all parameter values for the PID to file.

The typical configuration will have PID0 for the X-axis, PID1 for the Y-axis and PID2 for the Z-axis. Each of these have a kP, kI and kD parameter that can be queried and changed.

Drift Correction

Drift correction is implemented via the interferometer sensor object, typically configured as Sensor1 (see start.ops file).

To see the current drift correction parameters, enter the following command to see the pair of values:

Deployer [S]> Sensor1.zCorrectMatrix

The first (zero entry) value is for the X-axis and the second (entry 1) value is for the Y-axis. Values can be set by addressing each entry in the array, e.g.:

Deployer [S]> Sensor1.zCorrectMatrix[0] = 0.0

The parameters are in terms of microns of lateral adjustment per micron of Z-axis movement of the zone plate stage. Values should therefore be small, e.g. -0.005<x<0.005, but there is no software restriction.