-
Notifications
You must be signed in to change notification settings - Fork 29
Human Dynamics Estimation Network Level Setup
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
- Go to applications and open
-
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 runningrostopic list
androsnode list
respectively. - Additionally, you can run
rostopic pub /testtopic std_msgs/String "Hello YARP"
and the terminal running yarp read should displayHello YARP
- Open a new windows power shell terminal and run
-
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.