Comments (12)
Just to understand, why are you using Ubuntu 16.04 ? The next releases of YARP will not support Ubuntu 16.04 (see https://github.com/robotology/yarp/blob/master/.github/CONTRIBUTING.md#supported-systems), and so except in cases where a given projects explicitly requires Ubuntu 16.04, we should aim to migrate to Ubuntu 18.04 .
from human-dynamics-estimation.
The iDynTree::ModelLoader
class is contained in the iDynTree::idyntree-modelio-urdf
exported target (see https://github.com/robotology/idyntree/blob/114671fb1a012f6214b35b8462d463fea99781fd/src/model_io/urdf/CMakeLists.txt#L57).
To be honest, I think it is wise to reccomended and document to just link against the list of exported targets ${iDynTree_LIBRARIES}
, that contains all the targets exported by iDynTree, so you are sure to always get everything. The mapping between the specific iDynTree symbols and their target is not properly documented anywhere, and unfortunatly at the moment is not easy to deprecate
a CMake imported target, see https://gitlab.kitware.com/cmake/cmake/issues/17824, so having the symbols <--> target mapping as part of the public API of the library complicates the process of refactoring the symbols between targets (i.e. moving a class for a target to another).
from human-dynamics-estimation.
@kouroshD please document also the details for setting up ma27
solver and other issues related to human model urdfs encountered today.
from human-dynamics-estimation.
- change
/devices/IAnalogSesorToIWear/src/IAnalogSensorToIWear.cpp
, becasue the current implementation is depended on yarp dev branch, by changing this lline it will be compatible with master branch:
updated lines:bool getData(std::vector<double>& vector, const size_t offset = 0) { - std::copy(buffer.data() + offset, buffer.end() + offset, vector.data()); + std::copy(buffer.data() + offset, buffer.data() + buffer.size() + offset, vector.data()); return true; }
As discussed also with @diegoferigo, it may take long to get the release of the new YARP
and for the moment it would be better to ensure the compatibility with the current master
branch of YARP
.
commet the line
#add_subdirectory(HumanControlBoard)
in fileHDE/devices/CMakeLists.txt
: it does not compile in macos currently.
We get the following error when trying to compile it in MacOS
:
[ 42%] Linking CXX shared module ../../lib/yarp/HumanControlBoard.so
Undefined symbols for architecture x86_64:
"iDynTree::ModelLoader::loadModelFromFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o
"iDynTree::ModelLoader::model()", referenced from:
hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o
"iDynTree::ModelLoader::isValid()", referenced from:
hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o
"iDynTree::ModelLoader::ModelLoader()", referenced from:
hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o
"iDynTree::ModelLoader::~ModelLoader()", referenced from:
hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/yarp/HumanControlBoard.so] Error 1
make[1]: *** [devices/HumanControlBoard/CMakeFiles/HumanControlBoard.dir/all] Error 2
make: *** [all] Error 2
from human-dynamics-estimation.
- change
/devices/IAnalogSesorToIWear/src/IAnalogSensorToIWear.cpp
, becasue the current implementation is depended on yarp dev branch, by changing this lline it will be compatible with master branch:
updated lines:bool getData(std::vector<double>& vector, const size_t offset = 0) { - std::copy(buffer.data() + offset, buffer.end() + offset, vector.data()); + std::copy(buffer.data() + offset, buffer.data() + buffer.size() + offset, vector.data()); return true; }
As discussed also with @diegoferigo, it may take long to get the release of the new
YARP
and for the moment it would be better to ensure the compatibility with the currentmaster
branch ofYARP
.
This back-compatibility is introduced with https://github.com/Yeshasvitvs/wearables/pull/5/commits/8aa47b8b9d5b581ca1d64af7e6bd414864906fef. Soon to be merged
from human-dynamics-estimation.
Sure, I will add them following of this issue.
from human-dynamics-estimation.
It was an old installation, I didn't know about this fact. I will migrate to Ubuntu 18.04 soon for the ubuntu machine I am using.
from human-dynamics-estimation.
Great!
from human-dynamics-estimation.
iDynTree branch should be another branch, not master:
cd <idyntree>
git checkout -t feature/improvedRobotStatePublisher
build again the superbuild, but before change the configuartion to:
YCM_EP_DEVEL_MODE_iDynTree : ON
from human-dynamics-estimation.
- Add the install prefix for the wearable and HDE the path to the robotology superbuild install prefix.
- for the Wearable repo:
- Clone it from this branch
- change
/devices/IAnalogSesorToIWear/src/IAnalogSensorToIWear.cpp
, becasue the current implementation is depended on yarp dev branch, by changing this lline it will be compatible with master branch:
updated lines:
bool getData(std::vector<double>& vector, const size_t offset = 0)
{
- std::copy(buffer.data() + offset, buffer.end() + offset, vector.data());
+ std::copy(buffer.data() + offset, buffer.data() + buffer.size() + offset, vector.data());
return true;
}
commet the line #add_subdirectory(HumanControlBoard)
in file HDE/devices/CMakeLists.txt
: it does not compile in macos currently.
comment the follwoing lines in xml configuration file (Human.xml):
<!-- <param name="useRPC">false</param>
<param name="wearableRPCPorts">(/XSensSuit/WearableData/metadataRpc:o)</param> -->
from human-dynamics-estimation.
commet the line
#add_subdirectory(HumanControlBoard)
in fileHDE/devices/CMakeLists.txt
: it does not compile in macos currently.We get the following error when trying to compile it in
MacOS
:[ 42%] Linking CXX shared module ../../lib/yarp/HumanControlBoard.so Undefined symbols for architecture x86_64: "iDynTree::ModelLoader::loadModelFromFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o "iDynTree::ModelLoader::model()", referenced from: hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o "iDynTree::ModelLoader::isValid()", referenced from: hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o "iDynTree::ModelLoader::ModelLoader()", referenced from: hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o "iDynTree::ModelLoader::~ModelLoader()", referenced from: hde::devices::HumanControlBoard::open(yarp::os::Searchable&) in HumanControlBoard.cpp.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [lib/yarp/HumanControlBoard.so] Error 1 make[1]: *** [devices/HumanControlBoard/CMakeFiles/HumanControlBoard.dir/all] Error 2 make: *** [all] Error 2
Apparently, the problem here seems to be solved by adding iDynTree::idyntree-estimation
to the target_link_libraries
(in addition to iDynTree::idyntree-model
) in order to use the ModelLoader
in MacOS
.
I don't think this is meant to be working in this way.
Am I correct @traversaro? In case we can open an issue in iDynTree
.
(The device we are referring to is the humanControlBoard
)
from human-dynamics-estimation.
Since I have not faced more problems, we can close this issue.
from human-dynamics-estimation.
Related Issues (20)
- [HumanLogger] Logger silently failing to save file when attach device not found HOT 15
- Remove teleoperation models for icub2.5 and icub3 HOT 2
- Remove implementation of both IWrapper and IMultipleWrapper from devices HOT 2
- Add joint information to HumanLogger HOT 2
- Migrate MacOS CI from homebrew to conda HOT 2
- Human Logger not terminating when directory not created HOT 3
- [HumanLogger] logger not starting because interface is not ready HOT 2
- Replace usage of `analogServer` HOT 17
- Change Wrapper/Remapper naming convention to `nws`/`nwc` HOT 2
- Add status information to `IHumanState`, `IHumanDynamics` and `IHumanWrench`
- Implement HumanWrenchWrapper and HumanWrenchRemapper devices HOT 1
- HumanControlBoard fails to attach to iHumanState HOT 2
- HumanStateVisualizer is stuck waiting data from HumanStateWrench HOT 2
- CI failing on Windows HOT 3
- Release human-dynamics-estimation v3.0.0 HOT 2
- Add video recording in HumanLogger HOT 1
- cannot set `useDirectBaseMeasurement` to true HOT 1
- Compilation failure with ``yarp`` 3.10
- RViz crashes when launched by yarpmanager
- Re-enable macos and Windows CI April 2024 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from human-dynamics-estimation.