编译工作空间问题
按照https://github.com/unitreerobotics/unitree_guide里面介绍的,需要把unitree_guide、unitree_ros、unitree_legged_msgs三个功能报放入ROS工作空间src目录下,
报错1. 找不到move_base_msgs
具体内容如下
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "move_base_msgs"
with any of the following names:
move_base_msgsConfig.cmake
move_base_msgs-config.cmake
意思是缺少move_base_msgs
,解决方案为
sudo apt-get install ros-melodic-move-base-msgs #注意匹配ros版本
报错2. /usr/bin/ld: cannot find -llcm
具体内容如下
/usr/bin/ld: cannot find -llcm
collect2: error: ld returned 1 exit status
make[2]: *** [unitree_guide/CMakeFiles/junior_ctrl.dir/build.make:500: /home/zlz/Desktop/unitree_book_ws/devel/lib/unitree_guide/junior_ctrl] Error 1
make[1]: *** [CMakeFiles/Makefile2:3639: unitree_guide/CMakeFiles/junior_ctrl.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
意思是缺少lcm包
在宇树Z1机械臂早期的安装说明里面,配置环境时需要安装大于等于1.4.0的LCM,此处提供[LCM1.4.0的程序包](链接: https://pan.baidu.com/s/1lHdjLf_SS6Nw2B_U56twuA?pwd=1234),安装流程为
cd lcm-1.4.0
mkdir build && cd build
cmake ..
make
sudo make install
在安装时可能会遇到以下问题
对于Java的问题,是不能找到Java,先在cmd中输入
which java
,然后在cmd中输入
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
在.bashrc中输入
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
对于后续Could NOT find …问题,LCM要求的依赖包有【build-essential】、【libglib2.0-dev】、【cmake】,建议安装的依赖包有【default-jdk】【python-all-dev】【liblua5.1-dev】【golang】【doxygen】【python-epydoc】,用下面的命令安装
sudo apt-get install build-essential libglib2.0-dev cmake default-jdk python-all-dev liblua5.1-dev golang doxygen python-epydoc
对于libglib2.0
被anaconda覆盖的问题,参考OpenCV编译时的类似问题,建议是屏蔽anaconda的LD_LIBRARY_PATH
和PATH
,在.bashrc中注释掉后并没有效果,报这个问题的原因是在anaconda和linux-gnu中同时找到了需求的目标文件,因此只需要在cmake…之前将路径下的anaconda3文件夹重命名其他名字即可