Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: NeilNie
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 20.6 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

AppVisionTeleOp

Made for Stanford Vision and Learning Group.

Introduction

Made for the Booster T1 robot.

TODOs:

How to Use

Step 1. Install the app on Vision Pro

This app is now officially on VisionOS App Store! You can search for Tracking Streamer from the App Store and install the app.

If you want to play around with the app, you can build/install the app yourself too. To learn how to do that, take a look at this documentation. This requires (a) Apple Developer Account, (b) Vision Pro Developer Strap, and (c) a Mac with Xcode installed.

Step 2. Run the app on Vision Pro

After installation, click on the app on Vision Pro and click Start. That's it! Vision Pro is now streaming the tracking data over your wifi network.

Tip Remember the IP address before you click start; you need to specify this IP address to subscribe to the data. Once you click start, the app will immediately enter into pass-through mode. Click on the digital crown to stop streaming.

Step 3. Receive the stream from anywhere

The following python package allows you to receive the data stream from any device that's connected to the same WiFi network. First, install the package:

pip install avp_teleop

Then, add this code snippet to any of your projects you were developing:

```python from avpteleop import VisionProStreamer avpip = "10.31.181.201" # example IP s = VisionProStreamer(ip = avp_ip, record = True)

while True: r = s.latest print(r['head'], r['rightwrist'], r['rightfingers']) ```

Available Data

python r = s.latest

r is a dictionary containing the following data streamed from AVP:

python r['head']: np.ndarray # shape (1,4,4) / measured from ground frame r['right_wrist']: np.ndarray # shape (1,4,4) / measured from ground frame r['left_wrist']: np.ndarray # shape (1,4,4) / measured from ground frame r['right_fingers']: np.ndarray # shape (25,4,4) / measured from right wrist frame r['left_fingers']: np.ndarray # shape (25,4,4) / measured from left wrist frame r['right_pinch_distance']: float # distance between right index tip and thumb tip r['left_pinch_distance']: float # distance between left index tip and thumb tip r['right_wrist_roll']: float # rotation angle of your right wrist around your arm axis r['left_wrist_roll']: float # rotation angle of your left wrist around your arm axis

Axis Convention

Refer to the image below to see how the axis are defined for your head, wrist, and fingers.

Hand Skeleton used in VisionOS

Refer to the image above to see what order the joints are represented in each hand's skeleton.

Acknowledgements

This is partially adopted from https://github.com/Improbable-AI/VisionProTeleop

Owner

  • Name: Neil Nie
  • Login: NeilNie
  • Kind: user
  • Location: New York City
  • Company: Columbia University

SWE & Algs Intern @ Apple. Working on Robotics, Vision, & Deep Learning

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Park"
  given-names: "Younghyo"
  orcid: "https://orcid.org/0000-0000-0000-0000"
title: "Teleopeation System using Apple Vision Pro"
version: 0.1.0
url: "https://github.com/Improbable-AI/VisionProTeleop"

GitHub Events

Total
  • Push event: 10
  • Create event: 2
Last Year
  • Push event: 10
  • Create event: 2

Dependencies

setup.py pypi
  • grpcio *
  • grpcio-tools *
  • matplotlib *
  • numpy *
vision_pro_app/Tracking Streamer.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved swiftpm
  • github.com/apple/swift-atomics 1.2.0
  • github.com/apple/swift-collections 1.1.0
  • github.com/apple/swift-http-types 1.0.3
  • github.com/apple/swift-log 1.5.4
  • github.com/apple/swift-nio 2.63.0
  • github.com/apple/swift-nio-extras 1.21.0
  • github.com/apple/swift-nio-http2 1.30.0
  • github.com/apple/swift-nio-ssl 2.26.0
  • github.com/apple/swift-nio-transport-services 1.20.1
  • github.com/apple/swift-protobuf 1.25.2
  • github.com/apple/swift-system 1.2.1
  • github.com/grpc/grpc-swift 1.21.1