-
Notifications
You must be signed in to change notification settings - Fork 29
Set up Machine for running HDE
This page describes the step to prepare a computer for running the software required for running Human Dynamic Estimation.
N.B.: in order to have a complete installation of all the components it is required a Windows machine.
The computer will be able to:
- Control the Xsens suit (only
Windows) - Read data from FTShoes/FTSkShoes
- Process the data (HDE)
- Visualize the data
The overall software infrastructure is shown in the following diagram:

The more relevant required piece of software are the following, and the way to install them is described below:
- YARP
- ICUB
- iDynTree
- forcetorque-yarp-devices
- icub-firmware-shared
- wearables
- human-dynamics-estimation
the installation procedure uses the Robotology Superbuild, so it is strongly suggested to take a look at the robotology-superbuild installation guidelines which may be more updated.
The robotology software depends on several libraries as documented in robotology-superbuild\system-libraries.
In order to run Xsens related software (used in wearables), it is required to have installed the xsens MVN SDK 2018.0.3 library provided by Xsens (https://www.xsens.com), a copy of the driver is stored at \\storage05.icub.iit.local\repository\common\drivers_and_software\xsens.
Once the SDK is installed, it is required to add to the Path the following directories
(N.B the prefix of the following path can change depending on the version and the installation path chosen.):
| Environment Variables | |
|---|---|
Path |
c:\Program Files\Xsens\MVN SDK 2018.0.3\SDK Files\rundeps |
c:\Program Files\Xsens\MVN SDK 2018.0.3\SDK Files\x64\lib\run |
|
c:\Program Files\Xsens\MVN SDK 2018.0.3\SDK Files\x64\lib\dev |
|
c:\Program Files\Xsens\MVN SDK 2018.0.3\SDK Files\x64\include |
|
c:\Program Files\Xsens\MVN SDK 2018.0.3\SDK Files\x64\lib |
Create a directory for storing the USB-CAN 2 interface drivers:
cd $DEV
mkdir thirdPartyPrograms
cd thirdPartyPrograms
mkdir CAN_driver
cd CAN_driver
-
Before proceeding, check if you have the availability of the proper drivers from the ESD electronic that are shipped with the can-usb2 device. You should have the following two files:
-
CAN_SDK_V620(the version could be different) -
can_usb2_win64_269(the version could be different)
-
-
Store the files under
CAN_driverdirectory. Run the applicationCAN_SDK_V620to installCAN SDKfor windows. -
Connect the
CAN-USB 2interface device with the cable to the laptop. Open theWindows Device Managerapplication and select the unknown device. Select to update the driver and selectcan_usb2_win64_269directory. •USB-CANshould now be recognized and it will appear on Windows Device Manager application. Verify if theCANis correctly identified in theWindow Device Manager. -
Add following value to
Pathenvironment variable:C:\Program Files\ESD\CAN\SDK\lib
It can be installed by following the official guidelines at http://wiki.ros.org/ROS/Installation.
ROS can be installed on Windows by following the ROSOnWindows guidelines.
Once the installation is completed, there may be conflicts between dependency libraries installed for YARP (e.g. with vcpkg) and those installed by ROS (ROS installts its own dependencies), so it is necessary to sanitize the Path when using ros. One way to avoid this may be to use ROS libraries for YARP (as described in https://github.com/robotology/robotology-superbuild/issues/128#issuecomment-451023509), otherwise the following solution is:
- create a
ROSinitialization script that removesqt5from thePath(up to nowqt5is the only confilct that has been observed), and initializeROS(avoid executing theROSsetup scriptc:\opt\ros\melodic\x64\setup.bat) every time. The content of the.batfile is:call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 - host_arch=amd64 set path=%path:C:\Program Files\robotology\Qt-5.11.1_v14_x86_amd64\bin;=% call "C:\opt\ros\melodic\x64\setup.bat" - created a shortcut (e.g. in the
Desktop) similary to what described inROSOnWindows guidelines, but with the following target:C:\Windows\System32\cmd.exe /k "C:\Users\icub\dev\ros\setup\ROS-configure.bat. This shortcut will then open aVisual Studio Command Propmptin which executeROS Commands.
(the paths used in the above guidelines can change with a different configuration)
For more information on how to use YARP with ROS check yarp_with_ros
(Refer to robotology-superbuild for more details)
-
clone:
cd $dev git clone https://github.com/robotology/robotology-superbuild.git cd robotology-superbuild mkdir build -
configure the following CMake variables and then generate (via
CMake GUIor terminal):CMake Variables SOURCE CODE:$DEV/robotology-superbuildBUILD IN:$DEV/robotology-superbuild/buildROBOTOLOGY_ENABLE_DYNAMICStrueROBOTOLOGY_USES_XSENS_MVN_SDKtrueCMAKE_INSTALL_PREFIX$DEV/robotology-superbuild/build/install -
build:
- unix
cd build make install- windows
cd build cmake --build . --config Release --target INSTALL -
Add Enviornment Variables
Environment Variables ROBOTOLOGY_SUPERBUILD_ROOT$DEV\robotology-superbuildROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX$DEV\robotology-superbuild\build\installPath$DEV\robotology-superbuild\build\install\bin$DEV\robotology-superbuild\build\install\libYARP_DATA_DIRS$DEV\robotology-superbuild\build\install\share\yarp$DEV\robotology-superbuild\build\install\share\iCub$DEV\robotology-superbuild\build\install\share\ICUBcontrib$DEV\robotology-superbuild\robotology\icub-tests\suits(Those variables can be directly set by using
source $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX/share/robotology-superbuild/setup.shinLinux, or thePowerShellscriptrobotology-superbuild/build/install/share/robotology-superbuild/addPathsToUserEnvVariables.ps1inWindows)
(Refer to icub-firmware-shared for more details)
-
clone:
cd $DEV git clone https://github.com/robotology/icub-firmware-shared.git cd icub-firmware-shared mkdir build -
configure the following CMake variables and then generate (via
CMake GUIor terminal):CMake Variables SOURCE CODE:$DEV/icub-firmware-sharedBUILD IN:$DEV/icub-firmware-shared/build -
build:
- unix
cd build make install- windows
cd build cmake --build . --config Release --target INSTALL
(Refer to icub-main for more details)
The icub-main software is compiled by the robotology-superbuild. However, it is required to recompile it after changing some of its CMake options in order to have the whole HDE software running:
-
configure the following CMake variables and then generate (via
CMake GUIor terminal):CMake Variables SOURCE CODE:$DEV/robotology-superbuild/robotology/ICUBBUILD IN:$DEV/robotology-superbuild/build/robotology/ICUBENABLE_icubmod_ecantrueENABLE_icubmod_canBusAnalogSensortrueENABLE_icubmod_embObjFTsensortrueENABLE_icubmod_gazecontrollerclienttrueENABLE_icubmod_cartesiancontrollerclienttrueENABLE_icubmod_cartesiancontrollerservertrueENABLE_icubmod_canBusSkintrueENABLE_icubmod_skinWrappertrueICUB_USE_icub_firmware_sharedtrueicub_firmware_shared_DIR$DEV/icub_firmware_shared/buildCMAKE_INSTALL_PREFIX$DEV/robotology-superbuild/build/installESDCANAPI_LIBpath-to-ntcan.lib/ntcal.a(e.g.C:/ProgramFiles/ESD/CAN/SDK/lib/VC/amd64/ntcan.libinWindows) -
build:
- unix
cd build make install- windows
cd build cmake --build . --config Release --target INSTALL
(Refer to forcetorque-yarp-devices for more details)
-
clone:
cd $DEV git clone https://github.com/robotology-playground/forcetorque-yarp-devices.git cd forcetorque-yarp-devices mkdir build -
configure the following CMake variables and then generate (via
CMake GUIor terminal):CMake Variables SOURCE CODE:$DEV/forcetorque-yarp-devicesBUILD IN:$DEV/forcetorque-yarp-devices/buildCMAKE_INSTALL_PREFIX$DEV/robotology-superbuild/build/installENABLE_ftshoetrue -
build:
- unix
cd build make install- windows
cd build cmake --build . --config Release --target INSTALL
(Refer to wearables for more details)
-
clone:
cd $DEV git clone https://github.com/robotology-playground/wearables.git cd wearables mkdir build(N.B. the
human-dynamics-estimationsoftware is under development and the stable branch for running the fullHDEmay change) -
configure the following CMake variables and then generate (via
CMake GUIor terminal):CMake Variables SOURCE CODE:$DEV/wearablesBUILD IN:$DEV/wearables/buildCMAKE_INSTALL_PREFIX$DEV/robotology-superbuild/build/installXsens_INCLUDE_DIR(Only forWindows)C:/Program Files/Xsens/MVN SDK 2018.0.3/SDK Files/x64/includeXsens_xme_LIBRARY(Only forWindows)C:/Program Files/Xsens/MVN SDK 2018.0.3/SDK Files/x64/lib/xme64.libXsens_xstypes_LIBRARY(Only forWindows)C:/Program Files/Xsens/MVN SDK 2018.0.3/SDK Files/x64/lib/xstypes64.lib(N.B the prefix of the following path can change depending on the version and the installation path chosen.)
-
build:
- unix
cd build make install- windows
cd build cmake --build . --config Release --target INSTALL
(Refer to human-dynamics-estimation for more details)
-
clone:
cd $DEV git clone https://github.com/robotology/human-dynamics-estimation.git cd human-dynamics-estimation mkdir build(N.B. the
human-dynamics-estimationsoftware is under development and the stable branch for running the fullHDEmay change) -
configure the following CMake variables and then generate (via
CMake GUIor terminal):CMake Variables SOURCE CODE:$DEV/human-dynamics-estimationBUILD IN:$DEV/human-dynamics-estimation/buildCMAKE_INSTALL_PREFIX$DEV/robotology-superbuild/build/install -
build:
- unix
cd build make install- windows
cd build cmake --build . --config Release --target INSTALL -
Add Enviornment Variables
Environment Variables YARP_DATA_DIRS$DEV\human-dynamics-estimation\app\urdfs