Skip to content

Human Dynamics Estimation Network Level Setup

Yeshasvi Tirupachuri edited this page Dec 5, 2018 · 2 revisions

Currently, we run the IWear source devices XSens suit and FTShoes on a windows machine () on which yarpserver runs. Human Dynamics Estimation software is typically run on a linux machine. The software components of HDE use predominantly yarp but also depend on ros for the part related to visualization in Rviz. For this whole thing to work seamlessly, the following two points are crucial:

  • The windows machine and the linux machine should be configured to the same yarp network.
  • The yarp network should be properly configured to be aware of the presence of the ros network.

Assuming that the windows machine and the linux machine are attached to the Xsens router (which should not be connected to the local network) through lan cables, there are two levels of network setup here and this can be achieved by the following steps:

  • On the linux machine run roscore. This will start ros network on the linux machine.

  • Find out the ip address of the linux machine:

    • Go to applications and open Network
    • Click on the settings of the wired connection
    • Note down the IPv4 address
  • On the windows machine, open the Rapid Environment Editor software and add the variable ROS_MASTER_URI as an expandable string

  • Add the value http://<ipv4>:11311/ to it

  • So, the environment variable ROS_MASTER_URI=http://<ipv4>:11311/ helps the windows machine to discover the ros network.

  • Now, open a windows power shell terminal and run yarp namespace /Xsens

  • Run yarpserver.exe --ros. This will run the yarp network along with recognizing the ros network running on the linux machine.

  • The output on the terminal will show you two important things:

    • Using ROS with ROS_MASTER_URI=http://<ipv4>:11311/
    • yarp port /Xsens active at tcp://<yarp-IPv4>:10000/
  • The value of <yarp-IPv4> will be used later to setup the linux machine to detect the yarp network on the windows machine.

  • You can test if yarp and ros are correctly configured by the steps shown in the documentation here

    • Open a new windows power shell terminal and run yarp read /testtopic@/testnode
    • On the linux machine, open a new terminal and check if the /testtopic and /testnode are available by running rostopic list and rosnode list respectively.
    • Additionally, you can run rostopic pub /testtopic std_msgs/String "Hello YARP" and the terminal running yarp read should display Hello YARP
  • At this point the linux machine cannot recognize the yarp network running on the windows machine. You can verify this by running yarp detect on a new terminal.

  • On the linux machine open a new terminal and run yarp namespace /Xsens

  • Inside the ~/.config/yarp directory you should see a file named _Xsens.conf. Open this in an editor and add <yarp-IPv4> 10000 yarp where is the ip address of the windows machine.

  • Open a new terminal and run yarp detect. The output shows that the yarp network running on the windows machine is recognized correctly.

Using this configuration HDE and Rviz can be run on a linux machine, with Rviz receiving all the ros topics needed for visualization.