Beispiel #1
0
bool SimpleLeggedOdometry::loadModelFromFileWithSpecifiedDOFs(const std::string filename,
                                                              const std::vector< std::string >& consideredDOFs,
                                                              const std::string /*filetype*/)
{
    Model _modelFull;

    bool parsingCorrect = false;

    parsingCorrect = modelFromURDF(filename,_modelFull);

    if( !parsingCorrect )
    {
        reportError("SimpleLeggedOdometry",
                    "loadModelFromFileWithSpecifiedDOFs",
                    "Error in parsing model from URDF.");
        return false;
    }


    Model _modelReduced;

    // Create a reduced model: this will lump all not considered joints
    iDynTree::createReducedModel(_modelFull,consideredDOFs,_modelReduced);

    return setModel(_modelReduced);
}
Beispiel #2
0
bool ModelLoader::loadModelFromFile(const std::string& filename,
                                    const std::string& /*filetype*/)
{
    Model _model;
    SensorsList _sensors;

    bool parsingCorrect = false;

    parsingCorrect = modelFromURDF(filename,_model);

    if( !parsingCorrect )
    {
        reportError("ModelLoader","loadModelFromFile","Error in parsing model from URDF.");
        return false;
    }

    parsingCorrect = sensorsFromURDF(filename,_model,_sensors);

    if( !parsingCorrect )
    {
        reportError("ModelLoader","loadModelFromFile","Error in parsing sensors from URDF.");
        return false;
    }

    return setModelAndSensors(_model,_sensors);
}
Beispiel #3
0
bool ModelLoader::loadReducedModelFromFile(const std::string filename,
                                           const std::vector< std::string >& consideredJoints,
                                           const std::string /*filetype*/)
{
    SensorsList _sensorsFull, _sensorsReduced;
    Model _modelFull, _modelReduced;

    bool parsingCorrect = modelFromURDF(filename,_modelFull);

    if( !parsingCorrect )
    {
        reportError("ModelLoader","loadReducedModelFromFile","Error in parsing model from URDF.");
        return false;
    }

    parsingCorrect = sensorsFromURDF(filename,_modelFull,_sensorsFull);

    if( !parsingCorrect )
    {
        reportError("ModelLoader","loadReducedModelFromFile","Error in parsing sensors from URDF.");
        return false;
    }

    parsingCorrect = createReducedModelAndSensors(_modelFull,_sensorsFull,consideredJoints,_modelReduced,_sensorsReduced);

    if( !parsingCorrect )
    {
        return false;
    }

    return setModelAndSensors(_modelReduced,_sensorsReduced);
}
Beispiel #4
0
bool sensorsFromURDF(const std::string & urdf_filename,
                     iDynTree::SensorsList & output)
{
    iDynTree::Model model;
    bool ok = modelFromURDF(urdf_filename,model);

    if( !ok )
    {
        std::cerr << "[ERROR] iDynTree::sensorsListFromURDF : error in loading urdf "
                  << urdf_filename << std::endl;
        return false;
    }

    ok = sensorsFromURDF(urdf_filename,model,output);

    return ok;
}
Beispiel #5
0
bool SimpleLeggedOdometry::loadModelFromFile(const std::string filename,
                                             const std::string /*filetype*/)
{
    Model _model;

    bool parsingCorrect = false;

    parsingCorrect = modelFromURDF(filename,_model);

    if( !parsingCorrect )
    {
        reportError("SimpleLeggedOdometry",
                    "loadModelFromFile",
                    "Error in parsing model from URDF.");
        return false;
    }

    return setModel(_model);
}