记录在学习古月的《ROS机器人开发实践》的相关问题
我的版本 ubuntu16.04 kinetic
直接克隆或下载到你的工作空间
git clone https://github.com/huchunxu/ros_exploring.git
编译
catkin_make
报错
Could not find the required component ‘ecto’. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by “ecto” with any of
the following names:
ectoConfig.cmake
ecto-config.cmake
缺少ecto组件,安装即可
sudo apt-get install ros-kinetic-ecto
报错
Could not find the required component 'manipulation_msgs'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "manipulation_msgs"
with any of the following names:
manipulation_msgsConfig.cmake
manipulation_msgs-config.cmake
缺少manipulation_msgs这个包,安装
sudo apt install ros-kinetic-manipulation-msgs
报错
Could not find the required component 'moveit_ros_perception'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by
"moveit_ros_perception" with any of the following names:
moveit_ros_perceptionConfig.cmake
moveit_ros_perception-config.cmake
同理,缺少moveit_ros_perception这个组件,安装,3秒完事
sudo apt-get install ros-kinetic-moveit-ros-planning-interface
报错
Could not find the required component 'move_base_msgs'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/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,在导航包navigation里面
sudo apt-get install ros-kinetic-navigation
报错
Could not find a package configuration file provided by
"gazebo_ros_control" with any of the following names:
gazebo_ros_controlConfig.cmake
gazebo_ros_control-config.cmake
安装
sudo apt-get install ros-indigo-gazebo-ros-control
持续编译,出错
/usr/bin/ld: 找不到 -lmsc
collect2: error: ld returned 1 exit status
robot_perception/robot_voice/CMakeFiles/tts_subscribe.dir/build.make:113: recipe for target '/home/zyh/gy_ws/devel/lib/robot_voice/tts_subscribe' failed
缺少链接库,根据《ROS机器人开发实践》书中介绍(科大讯飞那一块207页),将科大讯飞库文件拷贝到系统目录下,进入SDK根目录下的libs文件夹,选择相应的架构平台x64/x86,使用命令拷贝。
sudo cp libmsc.so /usr/lib/libmsc.so
心态崩了,还有问题
/home/zyh/gy_ws/build/ros_advanced/dynamic_tutorials/setup_custom_pythonpath.sh: 5: exec: /home/zyh/gy_ws/src/ros_advanced/dynamic_tutorials/cfg/Tutorials.cfg: Permission denied
ros_advanced/dynamic_tutorials/CMakeFiles/dynamic_tutorials_gencfg.dir/build.make:63: recipe for target '/home/zyh/gy_ws/devel/include/dynamic_tutorials/TutorialsConfig.h' failed
make[2]: *** [/home/zyh/gy_ws/devel/include/dynamic_tutorials/TutorialsConfig.h] Error 126
CMakeFiles/Makefile2:3232: recipe for target 'ros_advanced/dynamic_tutorials/CMakeFiles/dynamic_tutorials_gencfg.dir/all' failed
make[1]: *** [ros_advanced/dynamic_tutorials/CMakeFiles/dynamic_tutorials_gencfg.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
这是权限问题,根据问题找原因。
进入 ros_exploring/ros_advanced/dynamic_tutorials/cfg 文件夹,打开终端。
chmod +x Tutorials.cfg
catkin_make
[100%] Linking CXX executable /home/zyh/gy_ws/devel/lib/action_tutorials/DoDishes_client
[100%] Built target DoDishes_client
开心