wiki:Resources/Services/XYTable

Site Navigation

  1. COSMOS Testbed Overview
    1. Concepts
    1. Testbed Workflow
    1. Availability and Resource Status
    1. Events and Conferences
  2. Getting Started
    1. Make an Account
    2. Create and Configure SSH Keys
    3. Make a Reservation
    4. Log in to your Reservation
    5. Control Resources with OMF
    6. Run a Hello World Experiment
    7. Get Help and Support
  3. COSMOS/ORBIT User Guide
    1. The COSMOS Portal
    2. Connecting to the Testbed
    3. Running Experiments
    4. Policies and Support
    5. Quick Links
    1. Policies
    1. Account Creation
    1. Camera Streaming
    1. Scheduling and Reservations
    1. Disk Images
    1. Frequently Asked Questions
    1. Resource Control with OMF
  4. COSMOS Portal
    1. Your First Visit
    2. Setting Up Your Account
    3. Reserving Testbed Time
    4. Monitoring Your Experiment
    5. Connecting via SSH
    6. Managing Disk Images
    7. Joining the Community
    8. Browsing Users and Groups
    9. Tips
  5. Account Management
    1. Edit Profile
    2. Change Password
    3. SSH Keys
  6. Portal Dashboard
    1. Profile Card
    2. Usage Statistics
    3. Community Forum
  7. Directory
    1. Users
    2. Groups
    3. Privacy Note
  8. Disk Images
    1. Browsing Images
    2. Image Details
    3. Searching and Sorting
    4. Managing Your Images
    5. Baseline Images
    6. Saving Custom Images
    7. Storage and Retention
  9. Community Forum
    1. Accessing the Forum
    2. Forum Categories
    3. How to Use the Forum
    4. Forum Etiquette
    5. Privacy and Access
  10. Getting Started with the COSMOS Portal
    1. Creating an Account
    2. Logging In
    3. What to Do After Logging In
  11. SSH Access to Testbed Nodes
    1. Access Model
    2. Console Servers
    3. Basic Connection
    4. SSH Config File
    5. SSH Tunneling
    6. File Transfer
    7. Troubleshooting
  12. Scheduler
    1. Calendar View
    2. Reservation Colors
    3. Creating a Reservation
    4. Competing for a Slot
    5. Modifying or Canceling Reservations
    6. My Reservations
    7. Resource Information
  13. Testbed Status
    1. Node Status Grid
    2. RF Matrix Control (SB4)
    3. Understanding Node States During Experiments
    1. Remote Access
    1. Chrome Remote Desktop Setup Page
  14. Installing Chrome Remote Desktop (CRD) on a Custom Image
    1. Measurement & Result Collection
    1. Storage
    1. Support
    1. Contributing to the Wiki
  15. Tutorials
    1. SDR and Wireless
    2. Wireless Digital Twins
    3. Optical Networking
    4. Wired Networking
    5. Edge Computing
    6. 4G/5G Systems
    7. Orchestration Platforms
  16. Architecture
    1. Data Flow
    1. Deployment Map
    1. Domains
    1. Naming Convention
    1. Networks
    1. Optical
  17. Resources, Services and APIs
    1. RF Control
    2. SDR Control
    3. Compute Control
    4. Network Control
    5. Optical Control
  18. Datasets
  19. Hardware Info
    1. Cameras
    1. Compute
    1. FR3 SDRs
    1. Network
    1. Nodes
    1. Optical
    1. RF Subsystems
    1. Antennas
    1. Full-Duplex Radio
    1. RF Front End
    1. Software Defined Radios (SDR)
  20. RF Policies & Compliance
    1. Outdoor Radio Frequency Allocation
    2. Program Experiment License
    3. Spectrum Monitoring
    4. Emergency Stop Procedures
    5. Network and Platform Security

Service: XY Table

This service is used to control the positioning of the Sivers 60 GHz antenna arrays mounted on the XY-tables in COSMOS Sandbox 1. The XY tables allow for independent movement of each antenna array in the horizontal plane within a 1.3m x 1.3m area, as well as rotating the arrays ±45° about their vertical axis.

XY Tables:

Name Location Mounted Device
xytable1.sb1.cosmos-lab.org COSMOS Sandbox 1 rfdev3-in1 (Sivers 60 GHz), rfdev4-in1 (IBM PAAM 28 GHz)
xytable2.sb1.cosmos-lab.org COSMOS Sandbox 1 rfdev3-in2 (Sivers 60 GHz), rfdev4-in2 (IBM PAAM 28 GHz)

Overhead View (not to scale):

Useful usage notes:

  • X,Y movement is limited within a 1.3m x 1.3m area.
  • The antenna arrays may be rotated ±45° about their vertical axis.
  • The centers of the tables are approximately 20m apart.
  • The coordinate systems of the tables are 180° rotated from each other (xytable1 has 0,0 in the "lower-right", while xytable2 has 0,0 in the "upper-left").
  • For the arrays to be aligned "head on", the x-coordinate must follow this pattern:
    • When xytable1 at x=0, then xytable2 at x=1300
    • When xytable1 at x=650, then xytable2 at x=650
    • When xytable1 at x=1300, then xytable2 at x=0
  • Angles are defined relative to each array.
    • Angles toward the "positive direction" are clockwise when viewed from overhead.
    • Angles toward the "negative direction" are counter-clockwise when viewed from overhead.
  • If the antennas are aligned on the x-axis, then an angle of 0° will ensure the antennas are facing each other.


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>
Last modified 3 years ago Last modified on Aug 11, 2023, 6:28:40 PM

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.