Skip to content

Error when calling MeshcatVisualizer.load_model_from_file() function #1259

@LoreMoretti

Description

@LoreMoretti

I am getting the following error when calling MeshcatVisualizer.load_model_from_file() function:

Using URDF model from: /home/lomoretti/mambaforge/envs/MeshcatVizBug/share/ergoCub/robots/ergoCubSN000/model.urdf
You can open the visualizer by visiting the following URL:
http://127.0.0.1:7000/static/
Traceback (most recent call last):
  File "<python-input-0>", line 20, in <module>
    visualizer.load_model_from_file(ergo_urdf_path, joint_names_list, robot_name)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lomoretti/mambaforge/envs/MeshcatVizBug/lib/python3.13/site-packages/idyntree/visualize/meshcat_visualizer.py", line 609, in load_model_from_file
    ok = model_loader.loadReducedModelFromFile(path_str, considered_joints_idyn)
  File "/home/lomoretti/mambaforge/envs/MeshcatVizBug/lib/python3.13/site-packages/idyntree/swig.py", line 5694, in loadReducedModelFromFile
    return _iDynTree.ModelLoader_loadReducedModelFromFile(self, *args)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
TypeError: Wrong number or type of arguments for overloaded function 'ModelLoader_loadReducedModelFromFile'.
  Possible C/C++ prototypes are:
    iDynTree::ModelLoader::loadReducedModelFromFile(std::string const,std::vector< std::string,std::allocator< std::string > > const &,std::string const,std::vector< std::string,std::allocator< std::string > > const &)
    iDynTree::ModelLoader::loadReducedModelFromFile(std::string const,std::vector< std::string,std::allocator< std::string > > const &,std::string const)
    iDynTree::ModelLoader::loadReducedModelFromFile(std::string const,std::vector< std::string,std::allocator< std::string > > const &)
    iDynTree::ModelLoader::loadReducedModelFromFile(std::string const,std::vector< std::string,std::allocator< std::string > > const &,std::unordered_map< std::string,double,std::hash< std::string >,std::equal_to< std::string >,std::allocator< std::pair< std::string const,double > > > const &,std::string const,std::vector< std::string,std::allocator< std::string > > const &)
    iDynTree::ModelLoader::loadReducedModelFromFile(std::string const,std::vector< std::string,std::allocator< std::string > > const &,std::unordered_map< std::string,double,std::hash< std::string >,std::equal_to< std::string >,std::allocator< std::pair< std::string const,double > > > const &,std::string const)
    iDynTree::ModelLoader::loadReducedModelFromFile(std::string const,std::vector< std::string,std::allocator< std::string > > const &,std::unordered_map< std::string,double,std::hash< std::string >,std::equal_to< std::string >,std::allocator< std::pair< std::string const,double > > > const &)

Here the script which is throwing the error:

import os
import yarp
from idyntree.visualize import MeshcatVisualizer

network = yarp.Network()
os.environ["YARP_ROBOT_NAME"] = "ergoCubSN000"
ergo_urdf_path = yarp.ResourceFinder().findFileByName("model.urdf")
print("Using URDF model from:", ergo_urdf_path)
robot_name = "ergoCub"

joint_names_list = [
    "torso_pitch","torso_roll","torso_yaw",
    "l_shoulder_pitch","l_shoulder_roll","l_shoulder_yaw","l_elbow",
    "r_shoulder_pitch","r_shoulder_roll","r_shoulder_yaw","r_elbow",
    "l_hip_pitch","l_hip_roll","l_hip_yaw","l_knee","l_ankle_pitch","l_ankle_roll",
    "r_hip_pitch","r_hip_roll","r_hip_yaw","r_knee","r_ankle_pitch","r_ankle_roll",
]

visualizer = MeshcatVisualizer()
visualizer.load_model_from_file(ergo_urdf_path, joint_names_list, robot_name)

I have installed all dependencies in a conda environment:

conda install python ergocub-software yarp idyntree meshcat-python

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions