Download Print this page

Advertisement

Advertisement

loading

Summary of Contents for HTC VIVE Tracker 3.0

  • Page 2 2021.01.18 Initial public version for VIVE Tracker (3.0) © 2021 HTC Corporation. All Rights Reserved. HTC, the HTC logo, VIVE, the VIVE logo, and all other HTC product and services names are the trademarks or registered trademarks of HTC Corporation and its affiliates in the U.S. and other countries.
  • Page 3: Table Of Contents

    Introduction ..........................1 Use cases ............................1 Hardware requirements ......................3 Interface ............................... 3 Radio frequency (RF) ........................... 4 Power ..............................5 Optics ..............................5 Docking ..............................6 Mechanical considerations ......................9 Apparel size ............................9 Main feature............................10 Docking mechanism .......................... 11 Damping mechanism ........................
  • Page 4 (with or without the HTC VIVE VR system). VIVE Tracker (3.0) can pair with HTC’s wireless dongle or use its USB interface to transfer tracking data to a PC. An accessory attached to VIVE Tracker (3.0) can: ...
  • Page 5 VIVE Controller or passing data to a PC through the VIVE Tracker (3.0). This is similar to Use Case 3 but the accessory connects with the VIVE Tracker (3.0) to transfer a button event to a PC through the Pogo pins or USB interface. HTC Confidential and Proprietary...
  • Page 6 HTC Corporation 12/16/2020 This section describes hardware requirements for accessories used with the VIVE Tracker (3.0) in order to enable positional tracking and input of specific data for the HTC VIVE VR system. A compatible accessory can be attached to the VIVE Tracker (3.0) to send specific data to a PC through the USB interface of the VIVE Tracker (3.0).
  • Page 7 The following are recommendations for better RF performance. Figure: Illustrates the “keep out” area where only nonmetallic parts of the accessory should be inside (spherical radius = 30 mm with the center being the antenna feed point) HTC Confidential and Proprietary...
  • Page 8 VIVE Tracker (3.0) as this will block responses from the tracker sensors. If the parts of the docking extend beyond the recommended placement cone, additional views will be blocked. Figure: Part of dock extend beyond recommended placement cone HTC Confidential and Proprietary...
  • Page 9 It is strongly recommended that the accessory uses low reflection materials for its outer skin to avoid reflective interference with the tracking sensors, especially if the accessory needs to be placed inside the FOV of VIVE Tracker (3.0). HTC Confidential and Proprietary...
  • Page 10 (ex. 3M VHB tape).  If the object/surface is rough and soft, it is recommended to use a strap for tightening the docking base to the object/surface. HTC Confidential and Proprietary...
  • Page 11 Improper placement of VIVE Tracker (3.0) may cause a part of the accessory to block the FOV of tracker and therefore affect the tracking performance. The mounting distance between tracking FOV and the related accessory size is shown below: 240 degree tracking FOV Area not tracked Recommended area to put docking mechanism HTC Confidential and Proprietary...
  • Page 12 This section describes the mechanical considerations for developers to build various accessories that are compatible to fit or mount with the VIVE Tracker (3.0). Different angles of VIVE Tracker (3.0) Dimension: 79.0mm (L) x 70.9mm (W) x 44.1mm (H) Weight: 75g HTC Confidential and Proprietary...
  • Page 13: Power

    4.3 Pogo pin port (spring contact-type) for optional electrical connection to the accessory. 4.4 Friction pad to provide a surface with friction between the accessory and VIVE Tracker (3.0) 5. USB Port: Used for electrical connection to the accessory through a USB Type-C cable HTC Confidential and Proprietary...
  • Page 14 Stabilizing Pin 1/4” Bolt Friction Pad VIVE Tracker (3.0) can be mounted on the cradle head first, and then attached to the main body of the accessory (similar to how a camera is mounted on a tripod). HTC Confidential and Proprietary...
  • Page 15: Docking Mechanism

    Features on Accessory When considering the vibration scales that the VR content plans to adopt, among the factors that can be adjusted are the durometer of the damper rubber, the mounting distance/position, and the usage of damper rubbers. HTC Confidential and Proprietary...
  • Page 16  Screw thread design The screw thread type that VIVE Tracker (3.0) uses 1/4” screw with 1.27 mm pitch. For detailed information, please refer to ISO 1222-2010, pages 3-5. Pin definition of VIVE Tracker (3.0) HTC Confidential and Proprietary...
  • Page 17 VDD, Active -low (Trigger button) General purpose input pin: Internal pull up Digital input resistor to VDD, Active -low (Trackpad button) General purpose input pin: Internal pull up Digital input resistor to VDD, Active -low (Menu button) HTC Confidential and Proprietary...
  • Page 18 Developer Guidelines VIVE Tracker (3.0) V1.0 HTC Corporation 12/16/2020 Mechanical HTC Confidential and Proprietary...
  • Page 19 Developer Guidelines VIVE Tracker (3.0) V1.0 HTC Corporation 12/16/2020 HTC Confidential and Proprietary...
  • Page 20 Developer Guidelines VIVE Tracker (3.0) V1.0 HTC Corporation 12/16/2020 HTC Confidential and Proprietary...
  • Page 21: Coordinate System

    Datum C is set to be the intersection point between the centerline of Stabilizing Pin Recess and Datum A.  The coordinate system is constructed by the Datum frame of Datum A, the line of Datum B and Datum C, and Datum C itself. HTC Confidential and Proprietary...
  • Page 22  Datum C is set to be the intersection point between the centerline of Stabilizing Pin and Datum A.  The coordinate system is constructed by the Datum frame of Datum A, the line of Datum B and Datum C, and Datum C itself. HTC Confidential and Proprietary...
  • Page 23: Data Formats

    For both content developers and accessory makers: 1. To test VIVE Tracker (3.0) with your content or accessory, you need to have HTC VIVE as well as the required hardware and software to run it. 2. You need to have a PC with at least one available USB 2.0 port to plug in the dongle (for use cases with the dongle mentioned in Use Cases) or VIVE Tracker (3.0) (to...
  • Page 24 ‘Controller’. Set the windex to 2 to send USB commands to VIVE Tracker (3.0). Refer to the table below for the USB command flow between accessory and VIVE Tracker (3.0). HTC Confidential and Proprietary...
  • Page 25 Indicates the version of the data being sent out. Default value is Tag Index zero in this version of data format. TRIGGER 0x01 BUMPER 0x02 MENU 0x04 STEAM 0x08 Button 0x10 PAD_FINGERDOWN 0x20 Reserved 0x40 Reserved 0x80 HTC Confidential and Proprietary...
  • Page 26 = (byte) 179; //0xB3 data1[1] = 3; //Means there are 3 bytes follow data1[2] = 3; //Host Type: ACCESSORY data1[3] = 1; //Reserved data1[4] = 1; //Reserved int result = mDeviceConn.controlTransfer(0x21, 0x09, 0x0300, 2, data1, data1.length, 0); HTC Confidential and Proprietary...
  • Page 27 After the center of an accessory has been decided during the design, the following degrees and distance of an accessory based on actual integration condition can be measured. For detailed information regarding the center of the VIVE Tracker (3.0), refer to guidelines related to the hardware and mechanical design. HTC Confidential and Proprietary...
  • Page 28 Content developers can collect the above information and transform Tracker pose to accessory pose. Assume Tracker rotation matrix is �� , accessory rotation matrix �� �������������� ������������������ �� ∗ �� ��������ℎ_������_�������� �������������� And accessory position �� = �� + �� *���������������� ������������������ �������������� ������������������ HTC Confidential and Proprietary...
  • Page 29 = Quaternion.Euler(roll, yaw, pitch); //Get current Tracker pose Vector3 tracker_position SteamVR_Controller.Input(3).transform.pos; Quaternion tracker_rotation = SteamVR_Controller.Input(3).transform.rot; //Transform current Tracker pose to Accessory pose GameObject.Find("Accessory ").transform.rotation = tracker_rotation * delta_rotation; GameObject.Find("Accessory ").transform.position = tracker_position + (tracker_rotation * delta_rotation) * delta_displacement; HTC Confidential and Proprietary...
  • Page 30 = delta_rotZ * delta_rotY; //Get current Tracker pose Vector3 tracker_position SteamVR_Controller.Input(3).transform.pos; Quaternion tracker_rotation = SteamVR_Controller.Input(3).transform.rot; //Transform current Tracker pose to Accessory pose GameObject.Find("Accessory").transform.rotation = delta_rotation * tracker_rotation; GameObject.Find("Accessory").transform.position = tracker_position + (delta_rotation * tracker_rotation) * delta_displacement; HTC Confidential and Proprietary...
  • Page 31 After VIVE Tracker (3.0) successfully pairs with the dongle, you will see the VIVE Tracker icon in the SteamVR window. It is recommended that you use Unity version 2017.3 or newer (minimum version 5.4.6). You can download the latest one here. HTC Confidential and Proprietary...
  • Page 32: Tracker On Unity Or Unreal

    From the developer version of VIVE Tracker (3.0), it uses a similar approach and naming as when creating content for the VIVE controller. Follow these steps to create content for VIVE Tracker (3.0) in Unity. Step 1: Add “CameraRig” to Hierarchy. HTC Confidential and Proprietary...
  • Page 33 Developer Guidelines VIVE Tracker (3.0) V1.0 HTC Corporation 12/16/2020 Step 2: Create the 3D Object for VIVE Tracker (3.0). In this example, Capsule is used. Step 3: Add Component > SteamVR_Tracked Object to the 3D Object Capsule. HTC Confidential and Proprietary...
  • Page 34 Step 4: Under SteamVR Controller Manager, set the size of the Objects item. In this example, one VIVE Tracker (3.0) is used in the setup. Step 5: Under SteamVR Controller Manager, in the Element 0 field, select Capsule as the GameObject. HTC Confidential and Proprietary...
  • Page 35 Step 6: In Unity, click Run. When you move VIVE Tracker (3.0), you will see the Capsule object is also moving in the content. Step 1: Add “CameraRig” to Hierarchy. Step 2: Create the 3D Object for VIVE Tracker (3.0). In this example, Capsule is used. HTC Confidential and Proprietary...
  • Page 36 Developer Guidelines VIVE Tracker (3.0) V1.0 HTC Corporation 12/16/2020 Step 3: Adjust the scale of the Capsule to 0.2. HTC Confidential and Proprietary...
  • Page 37 Developer Guidelines VIVE Tracker (3.0) V1.0 HTC Corporation 12/16/2020 Step 4: In SteamVR, click Devices > Controller Settings > Manage VIVE Trackers to edit Tracker Role of your tracker. In this example, Chest is used. HTC Confidential and Proprietary...
  • Page 38 Developer Guidelines VIVE Tracker (3.0) V1.0 HTC Corporation 12/16/2020 Step 5: Add SteamVR_Behaviour_Pose object Step 6: Set Input Source to Chest. HTC Confidential and Proprietary...
  • Page 39 In SteamVR Settings, click Show in Advanced Settings. Click Show Old Binding UI, and then choose your project. In this example, DeveloperGuideline is used. After selecting your application, click on Edit for Vive Tracker on Chest. HTC Confidential and Proprietary...
  • Page 40 V1.0 HTC Corporation 12/16/2020 Click Add Action Pose and change the poses of /user/chest/pose/raw from Unused to Pose. When you move VIVE Tracker (3.0), you will see the Capsule object is also moving in the content. HTC Confidential and Proprietary...
  • Page 41 Unity Asset Store. The VIVE Input Utility (VIU) plugin is a cross-platform VR toolkit with additional support for the VIVE Trackers. Step 1: Add “ViveCameraRig” or "ViveRig" to scene Hierarchy to add support for controllers and trackers in Unity. HTC Confidential and Proprietary...
  • Page 42 16 devices (including the HMD and base stations). Recently, OpenVR has been updated to support up to 64 devices, but this has not been updated yet in the Unity plugins (but developers can add support with their own code). HTC Confidential and Proprietary...
  • Page 43 The VIVE Input Utility also provides a tool to discover and assign roles without additional code. A keyboard shortcut, which can be assigned to display this overlay UI: HTC Confidential and Proprietary...
  • Page 44 HTC Corporation 12/16/2020 Additionally, there is an API available to create your own VR UI for assigning roles. For more information, check this github article. An example project is included in the VIU plugin - "7.RoleBindingExample. HTC Confidential and Proprietary...
  • Page 45 Check the SteamVR notification to update the firmware. You can update the VIVE Tracker (3.0) firmware by: 1. Copy the firmware binary files (including MCU, FPGA and RF) provided by HTC into the same folder of “lighthouse_watchman_update.exe” in your PC.