Giter Club home page Giter Club logo

hector_simulation's Introduction

Hector Open-source Simulation Software in ROS

HECTOR: Humanoid for Enhanced ConTrol and Open-source Research

This branch contains the ROS+Gazebo simulation for the Hector humanoid robot.

For humanoid ROS model with arms use the ROS_Humanoid_Simulation branch.

Introduction Video: https://youtu.be/NcW-NFwjMh0

Video associated with preprint "Dynamic Loco-manipulation on HECTOR: Humanoid for Enhanced ConTrol and Open-source Research": https://youtu.be/-r0QoxQgshk

Dependencies:

sudo apt-get install ros-noetic-controller-manager ros-noetic-ros-control ros-noetic-ros-controllers ros-noetic-joint-state-controller ros-noetic-effort-controllers ros-noetic-velocity-controllers ros-noetic-position-controllers ros-noetic-robot-controllers ros-noetic-robot-state-publisher ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control

System Requirements:

If you want to simulate with Gazebo, we recommend x86 platform. ARM platform is not suggested for simulation. So, if you run this code on ARM platform, please remove Simulation related folder first.

The current system environment is:

  • Ubuntu 20.04 + ROS Noetic* (recommended, tested stable)

Configuration:

Use command to open .bashrc file:

  • gedit ~/.bashrc

Make sure the following exist in your ~/.bashrc file or export them in terminal. noetic, gazebo-11 and ~/catkin_ws should be replaced in your own case.

source /opt/ros/noetic/setup.bash
source /usr/share/gazebo-11/setup.sh
source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=~/catkin_ws:${ROS_PACKAGE_PATH}
export GAZEBO_PLUGIN_PATH=~/catkin_ws/devel/lib:${GAZEBO_PLUGIN_PATH}
export LD_LIBRARY_PATH=~/catkin_ws/devel/lib:${LD_LIBRARY_PATH}

Build:

  • cd ~/catkin_ws
  • catkin_make

NOTE: If it is the first time to compile, Please compile the laikago_msgs first by following command:

complie the package

  • catkin_make -DCMAKE_BUILD_TYPE=Release

launch and run gazebo simulation:

  • roslaunch unitree_gazebo biped.launch The robot should be standing on the ground

  • In a new terminal, enter and source your workspace, then run: rosrun hector_control hector_ctrl

  • Click the start button at the bottom of the simulator, the robot should stand up/move away

  • In some occasions the controller does not kick in after starting, please terminate the controller with ctrl + \. Then go back to the simulator, pause, and reset (ctrl + R). Rerun controller.

Keyboard Control:

  • Inside the terminal window, use W or S to control x direction speed
  • Use A or D to control robot turning
  • Use J or L to control y direction speed

Cite Us:

Thank you for choosing our software for your research and development, we highly appreciate your citing our work:

  1. HECTOR Project: "Dynamic Loco-manipulation on HECTOR: Humanoid for Enhanced ConTrol and Open-source Research" https://arxiv.org/pdf/2312.11868.pdf
@article{li2023dynamic,
  title={Dynamic Loco-manipulation on HECTOR: Humanoid for Enhanced ConTrol and Open-source Research},
  author={Li, Junheng and Ma, Junchao and Kolt, Omar and Shah, Manas and Nguyen, Quan},
  journal={arXiv preprint arXiv:2312.11868},
  year={2023}
}
  1. Force-and-moment-based Locomotion MPC: "Force-and-moment-based model predictive control for achieving highly dynamic locomotion on bipedal robots" https://arxiv.org/abs/2104.00065
  @inproceedings{li2021force,
  title={Force-and-moment-based model predictive control for achieving highly dynamic locomotion on bipedal robots},
  author={Li, Junheng and Nguyen, Quan},
  booktitle={2021 60th IEEE Conference on Decision and Control (CDC)},
  pages={1024--1030},
  year={2021},
  organization={IEEE}
}

Contact Information:

Junheng Li -- [email protected] Yiyu Chen -- [email protected]

License

Please read the License.md for details.

Acknowledgement:

The authors would like to express special thanks to MIT Biomimetic Lab for providing the cheetah MPC framework and Unitree Robotics for providing the Unitree gazebo simulation framework.

hector_simulation's People

Contributors

junhengl avatar oskooo avatar yiyuc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hector_simulation's Issues

the robot will fall down once the simulation is start

aa

the terminal show info
'''
Right Hip 1 torque cmd = 0.147943
Right Hip 2 torque cmd = -17.1535
Right Thigh torque cmd = 3.37865
Right Knee torque cmd = 47.6448
Right Toe torque cmd = 2.91999
motor joint data0: 0
motor joint data1: 0
motor joint data2: 0
motor joint data3: 0
motor joint data4: 0
motor joint data5: 0
motor joint data6: 0
motor joint data7: 0
motor joint data8: 0
motor joint data9: 0
swing 0: 0.21
Contact 0: 0
swing 1: 0
Contact 1: 0.21
legtau0: 0
legtau1: 0
legtau2: 0
legtau3: 0
legtau4: 0
Left Hip 1 torque cmd = 0
Left Hip 2 torque cmd = 1.58785
Left Thigh torque cmd = -0.000794176
Left Knee torque cmd = -2.29608
Left Toe torque cmd = 0
legtau0: 0.147943
legtau1: -17.1535
legtau2: 3.37865
legtau3: 47.6448
legtau4: 2.91999
Right Hip 1 torque cmd = 0.147943
Right Hip 2 torque cmd = -17.1535
Right Thigh torque cmd = 3.37865
Right Knee torque cmd = 47.6448
Right Toe torque cmd = 2.91999
motor joint data0: 0
motor joint data1: 0
motor joint data2: 0
motor joint data3: 0
motor joint data4: 0
motor joint data5: 0
motor joint data6: 0
motor joint data7: 0
motor joint data8: 0
motor joint data9: 0
'''

and
robot@test:~/ws_hector$ rostopic echo /hector_gazebo/L_hip_controller/state
WARNING: no messages received and simulated time is active.
Is /clock being published?

question

I want to know which parts of the code I should modify to adapt the controller to my own model if I import my own robot urdf ?

ROS platform install unscuessfull , eigen problem

我安装的是从官网下载的最新的 eigen 3.4 , 编译, 安装的
这是编译时产生的日志:

