Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Setup conda environment to run the ergoCub walking controller in Gazebo

Open
#163 18 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
30/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
cpp

Research direction

Start by reproducing the reported mamba environment command and inspect WalkingModule/src/main.cpp and WalkingModule/include/WalkingControllers/WalkingModule/Module.h, especially the missing BipedalLocomotion header. Compare the bipedal-locomotion-framework and icub-main dependency requirements. Done means a documented, solvable environment can build and run the walking controller in Gazebo.

Written by the indexing model from the issue text.

Description

I am trying to reproduce the test performed by @carloscp3009 of running the walking controller on Gazebo, this time by using a conda environment instead of the robotology-superbuild.

I created the environment with the following command:

mamba create -n walking -c robotology -c conda-forge bipedal-locomotion-framework=0.17.0 idyntree yarp icub-contrib-common icub-main osqp-eigen qpoases libunicycle-footstep-planner gazebo catch2 gazebo-yarp-plugins whole-body-estimators icub-models ergocub-software

When building with make I obtained the following error:

In file included from /home/acroci/repos/walking/src/WalkingModule/src/main.cpp:14:
/home/acroci/repos/walking/src/WalkingModule/include/WalkingControllers/WalkingModule/Module.h:25:10: fatal error: BipedalLocomotion/YarpUtilities/VectorsCollectionServer.h: No such file or directory
   25 | #include <BipedalLocomotion/YarpUtilities/VectorsCollectionServer.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@S-Dafarra discovered this is due to the fact that such header is defined in bipedal-locomotion-framework version 0.17.0, whereas version 0.16.0 was installed.

I tried also to pin the version of bipedal-locomotion-framework by running:

mamba create -n walking -c robotology -c conda-forge bipedal-locomotion-framework=0.17.0 idyntree yarp icub-contrib-common icub-main osqp-eigen qpoases libunicycle-footstep-planner gazebo catch2 gazebo-yarp-plugins whole-body-estimators icub-models ergocub-software

but it was not possible to create such environment for dependency incompatibilities:

Looking for: ['bipedal-locomotion-framework=0.17.0', 'idyntree', 'yarp', 'icub-contrib-common', 'icub-main', 'osqp-eigen', 'qpoases', 'libunicycle-footstep-planner', 'gazebo', 'catch2', 'gazebo-yarp-plugins', 'whole-body-estimators', 'icub-models', 'ergocub-software']

robotology/linux-64                                         Using cache
robotology/noarch                                           Using cache
conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache
Could not solve for environment specs
The following packages are incompatible
├─ bipedal-locomotion-framework 0.17.0**  is installable and it requires
│  └─ libbipedal-locomotion-framework 0.17.0 he4f1b30_0, which requires
│     └─ libyarp >=3.9.0,<3.9.1.0a0 , which requires
│        └─ ace >=7.1.2,<7.1.3.0a0 , which can be installed;
└─ icub-main is not installable because there are no viable options
   ├─ icub-main [1.19.1|1.19.2] would require
   │  └─ ace >=7.0.1,<7.0.2.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main [1.19.2|1.20.0] would require
   │  └─ ace >=7.0.2,<7.0.3.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main [1.20.0|1.21.0] would require
   │  └─ ace >=7.0.3,<7.0.4.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main 1.21.0 would require
   │  └─ ace >=7.0.4,<7.0.5.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main 1.22.0 would require
   │  └─ ace >=7.0.5,<7.0.6.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main [1.23.1|1.24.0|1.24.1] would require
   │  └─ ace >=7.0.6,<7.0.7.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main [1.25.0|1.26.0] would require
   │  └─ ace >=7.0.7,<7.0.8.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main [1.26.1|1.27.0|1.28.1] would require
   │  └─ ace >=7.0.8,<7.0.9.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main 1.28.1 would require
   │  └─ ace >=7.0.9,<7.0.10.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main 2.0.2 would require
   │  └─ ace >=7.0.11,<7.0.12.0a0 , which conflicts with any installable versions previously reported;
   ├─ icub-main [2.1.0|2.1.1|2.2.0] would require
   │  └─ ace >=7.1.0,<7.1.1.0a0 , which conflicts with any installable versions previously reported;
   └─ icub-main [2.2.1|2.3.0|2.4.0] would require
      └─ ace >=7.1.1,<7.1.2.0a0 , which conflicts with any installable versions previously reported.

CC @traversaro @S-Dafarra

Dominant language
C++
Stars
162
Forks
51
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from gbionics/walking-controllers

All issues in gbionics/walking-controllers

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.