BenPTrack - theRAPTLab/gsgo GitHub Wiki

This is a draft guide to configuring and troubleshooting connection problems when setting up a new OpenPTrack system for GEM-STEP. This assumes that you have already set up and calibrated the physical OpenPTrack system. The instructions focus on how to set up OpenPTrack for broadcasting PTrack data over the local network for GEM-STEP consumption.

This is not official OpenPTrack documentation and subject to change.

Updated 10/16/2021.

Other Resources

Guide

PTRACK = OpenPTrack server running tracking software. [This guide assumes version Open PTrack running on Ubuntu 18.04 installed by Simeon circa Nov 2019. PTrack now runs inside a Docker container.]

STEP = Game server running step software.

  1. PTRACK must be on ethernet. As of 10/2021 wifi does not seem to work.

  2. PTRACK: Verify IP Address Ideally set up only a single connection to avoid confusion about which connection type is being used (e.g. wifi vs ethernet). For this example we'll assume that we're on address of 10.0.0.26

  3. PTRACK: Update .bashrc with IP Address Change .bashrc ROS_MASTER_URI value to point to the current IP address. ROS_MASTER_URI=http://10.0.0.26:11311/ -- Setting .bashrc is no longer necessary as of 10/2021.

  4. PTRACK: Reload .bashrc Make sure after changing the .bashrc to either log out and relogin, or load the .bashrc file manually to apply the changes. source ~/.bashrc

  5. PTRACK: Verify source directory Make sure you know where the OpenPTrack software is installed and where the config files are. In our case, it was installed in /home/remap/open_ptrack_OBJECTS. [Need to verify this with REMAP]

    If the build instructions involve copying files from a source, the key is to figure out where that source is. e.g. cp - R ~/open_ptrack_OBJECTS points to /home/remap/open_ptrack_OBJECTS.

  6. PTRACK: Log in and start the docker container:

    cd open_ptrack_docker_config/single_camera_tracking
    ./run_single_camera_1804
    
  7. PTRACK: Set json_udp.yaml IP address

    MAKE SURE YOU'RE RUNNING THIS IN THE DOCKER CONTAINER! MAKE SURE YOU SET THIS BEFORE RUNNING RViz! Make sure the IP Address of the json_udp.yaml file in the open_ptrack/opt_utils/conf folder of the source. In our case, ~/open_ptrack/opt_utils/conf/json_udp/yaml

    Set it to 10.0.0.255. Match the subnet, but use 255 to enable broadcasting (e.g. if your IP is 19.168.1.26`, use "192.168.1.255". Don't forget the quotes.

    hostip: "10.0.0.255"

  8. PTRACK: Error "Global Status: Error -- Fixed Frame: Fixed Frame [world] does not exist" in RVis If you see this error, this was a driver problem. Every once in a while the camera would not connect. In the terminal this message would appear: "Error: no Kinect2 devices found! Initialization failed!" and RViz would show the Global Status error. Disconnecting and reconnecting the camera in another USB slot would usually solve the problem.

  9. PTRACK: Start tracking The specific start command will vary depending system. The current launch command (as of 1/23/2018) on a single camera Kinect system is

    roslaunch tracking single_camera_tracking_node.launch enable_pose:=true enable_people_tracking:=true enable_object:=true

  10. PTRACK: Start udp_listener Make sure the PTrack software is actually generating UDP data. This isn't strictly necessary when running, but if you need to troubleshoot, this is handy to check that PTrack is indeed sending out udp data. Currently the listener does not check if the data is being sent to the right port though, so use Wireshark for that. Open a new terminal, start Docker again, and:

    cd open_ptrack_docker_config/single_camera_tracking
    ./run_single_camera_1804
     roslaunch opt_utils udp_listener.launch`
    
  11. PTRACK: Start Wireshark The PTrack software might be generating UDP data, but it might be getting sent to the wrong port, or is not otherwise making it past the computer. Use Wireshark to debug this. sudo wireshark You need to run as root in order to access the ports. If Wireshark is not installed, use sudo apt-get install wireshark to install it.

  12. PTRACK: Use Wireshark to check port data After starting Wireshark, click the upper left "List the availalbe update interfaces. Expand the window to see which interfaces are actually receiving data. If only lo or 127.0.0.1 is receiving packets, then UDP data isn't making it past the machine. Check the json_udp.yaml settings.

  13. PTRACK: Use Wireshark to verify UDP data Select the ports that are active (from previous step), and click Start. Then add a filter udp.port==21234, then click Apply

    • Make sure the "Destination" port is 10.0.0.26 (the IP address you set earlier). If it's the wrong address, then you likely changed the wrong json_udp.yaml file.

    Click on packets and make sure you see JSON data coming across.

    []

Tips

  • The kinect driver frequently will not load. Try switching the USB port. If that fails, shut down and restart.

  • NEED TO VERIFY: Running UDP too long results in system instability (mouse on PTrack laptop will become unresponsive). And tracks will stop producing output. Try restarting tracking without UDP? Try starting tracking with just people tracking (not objects and pose)?

  • Wireshark dumps a LOT of data. If your disk fills up the capture logs are in \tmp\wireshark*. Just delete the files.

⚠️ **GitHub.com Fallback** ⚠️