如何在Ubuntu 16.04上安装humanoid_navigation ROS kinetic?

3
在安装ROS Kinetic软件包(Ubuntu 16.04)时,特别是 humanoid_navigation 时,在执行 catkin_make 时会出现错误。没有这个软件包,catkin_make 运行不会出错。一切都按照说明书 https://emanual.robotis.com/docs/en/platform/op3/recovery/#op3-manual-installation 进行。
[ 97%] Building CXX object humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/src/HumanoidLocalization.cpp.o
/home/user/catkin_ws/src/humanoid_navigation/humanoid_localization/src/HumanoidLocalization.cpp:23:42: fatal error: pcl/filters/uniform_sampling.h: No such file or directory
compilation terminated.
humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/build.make:62: recipe for target 'humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/src/HumanoidLocalization.cpp.o' failed
make[2]: *** [humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/src/HumanoidLocalization.cpp.o] Error 1
CMakeFiles/Makefile2:12108: recipe for target 'humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/all' failed
make[1]: *** [humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 97%] Linking CXX executable /home/user/catkin_ws/devel/lib/footstep_planner/footstep_planner_node
[ 97%] Built target footstep_planner_node
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j2 -l2" failed

在出现这个错误后,从githubhttps://github.com/PointCloudLibrary/pcl安装了pcl到src目录,运行catkin make,结果出错。
/home/user/catkin_ws/src/humanoid_navigation/humanoid_localization/src/HumanoidLocalization.cpp:23:42: fatal error: pcl/filters/uniform_sampling.h: No such file or directory
compilation terminated.
humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/build.make:62: recipe for target 'humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/src/HumanoidLocalization.cpp.o' failed
make[2]: *** [humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/src/HumanoidLocalization.cpp.o] Error 1
CMakeFiles/Makefile2:12108: recipe for target 'humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/all' failed
make[1]: *** [humanoid_navigation/humanoid_localization/CMakeFiles/humanoidlocalization.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

请帮忙!

4个回答

0
好的,我有一个可行的解决方案:
nano /home/<user>/catkin_ws/src/humanoid_navigation/humanoid_localization/src/HumanoidLocalization.cpp

并更改为以下内容:

//#include <pcl/filters/uniform_sampling.h>
#include <pcl/keypoints/uniform_sampling.h>

然后使用 cd ~/catkin_ws && catkin_make 命令运行 catkin_make。

现在应该可以无错误地工作了。


0

你最近终止或中断了任何构建吗?这可能是因为目标代码未成功生成。一种方法是清理与包相关的构建和开发文件夹的关联内容,然后重新构建。

更新!!! 所以我复制了你的问题并按照我的步骤来解决它们。在我的情况下,我遇到了ros_control包和pcl的问题。现在它可以工作了。干杯!!!

[100%] Linking CXX executable 
/home/aadi/catkin_ws/devel/lib/robot_state_publisher/state_publisher
[100%] Built target joint_state_listener
[100%] Built target state_publisher
[100%] Built target robot_state_publisher
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

我已经删除了build和devel文件夹,但没有帮助。我不知道该怎么办了。 - Артём Картавых
make[1]: *** 等待未完成的任务.... 这个错误通常是由于在 catkin_make 过程中过早终止而导致构建未完成所引起的。 - aadimishra

0
问题在于PCL 1.7.2中,UniformSampling位于“keypoints”模块中,而在1.8.0中,它已经移动到“filters”模块中。
请检查您的PCL版本。

需要哪个版本呢?PCL 1.7.2吗? - Micha93
@Micha93 PCL 1.8.0 - Arjun Kumar

0
您可以尝试以下内容。
cd ~/catkin_ws/src
wget https://github.com/PointCloudLibrary/pcl/archive/refs/tags/pcl-1.8.1.zip
unzip pcl-1.8.1.zip
cd pcl-pcl-1.8.1
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j4
sudo make install -j4
cd ~/catkin_ws && catkin_make

如果您之前安装过另一个PCL版本,请前往此库并输入。
sudo make uninstall
make uninstall

然后删除此目录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接