NOKOV
Website
XingYing4.1-EN
XingYing4.1-EN
  • XINGYING4.0
    • Beginner's Guide
      • Hardware Setup
      • Software Quick Start
    • Ⅰ. System Overview
      • 1. NOKOV Motion Capture System
      • 2. Hardware Components
    • Ⅱ. System and Camera Setup
      • 1. Camera Models
      • 2. Hardware Assembly
      • 3. Camera Connection
      • 4. Focusing and Aperture
    • Ⅲ. Software Installation and Launch
      • 1. Network Settings
      • 2. Firewall Settings
      • 3. Software Installation
      • 4. Software Launch
      • 5. Software Activation
      • 6.Lens configuration
    • Ⅳ. Getting Started with XINGYING 4.0
      • 1. Menu Bar
      • 2. Toolbar
    • Ⅴ. Calibration
      • 1. Calibration Settings
      • 2. Calibration Preparation
      • 3. Zoning Calibration
      • 4. T Calibration Progress Prompt
      • 5. Reference Video Calibration
    • Ⅵ. Views
      • 1. Device Properties
      • 2. Assets Properties
      • 3. Data Casting
    • Ⅶ. Software Settings
      • 1. Recording Settings
      • 2. View Settingss
      • 3. AI Settings
      • 4. Preferences
      • 5. Other Settings
    • Ⅷ. Calibration Categories
      • 1. Preparing for Calibration
      • 2. Basic Calibration
      • 3. Updating Calibration
      • 4. Origin Point Calibration
      • 5. Partial Calibration
      • 6.Ground Calibration
      • 7. Calibration-free (Anchor Calibration)
      • 8. side-mounted Camera / inverted Camera
    • Ⅸ. Markerset Creation
      • 1. Rigid
      • 2. Body
      • 3. Custom template
      • 4. Agent
      • 5. Asset Library
      • 6.Probe
      • 7.Scene library
    • Ⅹ. Data Collection and Fast Playback
      • 1. Data Collection
      • 2. Fast Playback
    • Ⅺ. Data Analysis
      • 1. Analyze Graphs
      • 2. Skeleton Graphs
      • 3. Analog Graphs
      • 4. Force Plate Data
      • 5. Health Graphs
      • 6. VMarker Graphs
    • Ⅻ. Data Processing
      • 1. Importing Data
      • 2. Create MarkerSet (Rigid)
      • 3. Use Existing MarkerSet
      • 4. Data Restoration
      • 5. Template Creation
      • 6. Template Identification and Tracking
      • 7. Data Rectification
      • 8. Use MarkerSet in Real-Time
      • 9. Marker Editing
      • 10.Marker switching
      • 11.Multi-frame recognition
    • XIII. Data Export
      • 1. Ly Files
      • 2. XRS Files
      • 3. TRC Files
      • 4. BVH Files
      • 5. HTR Files
      • 6. FBX Files
      • 7. Dynamics Files
      • 8. C3D Files
      • 9. ANC Files
      • 10. Exporting Forces Files
      • 11. Packing motion capture data
    • XIV. Human Body Template
      • 1. 53 Markers and Skeleton Definitions
      • 2. Helen Hayes Model
      • 3. Gloved Setup for 53-Marker Template
      • 4.CGM2 Body Model
      • 5.Finger Marker Point Instructions
      • 6. Explanation of 59-Point Finger Attachment
      • 7. Explanation of 63-Point Finger Attachment
      • 8.PlugIn Gait Marker Placement Instructions
    • XV. Data Retargeting
      • 1. Importing Model Assets
    • XVI. Third-Party Integrations
      • Force Plates
        • Bertec
        • KUNWEI
        • AMTI
        • Kistler
        • Aili Intelligent
        • General configuration
          • Import/Export Force Plate Config Files
          • Force and Torque
          • Other Configurations
      • EMG
        • ZHIYUNWEI
        • Distributed Wireless Electromyography
        • Delsys
        • Cometa
        • Noraxon
      • High-Speed Industrial Cameras
        • Standard industrial camera
        • Alkeria
        • HUIDIAN
        • DAHENG
        • DITECT
        • Network camera
        • FLIR Industrial Camera
      • Inertial Gloves
        • Glove management
        • Manus
        • VRTRIX
        • Diver-X
          • Installation and Calibration Configuration
          • Creating a Human Body Model with Gloves
    • XVII. Plugins & SDKs
      • 1. Unreal Engine (UE) Plugin
      • 2. Guide to Connecting Devices and Integrating VRPN Data with UE
      • 3. Use VRPN Data to Drive Rigid Body in UE
      • 4. MotionBuilder Plugin
      • 5. Maya Plugin
      • 6. Unity Plugin
      • 7. IClone Plugin
      • 8. Application of TimeCode in UE
      • 9.C4D Plugin
      • 10.Blender plugin
      • 11.Open VR Plugin
      • 12. Communication between Ros2 and Nokov
    • XVIII. UDP Capture Broadcast/Triggering
      • 1. Remote Control
      • 2. Remote Trigger
    • XVIIII.Log
      • 1.DisplayLog