`
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3 -DCMAKE_BUILD_TYPE=Release
Base path: /home/ubuntu/catkin_ws
Source space: /home/ubuntu/catkin_ws/src
Build space: /home/ubuntu/catkin_ws/build
Devel space: /home/ubuntu/catkin_ws/devel
Install space: /home/ubuntu/catkin_ws/install

Running command: "cmake /home/ubuntu/catkin_ws/src -DPYTHON_EXECUTABLE=/usr/bin/python3 -DCMAKE_BUILD_TYPE=Release -DCATKIN_DEVEL_PREFIX=/home/ubuntu/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/ubuntu/catkin_ws/install -G Unix Makefiles" in "/home/ubuntu/catkin_ws/build"

-- Using CATKIN_DEVEL_PREFIX: /home/ubuntu/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/noetic
-- This workspace overlays: /opt/ros/noetic
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/ubuntu/catkin_ws/build/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.10")
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.10
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 6 packages in topological order:
-- ~~ - hector_description
-- ~~ - unitree_legged_msgs
-- ~~ - unitree_legged_control
-- ~~ - hector_control
-- ~~ - unitree_controller
-- ~~ - unitree_gazebo
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'hector_description'
-- ==> add_subdirectory(hector_description)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- +++ processing catkin package: 'unitree_legged_msgs'
-- ==> add_subdirectory(unitree_ros/unitree_legged_msgs)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- unitree_legged_msgs: 11 messages, 0 services
-- +++ processing catkin package: 'unitree_legged_control'
-- ==> add_subdirectory(unitree_ros/unitree_legged_control)
-- +++ processing catkin package: 'hector_control'
-- ==> add_subdirectory(hector_control)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
CMake Error at /usr/share/dart/cmake/DARTFindEigen3.cmake:14 (message):
Eigen3 is found but >= 3.2.92 (3.3~beta1) is required
Call Stack (most recent call first):
/usr/share/dart/cmake/dart_dartComponent.cmake:6 (include)
/usr/share/dart/cmake/DARTConfig.cmake:63 (include)
/usr/share/dart/cmake/DARTConfig.cmake:123 (dart_traverse_components)
/usr/share/dart/cmake/DARTConfig.cmake:171 (dart_package_init)
/usr/lib/x86_64-linux-gnu/cmake/gazebo/gazebo-config.cmake:166 (find_package)
hector_control/CMakeLists.txt:23 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/ubuntu/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/ubuntu/catkin_ws/build/CMakeFiles/CMakeError.log".
`

Is the mechanical design available?

Hello

Thanks for the wonderful work!

I am interested in humanoid robot and have roughly skimmed your articles and repo, but I can only find the mesh you used in Gazebo simulation. I want to make my own robot in the real world and I wonder if the mechanical design (like solidworks files) is available.

Thanks for your attention.

About the horizonLength of MPC controllor

Outstanding work!

I hope to try changing the horizonLength of the MPC controllor to see how the controllor works. However, when I turn the horizonLength to less than 10, the following error happened:

hector_ctrl: malloc.c:4036: _int_malloc: Assertion (unsigned long) (size) >= (unsigned long) (nb) failed.

Could you give me some advice, thank you!

Problems about rotation matrix and euler angle

Thanks for your great job!
But when I read your source code, I find something wired.
2023-12-12 17-00-41屏幕截图
In the file SolverMPC.cpp, why you first obtain Euler angle from Quaternion, and then get rotation matrix from euler angle? Why use this instead of rs.R_yaw? And when I use rs.R_yaw, the simulation will fail. But as described in your essay, the rotation matrix should be rs.R_yaw.
Also, I don't know the function euler_to_rotation().
2023-12-12 17-15-32屏幕截图
Why the return value is this?What is the physical meaning behind the return value?

Unable to make, Missing lcm/lcm-ccp.hpp

System: Intel platform with WSL Ubuntu 20.04 LTS
I followed the instruction, but having trouble while building it.

In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/KeyBoard.h:11,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/KeyBoard.cpp:1:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:310: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/interface/KeyBoard.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState_Passive.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSMState_Passive.cpp:1:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:180: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState_Passive.cpp.o] Error 1
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/../interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/DesiredCommand.h:15,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/ControlFSMData.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/SwingLegController.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/SwingLegController.cpp:1:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState_Walking.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSMState_Walking.cpp:1:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:284: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/common/SwingLegController.cpp.o] Error 1
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:206: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState_Walking.cpp.o] Error 1
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/DesiredCommand.h:15,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/DesiredCommand.cpp:1:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/../interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/DesiredCommand.h:15,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/ControlFSMData.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/main.cpp:7:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:219: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/common/DesiredCommand.cpp.o] Error 1
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:63: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/main.cpp.o] Error 1
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSMState.cpp:1:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:167: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState.cpp.o] Error 1
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/../interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/DesiredCommand.h:15,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/ControlFSMData.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/SwingLegController.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/ConvexMPCLocomotion.h:6,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/ConvexMPCLocomotion.cpp:4:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSM.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSM.cpp:1:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:89: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/ConvexMPC/ConvexMPCLocomotion.cpp.o] Error 1
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:154: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSM.cpp.o] Error 1
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/IOInterface.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/CheatIO.h:7,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/CheatIO.cpp:1:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState_TO.h:6,
from /home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSMState_TO.cpp:1:
/home/rui/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: No such file or directory
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:297: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/interface/CheatIO.cpp.o] Error 1
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:193: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState_TO.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3153: Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j20 -l20" failed

moving forward failed in simulink

Hello,

I set vx = 0.5 (desired x_velocity ) for the Hector in Matlab/simulink without any rotation mode, and it failed to walk after 3 steps. I tried to tune the weight factor in MPC controller, but it still doesn't work. Any suggestion, please?

Unable to make

I was trying to build this repository on my computer(Ubuntu 20.04 ROS Neotic) but the output is like this

