Changes between Initial Version and Version 1 of Resources/Services/XYTable


Ignore:
Timestamp:
Jan 10, 2021, 9:26:01 PM (3 years ago)
Author:
jkol
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Resources/Services/XYTable

    v1 v1  
     1[[Include(WikiToC)]]
     2
     3=== Service: XY Table
     4
     5This service is used to control the positioning of the [wiki:Hardware/SubSystems/Sivers Sivers 60GHz] antenna arrays mounted on the XY-tables in COSMOS Sandbox 1.
     6
     7XY Tables:
     8 ||= '''Name''' =||= '''Location''' =||= Mounted Device =||
     9 ||  xytable1.sb1.cosmos-lab.org  ||  COSMOS Sandbox 1  ||  rfdev3-5  ||
     10 ||  xytable2.sb1.cosmos-lab.org  ||  COSMOS Sandbox 1  ||  rfdev3-6  ||
     11
     12Please visit the [wiki:Architecture/Domains/cosmos_sb1 Sandbox 1 page] for more details.
     13
     14[[BR]]
     15
     16=== Usage ===
     17
     18All the available methods are accessible from the a testbed console via an HTTP API located at `am1.cosmos-lab.org:5054/xy_table`. This API can be interacted with via a command line tool such as "curl" or any script using a "REST client" library.
     19
     20[[BR]]
     21
     22=== Get the Current Status & Positions ===
     23
     24This API call is used to get the current status of the XY-table(s). The response will specify the current movement state of the XY platform and angular rotation systems as well as their current and target positions.
     25
     26HTTP API Path: `am1.cosmos-lab.org:5054/xy_table/status`
     27
     28Parameters:
     29 ||= '''Name''' =||= '''Decription''' =||= '''Required''' =||= '''Acceptable Input''' =||
     30 ||  name ||  Comma separated list of XY-table FQDNs  ||  Y  ||  (list of XY table FQDNs)  ||
     31
     32Selected response values and their meaning:
     33* '''xy_status''':
     34
     35 ||= '''Value''' =||= '''Decription''' =||
     36 ||  Idle  || Platform is stopped in the X and Y plane. ||
     37 ||  Run  || Platform is moving in the X and/or Y directions. ||
     38 ||  ''other values''  || Indicate possible error, may require staff intervention if persistent. ||
     39
     40* '''rotator_status''':
     41
     42 ||= '''Value''' =||= '''Decription''' =||
     43 ||  Limp  || Rotator is stopped but the motor is not trying to hold the position fixed. ||
     44 ||  Holding  || Rotator is stopped and the motor is trying to hold the position fixed. ||
     45 ||  Accelerating[[BR]]Travelling[[BR]]Decelerating  || Rotator is moving. ||
     46 ||  ''other values''  || Indicate possible error, may require staff intervention if persistent. ||
     47
     48* '''current_position''': The position information at the time the request was issued. Note that this is not real-time and may have up to a 1 second delay.
     49
     50* '''target_position''': The last requested X, Y, and angle positions.
     51
     52==== Example 1 ====
     53
     54Get status of `xytable1`.
     55
     56HTTP Request:
     57{{{
     58am1.cosmos-lab.org:5054/xy_table/status?name=xytable1.sb1.cosmos-lab.org
     59}}}
     60
     61Response:
     62{{{
     63<response status="OK">
     64  <action service="xy_table" name="status">
     65    <xy_table xy_status="Idle" rotator_status="Holding" name="xytable1.sb1.cosmos-lab.org">
     66      <current_position x="650.998" y="0.997" angle="-0.4"/>
     67      <target_position x="650" y="0" angle="0.0"/>
     68    </xy_table>
     69  </action>
     70</response>
     71}}}
     72
     73==== Example 2 ====
     74
     75Get status of `xytable1` and `xytable2`.
     76
     77HTTP Request:
     78{{{
     79am1.cosmos-lab.org:5054/xy_table/status?name=xytable1.sb1.cosmos-lab.org,xytable2.sb1.cosmos-lab.org
     80}}}
     81
     82Response:
     83{{{
     84<response status="OK">
     85  <action service="xy_table" name="status">
     86    <xy_table xy_status="Idle" rotator_status="Holding" name="xytable1.sb1.cosmos-lab.org">
     87      <current_position x="650.998" y="0.997" angle="-0.4"/>
     88      <target_position x="650" y="0" angle="0.0"/>
     89    </xy_table>
     90    <xy_table xy_status="Run" rotator_status="Holding" name="xytable2.sb1.cosmos-lab.org">
     91      <current_position x="641.916" y="0.997" angle="0.4"/>
     92      <target_position x="650" y="0" angle="0.0"/>
     93    </xy_table>
     94  </action>
     95</response>
     96}}}
     97
     98[[BR]]
     99
     100=== Move XY Table Platform ===
     101
     102Moves the platform(s) to the desired X, Y coordinates and rotates it to the desired angle. The response will be a "status" style response immediately following the execution of the command.
     103
     104HTTP API Path: `am1.cosmos-lab.org:5054/xy_table/move_to`
     105
     106Parameters:
     107 ||= '''Name''' =||= '''Decription''' =||= '''Required''' =||= '''Acceptable Input''' =||
     108 ||  name  ||  Comma separated list of XY table FQDNs  ||  Y  ||  (list of XY table FQDNs)  ||
     109 ||  x  ||  X-axis target coordinate (mm)  ||  Y  ||  0 to 1300  ||
     110 ||  y  ||  Y-axis target coordinate (mm)  ||  Y  ||  0 to 1300  ||
     111 ||  angle  ||  Target angle (deg)  ||  Y  ||  -45 to 45  ||
     112
     113==== Example 1 ====
     114
     115Move the platform of `xytable1` to X=500 and Y=30, and rotate to 15 degrees.
     116
     117HTTP Request:
     118{{{
     119am1.cosmos-lab.org:5054/xy_table/move_to?name=xytable1.sb1.cosmos-lab.org&x=500&y=30&angle=15
     120}}}
     121
     122Response:
     123{{{
     124<response status="OK">
     125  <action service="xy_table" name="move_to">
     126    <xy_table xy_status="Run" rotator_status="Traveling" name="xytable1.sb1.cosmos-lab.org">
     127      <current_position x="650.998" y="0.997" angle="-0.4"/>
     128      <target_position x="500" y="30" angle="15.0"/>
     129    </xy_table>
     130  </action>
     131</response>
     132}}}
     133
     134[[BR]]
     135
     136=== Stop the Current Movement ===
     137
     138Immediately cancels the last requested movement and bring the platform(s) to a stop.
     139
     140HTTP API Path: `am1.cosmos-lab.org:5054/xy_table/stop`
     141
     142Parameters:
     143 ||= '''Name''' =||= '''Decription''' =||= '''Required''' =||= '''Acceptable Input''' =||
     144 ||  name  ||  Comma separated list of XY table FQDNs  ||  Y  ||  (list of XY table FQDNs)  ||
     145
     146==== Example 1 ====
     147
     148Stop the current movement of `xytable1`.
     149
     150HTTP Request:
     151{{{
     152am1.cosmos-lab.org:5054/xy_table/stop?name=xytable1.sb1.cosmos-lab.org
     153}}}
     154
     155Response:
     156{{{
     157<response status="OK">
     158  <action service="xy_table" name="stop">
     159    <xy_table xy_status="Idle" rotator_status="Holding" name="xytable1.sb1.cosmos-lab.org">
     160      <current_position x="650.998" y="0.997" angle="-0.4"/>
     161    </xy_table>
     162  </action>
     163</response>
     164}}}