wiki:Resources/Services/XYTable

Version 1 (modified by jkol, 18 months ago) ( diff )

Service: XY Table

This service is used to control the positioning of the Sivers 60GHz antenna arrays mounted on the XY-tables in COSMOS Sandbox 1.

XY Tables:

Name Location Mounted Device
xytable1.sb1.cosmos-lab.org COSMOS Sandbox 1 rfdev3-5
xytable2.sb1.cosmos-lab.org COSMOS Sandbox 1 rfdev3-6

Please visit the Sandbox 1 page for more details.


Usage

All 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.


Get the Current Status & Positions

This 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.

HTTP API Path: am1.cosmos-lab.org:5054/xy_table/status

Parameters:

Name Decription Required Acceptable Input
name Comma separated list of XY-table FQDNs Y (list of XY table FQDNs)

Selected response values and their meaning:

  • xy_status:
Value Decription
Idle Platform is stopped in the X and Y plane.
Run Platform is moving in the X and/or Y directions.
other values Indicate possible error, may require staff intervention if persistent.
  • rotator_status:
Value Decription
Limp Rotator is stopped but the motor is not trying to hold the position fixed.
Holding Rotator is stopped and the motor is trying to hold the position fixed.
Accelerating
Travelling
Decelerating
Rotator is moving.
other values Indicate possible error, may require staff intervention if persistent.
  • 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.
  • target_position: The last requested X, Y, and angle positions.

Example 1

Get status of xytable1.

HTTP Request:

am1.cosmos-lab.org:5054/xy_table/status?name=xytable1.sb1.cosmos-lab.org

Response:

<response status="OK">
  <action service="xy_table" name="status">
    <xy_table xy_status="Idle" rotator_status="Holding" name="xytable1.sb1.cosmos-lab.org">
      <current_position x="650.998" y="0.997" angle="-0.4"/>
      <target_position x="650" y="0" angle="0.0"/>
    </xy_table>
  </action>
</response>

Example 2

Get status of xytable1 and xytable2.

HTTP Request:

am1.cosmos-lab.org:5054/xy_table/status?name=xytable1.sb1.cosmos-lab.org,xytable2.sb1.cosmos-lab.org

Response:

<response status="OK">
  <action service="xy_table" name="status">
    <xy_table xy_status="Idle" rotator_status="Holding" name="xytable1.sb1.cosmos-lab.org">
      <current_position x="650.998" y="0.997" angle="-0.4"/>
      <target_position x="650" y="0" angle="0.0"/>
    </xy_table>
    <xy_table xy_status="Run" rotator_status="Holding" name="xytable2.sb1.cosmos-lab.org">
      <current_position x="641.916" y="0.997" angle="0.4"/>
      <target_position x="650" y="0" angle="0.0"/>
    </xy_table>
  </action>
</response>


Move XY Table Platform

Moves 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.

HTTP API Path: am1.cosmos-lab.org:5054/xy_table/move_to

Parameters:

Name Decription Required Acceptable Input
name Comma separated list of XY table FQDNs Y (list of XY table FQDNs)
x X-axis target coordinate (mm) Y 0 to 1300
y Y-axis target coordinate (mm) Y 0 to 1300
angle Target angle (deg) Y -45 to 45

Example 1

Move the platform of xytable1 to X=500 and Y=30, and rotate to 15 degrees.

HTTP Request:

am1.cosmos-lab.org:5054/xy_table/move_to?name=xytable1.sb1.cosmos-lab.org&x=500&y=30&angle=15

Response:

<response status="OK">
  <action service="xy_table" name="move_to">
    <xy_table xy_status="Run" rotator_status="Traveling" name="xytable1.sb1.cosmos-lab.org">
      <current_position x="650.998" y="0.997" angle="-0.4"/>
      <target_position x="500" y="30" angle="15.0"/>
    </xy_table>
  </action>
</response>


Stop the Current Movement

Immediately cancels the last requested movement and bring the platform(s) to a stop.

HTTP API Path: am1.cosmos-lab.org:5054/xy_table/stop

Parameters:

Name Decription Required Acceptable Input
name Comma separated list of XY table FQDNs Y (list of XY table FQDNs)

Example 1

Stop the current movement of xytable1.

HTTP Request:

am1.cosmos-lab.org:5054/xy_table/stop?name=xytable1.sb1.cosmos-lab.org

Response:

<response status="OK">
  <action service="xy_table" name="stop">
    <xy_table xy_status="Idle" rotator_status="Holding" name="xytable1.sb1.cosmos-lab.org">
      <current_position x="650.998" y="0.997" angle="-0.4"/>
    </xy_table>
  </action>
</response>

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.