catkin_make -DCMAKE_BUILD_TYPE=Release
Base path: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws
Source space: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/src
Build space: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/build
Devel space: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel
Install space: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/install
####
#### Running command: "cmake /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/src -DCMAKE_BUILD_TYPE=Release -DCATKIN_DEVEL_PREFIX=/home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/install -G Unix Makefiles" in "/home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/build"
####
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/hwt-ubuntu/Documents/limxdynamics/pointfoot-gazebo-ros/install;/opt/ros/noetic
-- This workspace overlays: /home/hwt-ubuntu/Documents/limxdynamics/pointfoot-gazebo-ros/install;/opt/ros/noetic
-- Found PythonInterp: /home/hwt-ubuntu/miniconda3/envs/ros-neotic/bin/python3 (found suitable version "3.8.18", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /home/hwt-ubuntu/miniconda3/envs/ros-neotic/bin/python3
-- Using Debian Python package layout
-- Found PY_em: /home/hwt-ubuntu/miniconda3/envs/ros-neotic/lib/python3.8/site-packages/em.py
-- Using empy: /home/hwt-ubuntu/miniconda3/envs/ros-neotic/lib/python3.8/site-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/build/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /home/hwt-ubuntu/miniconda3/envs/ros-neotic/bin/python3 (found version "3.8.18")
-- Found Threads: TRUE
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.10
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 6 packages in topological order:
-- ~~  - hector_description
-- ~~  - unitree_legged_msgs
-- ~~  - unitree_legged_control
-- ~~  - hector_control
-- ~~  - unitree_controller
-- ~~  - unitree_gazebo
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'hector_description'
-- ==> add_subdirectory(hector_description)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- +++ processing catkin package: 'unitree_legged_msgs'
-- ==> add_subdirectory(unitree_ros/unitree_legged_msgs)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- unitree_legged_msgs: 11 messages, 0 services
-- +++ processing catkin package: 'unitree_legged_control'
-- ==> add_subdirectory(unitree_ros/unitree_legged_control)
-- +++ processing catkin package: 'hector_control'
-- ==> add_subdirectory(hector_control)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'bullet>=2.82'
--   Found bullet, version 2.88
-- Found ccd: /usr/include (found suitable version "2.0", minimum required is "2.0")
-- Found fcl: /opt/ros/noetic/include (found suitable version "0.6.1", minimum required is "0.3.2")
-- Found assimp: /usr/include (found version "5.0.0")
-- Found DART: /usr/include (Required is at least version "6.6") found components: dart
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.40.0") found components: thread system filesystem program_options regex iostreams date_time
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.6.1")
-- Looking for ignition-math6 -- found version 6.15.1
-- Searching for dependencies of ignition-math6
-- Looking for OGRE...
-- OGRE_PREFIX_WATCH changed.
-- Checking for module 'OGRE'
--   Found OGRE, version 1.9.0
-- Found Ogre Ghadamon (1.9.0)
-- Found OGRE: optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so
-- Looking for OGRE_Paging...
-- Found OGRE_Paging: optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so
-- Looking for OGRE_Terrain...
-- Found OGRE_Terrain: optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so
-- Looking for OGRE_Property...
-- Found OGRE_Property: optimized;/usr/lib/x86_64-linux-gnu/libOgreProperty.so;debug;/usr/lib/x86_64-linux-gnu/libOgreProperty.so
-- Looking for OGRE_RTShaderSystem...
-- Found OGRE_RTShaderSystem: optimized;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so;debug;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so
-- Looking for OGRE_Volume...
-- Found OGRE_Volume: optimized;/usr/lib/x86_64-linux-gnu/libOgreVolume.so;debug;/usr/lib/x86_64-linux-gnu/libOgreVolume.so
-- Looking for OGRE_Overlay...
-- Found OGRE_Overlay: optimized;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so;debug;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so
-- Looking for ignition-math6 -- found version 6.15.1
-- Looking for ignition-transport8 -- found version 8.3.0
-- Searching for dependencies of ignition-transport8
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found suitable version "3.6.1", minimum required is "3")
-- Config-file not installed for ZeroMQ -- checking for pkg-config
-- Checking for module 'libzmq >= 4'
--   Found libzmq , version 4.3.2
-- Found ZeroMQ: TRUE (Required is at least version "4")
-- Checking for module 'uuid'
--   Found uuid, version 2.34.0
-- Found UUID: TRUE
-- Looking for ignition-msgs5 -- found version 5.10.0
-- Searching for dependencies of ignition-msgs5
-- Looking for ignition-math6 -- found version 6.15.1
-- Checking for module 'tinyxml2'
--   Found tinyxml2, version 6.2.0
-- Looking for ignition-msgs5 -- found version 5.10.0
-- Looking for ignition-common3 -- found version 3.14.2
-- Searching for dependencies of ignition-common3
-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- Found DL: TRUE
-- Searching for <ignition-common3> component [graphics]
-- Looking for ignition-common3-graphics -- found version 3.14.2
-- Searching for dependencies of ignition-common3-graphics
-- Looking for ignition-math6 -- found version 6.15.1
-- Looking for ignition-fuel_tools4 -- found version 4.6.0
-- Searching for dependencies of ignition-fuel_tools4
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.68.0")
-- Checking for module 'jsoncpp'
--   Found jsoncpp, version 1.7.4
-- Found JSONCPP: TRUE
-- Checking for module 'yaml-0.1'
--   Found yaml-0.1, version 0.2.2
-- Found YAML: TRUE
-- Checking for module 'libzip'
--   Found libzip, version 1.5.1
-- Found ZIP: TRUE
-- Looking for ignition-common3 -- found version 3.14.2
-- Looking for ignition-math6 -- found version 6.15.1
-- Looking for ignition-msgs5 -- found version 5.10.0
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0")
-- +++ processing catkin package: 'unitree_controller'
-- ==> add_subdirectory(unitree_ros/unitree_controller)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Found DART: /usr/include (Required is at least version "6.6") found components: dart
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.40.0") found components: thread system filesystem program_options regex iostreams date_time
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.6.1")
-- Looking for ignition-math6 -- found version 6.15.1
-- Searching for dependencies of ignition-math6
-- Looking for OGRE...
-- Found Ogre Ghadamon (1.9.0)
-- Found OGRE: optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so
-- Looking for OGRE_Paging...
-- Found OGRE_Paging: optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so
-- Looking for OGRE_Terrain...
-- Found OGRE_Terrain: optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so
-- Looking for OGRE_Property...
-- Found OGRE_Property: optimized;/usr/lib/x86_64-linux-gnu/libOgreProperty.so;debug;/usr/lib/x86_64-linux-gnu/libOgreProperty.so
-- Looking for OGRE_RTShaderSystem...
-- Found OGRE_RTShaderSystem: optimized;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so;debug;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so
-- Looking for OGRE_Volume...
-- Found OGRE_Volume: optimized;/usr/lib/x86_64-linux-gnu/libOgreVolume.so;debug;/usr/lib/x86_64-linux-gnu/libOgreVolume.so
-- Looking for OGRE_Overlay...
-- Found OGRE_Overlay: optimized;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so;debug;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so
-- Looking for ignition-math6 -- found version 6.15.1
-- Looking for ignition-transport8 -- found version 8.3.0
-- Searching for dependencies of ignition-transport8
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found suitable version "3.6.1", minimum required is "3")
-- Config-file not installed for ZeroMQ -- checking for pkg-config
-- Checking for module 'libzmq >= 4'
--   Found libzmq , version 4.3.2
-- Checking for module 'uuid'
--   Found uuid, version 2.34.0
-- Looking for ignition-msgs5 -- found version 5.10.0
-- Searching for dependencies of ignition-msgs5
-- Looking for ignition-math6 -- found version 6.15.1
-- Checking for module 'tinyxml2'
--   Found tinyxml2, version 6.2.0
-- Looking for ignition-msgs5 -- found version 5.10.0
-- Looking for ignition-common3 -- found version 3.14.2
-- Searching for dependencies of ignition-common3
-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- Searching for <ignition-common3> component [graphics]
-- Looking for ignition-common3-graphics -- found version 3.14.2
-- Searching for dependencies of ignition-common3-graphics
-- Looking for ignition-math6 -- found version 6.15.1
-- Looking for ignition-fuel_tools4 -- found version 4.6.0
-- Searching for dependencies of ignition-fuel_tools4
-- Checking for module 'jsoncpp'
--   Found jsoncpp, version 1.7.4
-- Checking for module 'yaml-0.1'
--   Found yaml-0.1, version 0.2.2
-- Checking for module 'libzip'
--   Found libzip, version 1.5.1
-- Looking for ignition-common3 -- found version 3.14.2
-- Looking for ignition-math6 -- found version 6.15.1
-- Looking for ignition-msgs5 -- found version 5.10.0
-- +++ processing catkin package: 'unitree_gazebo'
-- ==> add_subdirectory(unitree_ros/unitree_gazebo)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Found DART: /usr/include (Required is at least version "6.6") found components: dart
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.6.1")
-- Looking for ignition-math6 -- found version 6.15.1
-- Searching for dependencies of ignition-math6
-- Looking for OGRE...
-- Found Ogre Ghadamon (1.9.0)
-- Found OGRE: optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so
-- Looking for OGRE_Paging...
-- Found OGRE_Paging: optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so
-- Looking for OGRE_Terrain...
-- Found OGRE_Terrain: optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so
-- Looking for OGRE_Property...
-- Found OGRE_Property: optimized;/usr/lib/x86_64-linux-gnu/libOgreProperty.so;debug;/usr/lib/x86_64-linux-gnu/libOgreProperty.so
-- Looking for OGRE_RTShaderSystem...
-- Found OGRE_RTShaderSystem: optimized;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so;debug;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so
-- Looking for OGRE_Volume...
-- Found OGRE_Volume: optimized;/usr/lib/x86_64-linux-gnu/libOgreVolume.so;debug;/usr/lib/x86_64-linux-gnu/libOgreVolume.so
-- Looking for OGRE_Overlay...
-- Found OGRE_Overlay: optimized;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so;debug;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so
-- Looking for ignition-math6 -- found version 6.15.1
-- Looking for ignition-transport8 -- found version 8.3.0
-- Searching for dependencies of ignition-transport8
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found suitable version "3.6.1", minimum required is "3")
-- Config-file not installed for ZeroMQ -- checking for pkg-config
-- Checking for module 'libzmq >= 4'
--   Found libzmq , version 4.3.2
-- Checking for module 'uuid'
--   Found uuid, version 2.34.0
-- Looking for ignition-msgs5 -- found version 5.10.0
-- Searching for dependencies of ignition-msgs5
-- Looking for ignition-math6 -- found version 6.15.1
-- Checking for module 'tinyxml2'
--   Found tinyxml2, version 6.2.0
-- Looking for ignition-msgs5 -- found version 5.10.0
-- Looking for ignition-common3 -- found version 3.14.2
-- Searching for dependencies of ignition-common3
-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- Searching for <ignition-common3> component [graphics]
-- Looking for ignition-common3-graphics -- found version 3.14.2
-- Searching for dependencies of ignition-common3-graphics
-- Looking for ignition-math6 -- found version 6.15.1
-- Looking for ignition-fuel_tools4 -- found version 4.6.0
-- Searching for dependencies of ignition-fuel_tools4
-- Checking for module 'jsoncpp'
--   Found jsoncpp, version 1.7.4
-- Checking for module 'yaml-0.1'
--   Found yaml-0.1, version 0.2.2
-- Checking for module 'libzip'
--   Found libzip, version 1.5.1
-- Looking for ignition-common3 -- found version 3.14.2
-- Looking for ignition-math6 -- found version 6.15.1
-- Looking for ignition-msgs5 -- found version 5.10.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/build
####
#### Running command: "make -j24 -l24" in "/home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/build"
####
Scanning dependencies of target std_msgs_generate_messages_cpp
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_HighState
Scanning dependencies of target geometry_msgs_generate_messages_cpp
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_MotorCmd
Scanning dependencies of target sensor_msgs_generate_messages_cpp
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_LED
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_MotorState
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_BmsState
Scanning dependencies of target sensor_msgs_generate_messages_py
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_HighCmd
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_LowCmd
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_BmsCmd
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_LowState
Scanning dependencies of target geometry_msgs_generate_messages_py
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_Cartesian
Scanning dependencies of target _unitree_legged_msgs_generate_messages_check_deps_IMU
Scanning dependencies of target std_msgs_generate_messages_py
Scanning dependencies of target geometry_msgs_generate_messages_nodejs
Scanning dependencies of target std_msgs_generate_messages_nodejs
Scanning dependencies of target sensor_msgs_generate_messages_nodejs
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target sensor_msgs_generate_messages_cpp
Scanning dependencies of target sensor_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_cpp
Scanning dependencies of target geometry_msgs_generate_messages_lisp
Scanning dependencies of target std_msgs_generate_messages_lisp
Scanning dependencies of target std_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target sensor_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target sensor_msgs_generate_messages_nodejs
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target geometry_msgs_generate_messages_lisp
Scanning dependencies of target sensor_msgs_generate_messages_eus
[  0%] Built target sensor_msgs_generate_messages_py
Scanning dependencies of target geometry_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target sensor_msgs_generate_messages_eus
Scanning dependencies of target unitree_move_kinetic
Scanning dependencies of target qpOASES
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_MotorState
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_IMU
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_LED
Scanning dependencies of target unitreeFootContactPlugin
Scanning dependencies of target unitree_external_force
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_BmsCmd
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_Cartesian
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_LowState
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_HighState
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_MotorCmd
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_BmsState
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_HighCmd
[  0%] Built target _unitree_legged_msgs_generate_messages_check_deps_LowCmd
[  1%] Building CXX object unitree_ros/unitree_controller/CMakeFiles/unitree_move_kinetic.dir/src/move_publisher.cpp.o
Scanning dependencies of target unitree_legged_msgs_generate_messages_cpp
Scanning dependencies of target unitree_legged_msgs_generate_messages_py
Scanning dependencies of target unitree_legged_msgs_generate_messages_nodejs
Scanning dependencies of target unitree_legged_msgs_generate_messages_eus
[  2%] Building CXX object unitree_ros/unitree_controller/CMakeFiles/unitree_external_force.dir/src/external_force.cpp.o
Scanning dependencies of target unitree_legged_msgs_generate_messages_lisp
[  3%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/BLASReplacement.cpp.o
[  4%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/Bounds.cpp.o
[  5%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/LAPACKReplacement.cpp.o
[  6%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/MessageHandling.cpp.o
[  7%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/Constraints.cpp.o
[  9%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/Flipper.cpp.o
[  9%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/Indexlist.cpp.o
[  9%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/OQPinterface.cpp.o
[ 10%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/Options.cpp.o
[ 10%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/QProblemB.cpp.o
[ 11%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/Matrices.cpp.o
[ 12%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/SQProblemSchur.cpp.o
[ 13%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/SQProblem.cpp.o
[ 14%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/QProblem.cpp.o
[ 14%] Generating Python from MSG unitree_legged_msgs/MotorCmd
[ 15%] Generating Javascript code from unitree_legged_msgs/MotorCmd.msg
[ 17%] Generating C++ code from unitree_legged_msgs/MotorCmd.msg
[ 18%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/SolutionAnalysis.cpp.o
[ 19%] Generating C++ code from unitree_legged_msgs/MotorState.msg
[ 20%] Generating EusLisp code from unitree_legged_msgs/MotorCmd.msg
[ 21%] Generating Lisp code from unitree_legged_msgs/MotorCmd.msg
Traceback (most recent call last):
  File "/opt/ros/noetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 49, in <module>
    genmsg.template_tools.generate_from_command_line_options(
  File "/opt/ros/noetic/lib/python3/dist-packages/genmsg/template_tools.py", line 213, in generate_from_command_line_options
Traceback (most recent call last):
  File "/opt/ros/noetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 49, in <module>
    generate_from_file(argv[1], options.package, options.outdir, options.emdir, options.includepath, msg_template_dict, srv_template_dict)
    genmsg.template_tools.generate_from_command_line_options(
  File "/opt/ros/noetic/lib/python3/dist-packages/genmsg/template_tools.py", line 213, in generate_from_command_line_options
  File "/opt/ros/noetic/lib/python3/dist-packages/genmsg/template_tools.py", line 154, in generate_from_file
    generate_from_file(argv[1], options.package, options.outdir, options.emdir, options.includepath, msg_template_dict, srv_template_dict)
  File "/opt/ros/noetic/lib/python3/dist-packages/genmsg/template_tools.py", line 154, in generate_from_file
    _generate_msg_from_file(input_file, output_dir, template_dir, search_path, package_name, msg_template_dict)
  File "/opt/ros/noetic/lib/python3/dist-packages/genmsg/template_tools.py", line 93, in _generate_msg_from_file
    _generate_msg_from_file(input_file, output_dir, template_dir, search_path, package_name, msg_template_dict)
    _generate_from_spec(input_file,
  File "/opt/ros/noetic/lib/python3/dist-packages/genmsg/template_tools.py", line 77, in _generate_from_spec
  File "/opt/ros/noetic/lib/python3/dist-packages/genmsg/template_tools.py", line 93, in _generate_msg_from_file
    interpreter = em.Interpreter(output=ofile, globals=g, options={em.RAW_OPT:True,em.BUFFERED_OPT:True})
AttributeError: module 'em' has no attribute 'RAW_OPT'
    _generate_from_spec(input_file,
  File "/opt/ros/noetic/lib/python3/dist-packages/genmsg/template_tools.py", line 77, in _generate_from_spec
    interpreter = em.Interpreter(output=ofile, globals=g, options={em.RAW_OPT:True,em.BUFFERED_OPT:True})
AttributeError: module 'em' has no attribute 'RAW_OPT'
make[2]: *** [unitree_ros/unitree_legged_msgs/CMakeFiles/unitree_legged_msgs_generate_messages_cpp.dir/build.make:79: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel/include/unitree_legged_msgs/MotorState.h] Error 1
make[2]: *** Deleting file '/home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel/include/unitree_legged_msgs/MotorState.h'
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [unitree_ros/unitree_legged_msgs/CMakeFiles/unitree_legged_msgs_generate_messages_cpp.dir/build.make:73: /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel/include/unitree_legged_msgs/MotorCmd.h] Error 1
make[2]: *** Deleting file '/home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel/include/unitree_legged_msgs/MotorCmd.h'
[ 22%] Generating Lisp code from unitree_legged_msgs/MotorState.msg
make[1]: *** [CMakeFiles/Makefile2:2262: unitree_ros/unitree_legged_msgs/CMakeFiles/unitree_legged_msgs_generate_messages_cpp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 23%] Generating Javascript code from unitree_legged_msgs/MotorState.msg
[ 23%] Building CXX object unitree_ros/unitree_gazebo/CMakeFiles/unitreeFootContactPlugin.dir/plugin/foot_contact_plugin.cc.o
[ 24%] Generating EusLisp code from unitree_legged_msgs/MotorState.msg
[ 25%] Generating Python from MSG unitree_legged_msgs/MotorState
[ 26%] Generating Python from MSG unitree_legged_msgs/BmsCmd
[ 27%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/SubjectTo.cpp.o
[ 28%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/SparseSolver.cpp.o
[ 29%] Generating Lisp code from unitree_legged_msgs/BmsCmd.msg
[ 30%] Generating Javascript code from unitree_legged_msgs/BmsCmd.msg
[ 31%] Generating Lisp code from unitree_legged_msgs/BmsState.msg
[ 32%] Generating Lisp code from unitree_legged_msgs/Cartesian.msg
[ 34%] Building CXX object hector_control/third_party/qpOASES/CMakeFiles/qpOASES.dir/src/Utils.cpp.o
[ 35%] Generating Javascript code from unitree_legged_msgs/BmsState.msg
[ 36%] Generating Lisp code from unitree_legged_msgs/IMU.msg
[ 37%] Generating EusLisp code from unitree_legged_msgs/BmsCmd.msg
[ 37%] Generating EusLisp code from unitree_legged_msgs/Cartesian.msg
[ 38%] Generating EusLisp code from unitree_legged_msgs/BmsState.msg
[ 38%] Generating Javascript code from unitree_legged_msgs/Cartesian.msg
[ 39%] Generating Javascript code from unitree_legged_msgs/LED.msg
[ 40%] Generating Javascript code from unitree_legged_msgs/IMU.msg
[ 40%] Generating Lisp code from unitree_legged_msgs/LowCmd.msg
[ 41%] Generating EusLisp code from unitree_legged_msgs/IMU.msg
[ 42%] Generating Python from MSG unitree_legged_msgs/BmsState
[ 43%] Generating Lisp code from unitree_legged_msgs/LED.msg
[ 45%] Generating Python from MSG unitree_legged_msgs/Cartesian
[ 45%] Generating Lisp code from unitree_legged_msgs/LowState.msg
[ 46%] Generating Python from MSG unitree_legged_msgs/IMU
[ 47%] Generating Python from MSG unitree_legged_msgs/LED
[ 48%] Generating Python from MSG unitree_legged_msgs/LowCmd
[ 48%] Generating Python from MSG unitree_legged_msgs/LowState
[ 51%] Generating Python from MSG unitree_legged_msgs/HighCmd
[ 51%] Generating Javascript code from unitree_legged_msgs/LowCmd.msg
[ 52%] Generating Python from MSG unitree_legged_msgs/HighState
[ 53%] Generating EusLisp code from unitree_legged_msgs/LED.msg
[ 54%] Generating EusLisp code from unitree_legged_msgs/LowCmd.msg
[ 55%] Generating Javascript code from unitree_legged_msgs/LowState.msg
[ 56%] Generating Lisp code from unitree_legged_msgs/HighState.msg
[ 57%] Generating Javascript code from unitree_legged_msgs/HighCmd.msg
[ 58%] Generating Lisp code from unitree_legged_msgs/HighCmd.msg
[ 60%] Generating EusLisp code from unitree_legged_msgs/HighCmd.msg
[ 59%] Generating EusLisp code from unitree_legged_msgs/LowState.msg
[ 61%] Generating EusLisp code from unitree_legged_msgs/HighState.msg
[ 61%] Generating EusLisp manifest code for unitree_legged_msgs
[ 62%] Generating Javascript code from unitree_legged_msgs/HighState.msg
[ 62%] Built target unitree_legged_msgs_generate_messages_lisp
[ 63%] Generating Python msg __init__.py for unitree_legged_msgs
[ 63%] Built target unitree_legged_msgs_generate_messages_nodejs
[ 63%] Built target unitree_legged_msgs_generate_messages_py
[ 63%] Built target unitree_legged_msgs_generate_messages_eus
[ 64%] Linking CXX executable /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel/lib/unitree_controller/unitree_move_kinetic
[ 64%] Built target unitree_move_kinetic
[ 65%] Linking CXX executable /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel/lib/unitree_controller/unitree_external_force
[ 65%] Built target unitree_external_force
[ 67%] Linking CXX shared library /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel/lib/libqpOASES.so
[ 67%] Built target qpOASES
[ 68%] Linking CXX shared library /home/hwt-ubuntu/Documents/limxdynamics/reference/Hector/catkin_ws/devel/lib/libunitreeFootContactPlugin.so
[ 68%] Built target unitreeFootContactPlugin
make: *** [Makefile:141: all] Error 2
Invoking "make -j24 -l24" failed

confusion about Constraints Matrix

Hello, thanks for your awesome job!
But I have some questions about the constraints matrix in SolverMPC.cpp。
2023-12-17 12-01-59屏幕截图
I know the first four rows of F_control are friction pyramid constraints, and the fifth row of F_control aims to guarantee the moment of X axis equals to zero. But what about the function of the last three rows of F_control? I didn't find the details of this code clip in your essay. Could you please explain this to me? Or can somebody help me?

Robot fall down after clicking the start button

Hello,
I just cloned Hector_Simulation and compiled OK. After Click the start button at the bottom of the simulator, the robot fall down. Which part should I change to make it walk?
Thanks!

ROS platform compile error: assert was not declared in this scope

here is the complete error log:

In file included from /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/LegController.h:31, from /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/StateEstimatorContainer.h:40, from /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/DesiredCommand.h:14, from /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/main.cpp:7: /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/Biped.h: In member function Vec3<double> Biped::getHipLocation(int): /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/Biped.h:37:9: error: assert was not declared in this scope 37 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/Biped.h:1:1: note: assert is defined in header <cassert>; did you forget to #include <cassert>? +++ |+#include <cassert> 1 | #ifndef PROJECT_BIPED_H /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/Biped.h: In member function Vec3<double> Biped::getHip2Location(int): /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/Biped.h:53:9: error: assert was not declared in this scope 53 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/Biped.h:53:9: note: assert is defined in header <cassert>; did you forget to #include <cassert>? In file included from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/LegController.h:31, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/StateEstimatorContainer.h:40, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:14, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState.h:6, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSM.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSM.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h: In member function Vec3<double> Biped::getHipLocation(int): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:37:9: error: assert was not declared in this scope 37 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:1:1: note: assert is defined in header <cassert>; did you forget to #include <cassert>? +++ |+#include <cassert> 1 | #ifndef PROJECT_BIPED_H /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h: In member function Vec3<double> Biped::getHip2Location(int): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:53:9: error: assert was not declared in this scope 53 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:53:9: note: assert is defined in header <cassert>; did you forget to #include <cassert>? In file included from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/LegController.h:31, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/StateEstimatorContainer.h:40, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:14, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState.h:6, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSMState.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h: In member function Vec3<double> Biped::getHipLocation(int): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:37:9: error: assert was not declared in this scope 37 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:1:1: note: assert is defined in header <cassert>; did you forget to #include <cassert>? +++ |+#include <cassert> 1 | #ifndef PROJECT_BIPED_H /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h: In member function Vec3<double> Biped::getHip2Location(int): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:53:9: error: assert was not declared in this scope 53 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:53:9: note: assert is defined in header <cassert>; did you forget to #include <cassert>? In file included from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/LegController.h:31, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/StateEstimatorContainer.h:40, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:14, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState.h:6, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState_Passive.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSMState_Passive.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h: In member function Vec3<double> Biped::getHipLocation(int): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:37:9: error: assert was not declared in this scope 37 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:1:1: note: assert is defined in header <cassert>; did you forget to #include <cassert>? +++ |+#include <cassert> 1 | #ifndef PROJECT_BIPED_H /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h: In member function Vec3<double> Biped::getHip2Location(int): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:53:9: error: assert was not declared in this scope 53 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:53:9: note: assert is defined in header <cassert>; did you forget to #include <cassert>? [ 91%] Building CXX object hector_control/CMakeFiles/hector_ctrl.dir/src/common/DesiredCommand.cpp.o In file included from /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/DesiredCommand.h:15, from /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/main.cpp:7: /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/../interface/CmdPanel.h: In member function virtual void* CmdPanel::run(void*): /home/ubuntu/catkin_ws/src/hector_control/src/../include/common/../interface/CmdPanel.h:70:34: warning: no return statement in function returning non-void [-Wreturn-type] 70 | virtual void *run(void *arg){}; | ^ In file included from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState.h:6, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSM.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSM.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h: In member function virtual void* CmdPanel::run(void*): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:70:34: warning: no return statement in function returning non-void [-Wreturn-type] 70 | virtual void *run(void *arg){}; | ^ In file included from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState.h:6, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSMState.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h: In member function virtual void* CmdPanel::run(void*): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:70:34: warning: no return statement in function returning non-void [-Wreturn-type] 70 | virtual void *run(void *arg){}; | ^ make[2]: *** [hector_control/CMakeFiles/hector_ctrl.dir/build.make:167: hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState.h:6, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState_Passive.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSMState_Passive.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h: In member function virtual void* CmdPanel::run(void*): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:70:34: warning: no return statement in function returning non-void [-Wreturn-type] 70 | virtual void *run(void *arg){}; | ^ make[2]: *** [hector_control/CMakeFiles/hector_ctrl.dir/build.make:154: hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSM.cpp.o] Error 1 In file included from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/LegController.h:31, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/StateEstimatorContainer.h:40, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:14, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState.h:6, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState_Walking.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSMState_Walking.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h: In member function Vec3<double> Biped::getHipLocation(int): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:37:9: error: assert was not declared in this scope 37 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:1:1: note: assert is defined in header <cassert>; did you forget to #include <cassert>? +++ |+#include <cassert> 1 | #ifndef PROJECT_BIPED_H /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h: In member function Vec3<double> Biped::getHip2Location(int): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:53:9: error: assert was not declared in this scope 53 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/Biped.h:53:9: note: assert is defined in header <cassert>; did you forget to #include <cassert>? /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSMState_Passive.cpp: In member function virtual FSMStateName FSMState_Passive::checkTransition(): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSMState_Passive.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type] 39 | } | ^ make[2]: *** [hector_control/CMakeFiles/hector_ctrl.dir/build.make:180: hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState_Passive.cpp.o] Error 1 In file included from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState.h:6, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/FSMState_Walking.h:4, from /home/ubuntu/catkin_ws/src/hector_control/src/FSM/FSMState_Walking.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h: In member function virtual void* CmdPanel::run(void*): /home/ubuntu/catkin_ws/src/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:70:34: warning: no return statement in function returning non-void [-Wreturn-type] 70 | virtual void *run(void *arg){}; | ^ In file included from /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/LegController.h:31, from /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/StateEstimatorContainer.h:40, from /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/DesiredCommand.h:14, from /home/ubuntu/catkin_ws/src/hector_control/src/common/DesiredCommand.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/Biped.h: In member function Vec3<double> Biped::getHipLocation(int): /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/Biped.h:37:9: error: assert was not declared in this scope 37 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/Biped.h:1:1: note: assert is defined in header <cassert>; did you forget to #include <cassert>? +++ |+#include <cassert> 1 | #ifndef PROJECT_BIPED_H /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/Biped.h: In member function Vec3<double> Biped::getHip2Location(int): /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/Biped.h:53:9: error: assert was not declared in this scope 53 | assert(leg >=0 && leg <2); | ^~~~~~ /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/Biped.h:53:9: note: assert is defined in header <cassert>; did you forget to #include <cassert>? make[2]: *** [hector_control/CMakeFiles/hector_ctrl.dir/build.make:193: hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState_Walking.cpp.o] Error 1 In file included from /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/DesiredCommand.h:15, from /home/ubuntu/catkin_ws/src/hector_control/src/common/DesiredCommand.cpp:1: /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/../interface/CmdPanel.h: In member function virtual void* CmdPanel::run(void*): /home/ubuntu/catkin_ws/src/hector_control/src/common/../../include/common/../interface/CmdPanel.h:70:34: warning: no return statement in function returning non-void [-Wreturn-type] 70 | virtual void *run(void *arg){}; | ^ /home/ubuntu/catkin_ws/src/hector_control/src/main.cpp: In function int main(int, char**): /home/ubuntu/catkin_ws/src/hector_control/src/main.cpp:72:11: warning: ignoring return value of int system(const char*), declared with attribute warn_unused_result [-Wunused-result] 72 | system("stty sane"); //Terminal back to normal | ~~~~~~^~~~~~~~~~~~~ make[2]: *** [hector_control/CMakeFiles/hector_ctrl.dir/build.make:63: hector_control/CMakeFiles/hector_ctrl.dir/src/main.cpp.o] Error 1 make[2]: *** [hector_control/CMakeFiles/hector_ctrl.dir/build.make:206: hector_control/CMakeFiles/hector_ctrl.dir/src/common/DesiredCommand.cpp.o] Error 1 [ 91%] Linking CXX shared library /home/ubuntu/catkin_ws/devel/lib/libunitree_legged_control.so [ 91%] Built target unitree_legged_control [ 92%] Linking CXX executable /home/ubuntu/catkin_ws/devel/lib/unitree_controller/unitree_servo [ 92%] Built target unitree_servo make[1]: *** [CMakeFiles/Makefile2:3153: hector_control/CMakeFiles/hector_ctrl.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 93%] Linking CXX shared library /home/ubuntu/catkin_ws/devel/lib/libunitreeFootContactPlugin.so [ 93%] Built target unitreeFootContactPlugin make: *** [Makefile:141: all] Error 2

catkin_make error

Hello, I am encountering some issues while compiling my project. When I run catkin_make, I run into a problem. The same problem occurs when I compile with catkin_make -DCMAKE_BUILD_TYPE=Release. The issue is that it prompts with the following message:
"In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/KeyBoard.h:11,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/KeyBoard.cpp:1:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:310:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/interface/KeyBoard.cpp.o] 错误 1
make[2]: *** 正在等待未完成的任务....
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSM.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSM.cpp:1:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSMState.cpp:1:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:154:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSM.cpp.o] 错误 1
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:167:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState.cpp.o] 错误 1
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/../interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/DesiredCommand.h:15,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/ControlFSMData.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/main.cpp:7:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/../include/common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:63:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/main.cpp.o] 错误 1
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/DesiredCommand.h:15,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/DesiredCommand.cpp:1:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:219:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/common/DesiredCommand.cpp.o] 错误 1
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState_Passive.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSMState_Passive.cpp:1:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:180:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState_Passive.cpp.o] 错误 1
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState_Walking.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSMState_Walking.cpp:1:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:206:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState_Walking.cpp.o] 错误 1
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/../interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/DesiredCommand.h:15,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/ControlFSMData.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/SwingLegController.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/SwingLegController.cpp:1:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/common/../../include/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:284:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/common/SwingLegController.cpp.o] 错误 1
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/../interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/DesiredCommand.h:15,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/ControlFSMData.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/SwingLegController.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/ConvexMPCLocomotion.h:6,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/ConvexMPCLocomotion.cpp:4:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/ConvexMPC/../include/common/../../include/common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:89:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/ConvexMPC/ConvexMPCLocomotion.cpp.o] 错误 1
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/DesiredCommand.h:15,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/ControlFSMData.h:4,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState.h:6,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/FSMState_TO.h:6,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/FSMState_TO.cpp:1:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/FSM/../../include/FSM/../common/../interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:193:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/FSM/FSMState_TO.cpp.o] 错误 1
In file included from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/../sdk/include/unitree_legged_sdk/unitree_legged_sdk.h:12,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/CmdPanel.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/IOInterface.h:38,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/CheatIO.h:7,
from /home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/CheatIO.cpp:1:
/home/xie/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/hector_control/src/interface/../../include/interface/../sdk/include/unitree_legged_sdk/lcm.h:9:10: fatal error: lcm/lcm-cpp.hpp: 没有那个文件或目录
9 | #include <lcm/lcm-cpp.hpp>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/build.make:297:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/src/interface/CheatIO.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:9780:Hector_Simulation/Hector_ROS_Simulation/hector_control/CMakeFiles/hector_ctrl.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2
Invoking "make - -j20 -l20" failed
"

run error in matlab version

Thanks a lot for your work. In Matlab version of this project, it seems the 'DM' function appearing in 'LocomotionMPC_qpoases.m' has not been included. Here is the error message when I run the simulink model 'Hector_Simulation.slx'. (My environment is Matlab R2023a in Linux).

An error occurred while running the simulation and the simulation was terminated
Caused by:
Error due to multiple causes.
Undefined function 'DM' for input arguments of type 'double'.
Error evaluating MATLAB function in 'Hector_Simulation/Controllers/MPC Stance-leg/MPC controller'
Component:Simulink | Category:Model error

Could you help me to solve this problem? Many thanks!

catkin build "make -j4 -l4 failed"

/usr/bin/ld: skipping incompatible /home/ken/Desktop/catkin_ws/src/Hector_Simulation/Hector_ROS_Simulation/unitree_ros/unitree_legged_control/lib/libunitree_joint_control_tool.so when searching for -lunitree_joint_control_tool
/usr/bin/ld: cannot find -lunitree_joint_control_tool
collect2: error: ld returned 1 exit status
make[2]: *** [Hector_Simulation/Hector_ROS_Simulation/unitree_ros/unitree_legged_control/CMakeFiles/unitree_legged_control.dir/build.make:110: /home/ken/Desktop/catkin_ws/devel/lib/libunitree_legged_control.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:2532: Hector_Simulation/Hector_ROS_Simulation/unitree_ros/unitree_legged_control/CMakeFiles/unitree_legged_control.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j4 -l4" failed

I try to catkin_build on my computer but I get this issue, do you know how to fix this?

Robot's trajectory problem

Thanks for your good work!
But some problems occurred when I ran the code.
When I press the start button, the robot's trajectory becomes chaotic.
Screenshot from 2023-10-17 18-10-19

About the MPC sampling frequency and the velocity tracking.

I'm sorry to bother you, but I have the following two confusions hoping to be addressed.

The first question is about the MPC sampling frequency. In the code the variable _iterations_between_mpc is set to 40 i.e. sampling frequency 25hz, as opposed to 33.3 Hz.. Is it due to the stability of the MPC solution?

The second question is about the velocity tracking. When I set the velocity command to vx=0.5, the centre of mass velocity is probably only about 0.3, which doesn't quite match the velocity tracking results from the paper. Can you give me some suggestions to achieve better velocity tracking?

Again, sorry to bother you and look forward to hearing from you!

Robot cannot keep standing

Hello,
I want to see the robot standing in Gazebo.

This line changes the gait pattern.
But in Gazebo, the robot always jumps backword. It cannot keep standing.

In your videos on YouTube, real Hector often keeps standing.
Did you add new algorithm or a standing mode with conventional Joint PD Control?
Or the same code, same Centroidal Model + Force/Moment input MPC-QP?

simplescreenrecorder-2024-06-07_13.25.08.mp4
hector_jump.mp4

Also, we would like to buy Hector V2.

Best,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.