-
Notifications
You must be signed in to change notification settings - Fork 28
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 xsensSDK
library.
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
-
Download the proper drivers from the ESD electronics website. You need the following:
-
CAN_SDK_V620
(the version could be different) -
can_usb2_win64_269
(the version could be different)
-
-
Store the files under
CAN_driver
directory. Run the applicationCAN_SDK_V620
to installCAN SDK
for windows. -
Connect the
CAN-USB 2
interface device with the cable to the laptop. Open theWindows Device Manager
application and select the unknown device. Select to update the driver and selectcan_usb2_win64_269
directory. •USB-CAN
should now be recognized and it will appear on Windows Device Manager application. Verify if theCAN
is correctly identified in theWindow Device Manager
. -
Add following value to
Path
environment 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
ROS
initialization script that removesqt5
from thePath
(up to nowqt5
is the only confilct that has been observed), and initializeROS
(avoid executing theROS
setup scriptc:\opt\ros\melodic\x64\setup.bat
) every time. The content of the.bat
file 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 Propmpt
in 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 GUI
or terminal):CMake Variables SOURCE CODE:
$DEV/robotology-superbuild
BUILD IN:
$DEV/robotology-superbuild/build
ROBOTOLOGY_ENABLE_DYNAMICS
true
CMAKE_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-superbuild
ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX
$DEV\robotology-superbuild\build\install
Path
$DEV\robotology-superbuild\build\install\bin
$DEV\robotology-superbuild\build\install\lib
YARP_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.sh
inLinux
, or thePowerShell
scriptrobotology-superbuild/build/install/share/robotology-superbuild/addPathsToUserEnvVariables.ps1
inWindows
)
(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 GUI
or terminal):CMake Variables SOURCE CODE:
$DEV/icub-firmware-shared
BUILD 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 GUI
or terminal):CMake Variables SOURCE CODE:
$DEV/robotology-superbuild/robotology/ICUB
BUILD IN:
$DEV/robotology-superbuild/build/robotology/ICUB
ENABLE_icubmod_ecan
true
ENABLE_icubmod_canBusAnalogSensor
true
ENABLE_icubmod_embObjFTsensor
true
ENABLE_icubmod_gazecontrollerclient
true
ENABLE_icubmod_cartesiancontrollerclient
true
ENABLE_icubmod_cartesiancontrollerserver
true
ENABLE_icubmod_canBusSkin
true
ENABLE_icubmod_skinWrapper
true
ICUB_USE_icub_firmware_shared
true
icub_firmware_shared_DIR
$DEV/icub_firmware_shared/build
CMAKE_INSTALL_PREFIX
$DEV/robotology-superbuild/build/install
ESDCANAPI_LIB
path-to-ntcan.lib/ntcal.a
(e.g.C:/ProgramFiles/ESD/CAN/SDK/lib/VC/amd64/ntcan.lib
inWindows
) -
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 GUI
or terminal):CMake Variables SOURCE CODE:
$DEV/forcetorque-yarp-devices
BUILD IN:
$DEV/forcetorque-yarp-devices/build
CMAKE_INSTALL_PREFIX
$DEV/robotology-superbuild/build/install
ENABLE_ftshoe
true
-
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-estimation
software is under development and the stable branch for running the fullHDE
may change) -
configure the following CMake variables and then generate (via
CMake GUI
or terminal):CMake Variables SOURCE CODE:
$DEV/wearables
BUILD IN:
$DEV/wearables/build
CMAKE_INSTALL_PREFIX
$DEV/robotology-superbuild/build/install
Xsens_INCLUDE_DIR
(Only forWindows
)C:/Program Files/Xsens/MVN SDK 2018.0.3/SDK Files/x64/include
Xsens_xme_LIBRARY
(Only forWindows
)C:/Program Files/Xsens/MVN SDK 2018.0.3/SDK Files/x64/lib/xme64.lib
Xsens_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-estimation
software is under development and the stable branch for running the fullHDE
may change) -
configure the following CMake variables and then generate (via
CMake GUI
or terminal):CMake Variables SOURCE CODE:
$DEV/human-dynamics-estimation
BUILD IN:
$DEV/human-dynamics-estimation/build
CMAKE_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