Powered by GitBook
On this page
  • Installation and setup of the software
  • Software installation
  • VRPN functionality
  • Start the VRPN service to retrieve data.
  • Install Ros2
  • Version description
  • Start vrpn_client_ros
  • Topic subscription and querying
  • Instructions for using ROS with VRPN functionality
  • Three types of VRPN functionality
  • Units with inversions
  • "Position Offset"
  • "Speed and Acceleration"
  1. XINGYING4.0
  2. XVII. Plugins & SDKs

12. Communication between Ros2 and Nokov

Installation and setup of the software

Software installation

  • Please refer to "Section III, Software Installation and Launch" for the software installation steps.

VRPN functionality

  • For information on how to use VRPN and related plugins, please refer to "Section VI, Introduction to Views - (3) Data Broadcasting - VRPN Broadcast Data".

Start the VRPN service to retrieve data.

  1. In real-time mode, quickly create a Markerset or load data with a Markerset in post-processing mode. Refer to "Section IX, Creating a Markerset" for instructions on how to create a Markerset.

  2. In XINGYING software, open the Data Broadcasting panel and enable VRPN. For information on VRPN functionality, refer to "Section VI, Introduction to Views - (3) Data Broadcasting - VRPN Broadcast Data".

  3. You can run the test program "NokovVrpnClient.exe" to retrieve motion capture data (refer to "Section VI, Introduction to Views - (3) Data Broadcasting - VRPN Broadcast Data" for specific instructions). If you are not receiving data, check the VRPN configuration in XINGYING and ensure the IP address for data broadcasting is correct. (If needed, "NokovVrpnClient.exe" is an executable test program; please consult a technical engineer for access).


Install Ros2

Version description

  1. The installed Ros2 version is Foxy, and the Ubuntu version is 20.04. Use XINGYING software to transmit motion capture Markerset or rigid body data to Ros2 using VRPN.

  2. Start the Nokov virtual machine, open the terminal, and enter the following commands in sequence:

    1. sudo apt install ros-foxy-desktop;

    2. sudo apt install ros-foxy-vrpn;

    3. source /opt/ros/foxy/setup.bash;

    4. cd ~/ros2_ws/src;

    5. git clone -b foxy-devel https://github.com/NOKOV-MOCAP/vrpn_client_ros;

    6. cd ~/ros2_ws;

    7. colcon build --packages-select vrpn_client_ros --symlink-install;

    8. source install/setup.bash;

  3. Navigate to the directory: ros2_ws/src/vrpn_client_ros/config. Enter gedit sample.params.yaml and press Enter. The server's IP address is "192.168.0.107". Change the server's IP address to the broadcast address set in XINGYING. Save the file and exit.


Start vrpn_client_ros

  1. Open a terminal. After each terminal session, you need to enter the command "source /opt/ros/foxy/setup.bash".

  2. Then, enter the command: "ros2 launch vrpn_client_ros sample.launch.py" and press Enter. In the terminal, you should see three lines printed: "Connection established," "Found new sender: Tracker2," and "Creating new tracker Tracker2." This indicates a successful connection and communication with the motion capture system has been established. Ros2 has successfully received motion capture data, with "Tracker2" representing the name of the Markerset in XINGYING software.

  3. When starting vrpn_client-ros, it is important to ensure that the IP address is correctly set. It should be in the same network segment as the host running XINGYING software and should be pingable.

Topic subscription and querying

  1. Open a terminal and view the topics. Enter the command "ros2 topic list" to see the topic "/Tracker0/pose," where "Tracker0" represents the name of the Markerset in XINGYING software.

  2. Enter the command "ros2 topic echo /Tracker0/pose" and press Enter to see the received data. Again, "Tracker0" represents the name of the Markerset in XINGYING software.

  3. Data Explanation: "Pose" indicates the position and orientation of the Markerset. Under "Pose," "Position" represents the position information of the Markerset, while "Orientation" represents the rotational information of the Markerset. Only when the "Rigid Body" type is selected will Ros2 print out the "Orientation" data. Selecting "Marker" or "Unlabeled Marker" types will not print out the "Orientation" data.


Instructions for using ROS with VRPN functionality

Three types of VRPN functionality

  1. Enable VRPN in the data broadcasting settings. VRPN can be categorized into three types: Rigid Body, Markers, and Unlabeled Markers.

  2. Before selecting the different VRPN functionalities and adjusting values, pause the software playback. Uncheck "Enable VRPN" in the data broadcasting settings, then proceed with selecting the desired functionalities and modifying the values. After selecting the desired functionalities, re-enable "Enable VRPN" and resume software playback.

  3. Rigid Body Type:

    • The Rigid Body type indicates the transmission of rigid body information data. In XINGYING, quickly create a rigid body, select the "Rigid Body" type, enable VRPN, and play the motion capture software. In the terminal of Ros2, enter "ros2 launch vrpn_client_ros sample.launch.py" to retrieve the motion capture data. Open another terminal and enter "ros2 topic list" to view the printed topics concerning the rigid body. Enter "ros2 topic echo + topic name" to view the data related to that topic in the terminal.

  4. Marker Type:

    • When the Marker type is selected, it indicates the transmission of named marker point information data. After creating a Markerset, select the "Marker" type, enable VRPN, and play the motion capture software. In the Ros2 terminal, start Ros2 using the appropriate command to retrieve the motion capture data. Then, open another terminal and subscribe to the marker point topic. For example, in "Tracker0_Marker1," "Tracker0" represents the Markerset name, and "Marker1" represents the name of the first point in the Markerset. If you need to retrieve data for the second point of the Markerset, simply change "Marker1" to "Marker2," and so forth. Enter the command "ros2 topic echo /Tracker0_Marker1/pose" to view the data for the "Marker1" point of "Tracker0."

  5. Marker Point (Unnamed)

    • Marker points (unnamed) indicate that unnamed Marker point information data is emitted. Select the Marker Point (unnamed) type, enable VRPN, and play the mocap software. After the ROS2 terminal enters the command to start ROS2, after obtaining the mocap data, open another terminal input command to subscribe to the topic of unnamed points, and enter the command "ros2 topic echo /U_Tracker0/pose" to enter, the data of the unnamed points will be printed in the terminal. "U_Tracker0" indicates the first unnamed point, and to get the information data of the second unnamed point, you can change "U_Tracker0" to "U_Tracker1" to represent the second unnamed point.

Units with inversions

  1. In the unit drop-down box, you can change different units, which are divided into "millimeters, centimeters, and meters", and pause the motion capture → open DataRadio, select the unit you want to change in the Unit drop-down list→ enable VRPN→ click Playback. After changing the unit, the unit of the "Position" data printed in Ros2 will also be changed in real time, which can be used with the three types of VRPN;

  2. Check "X, Y, Z" in "Invert", which means that the positive and negative signs of VRPN three types of position data are reversed, if the data of "Position" in Ros2 before checking is positive, it will become negative after checking. If checked, the X, Y, and Z coordinate data of "Position" in Ros will be reversed;

  3. "qx, qy, qz" indicates the reversal of the direction rotation data, and the X, Y, and Z coordinate data of "orientation" in Ros2 will be reversed after checking.

"Position Offset"

  • In the "Offset" section, you can set the coordinate offsets for variables data in "X, Y, Z" coordinates (as shown in Figure 29). Pause the software playback → Open data broadcasting → Modify the coordinate offsets for X, Y, Z in the "Offset" value input box → Enable VRPN → Click play. After adjusting the coordinate offset values, the modified values will be added to the "Position" X, Y, Z coordinate values in Ros2.

"Speed and Acceleration"

  1. After checking "Speed" in the XINGYING software, enter the command in the Ros2 terminal to retrieve the topic. "twist" represents speed. Input the command "rostopic echo /Tracker4/twist" and press Enter. The terminal will then print the data information of the speed of the "Tracker4" rigid body.

  2. After checking "Acceleration" in the XINGYING software, enter the command in the Ros2 terminal to retrieve the topic. "accel" represents acceleration. Input the command "rostopic echo /Tracker4/accel" and press Enter. The terminal will then print the data information of the acceleration of the "Tracker4" rigid body.

  3. Frames represent the frame factor used for speed calculation. You can adjust this value in the dropdown box to make the actual speed value closely match the output speed value.

Previous11.Open VR PluginNextXVIII. UDP Capture Broadcast/Triggering

Last updated 5 months ago