安装机器人ros驱动遇到的问题(catkin_make)

  • Post author:
  • Post category:其他

上述指令执行完毕之后, ROS也就安装完成了。 当然, 紧接着还需要建立自己的工作空间。 执行下述代码:

  1. mkdir -p ~/catkin_ws/src    
  2. cd ~/catkin_ws/src    
  3. catkin_init_workspace    
  4. cd ..    
  5. catkin_make   

roslaunch aubo_driver aubo_i5_bringup.launch robot_ip:=192.168.1.34

1.  关于”hardware_interface”

CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
  Could not find a package configuration file provided by
  "hardware_interface" with any of the following names:

    hardware_interfaceConfig.cmake
    hardware_interface-config.cmake

  Add the installation prefix of "hardware_interface" to CMAKE_PREFIX_PATH or
  set "hardware_interface_DIR" to a directory containing one of the above
  files.  If "hardware_interface" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  aubo_robot/aubo_new_driver/CMakeLists.txt:9 (find_package)


-- Could not find the required component 'hardware_interface'. 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
  "hardware_interface" with any of the following names:

    hardware_interfaceConfig.cmake
    hardware_interface-config.cmake

  Add the installation prefix of "hardware_interface" to CMAKE_PREFIX_PATH or
  set "hardware_interface_DIR" to a directory containing one of the above
  files.  If "hardware_interface" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  aubo_robot/aubo_new_driver/CMakeLists.txt:9 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeError.log".
Makefile:1858: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

解决办法

sudo apt-get install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-joint-state-controller

2. 关于controller_manager

CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by
  "controller_manager" with any of the following names:

    controller_managerConfig.cmake
    controller_manager-config.cmake

  Add the installation prefix of "controller_manager" to CMAKE_PREFIX_PATH or
  set "controller_manager_DIR" to a directory containing one of the above
  files.  If "controller_manager" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  aubo_robot/aubo_new_driver/CMakeLists.txt:9 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeError.log".
Makefile:1858: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

解决办法
sudo apt-get install ros-kinetic-ros-control ros-kinetic-ros-controllers

3. 与Python兼容问题(No module catkin_dkg.package)

-- Using Python nosetests: /usr/bin/nosetests-2.7
ImportError: "from catkin_pkg.package import parse_package" failed: No module named catkin_pkg.package
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/safe_execute_process.cmake:11 (message):
  execute_process(/home/wgb/anaconda2/bin/python
  "/opt/ros/kinetic/share/catkin/cmake/parse_package_xml.py"
  "/opt/ros/kinetic/share/catkin/cmake/../package.xml"
  "/home/wgb/catkin_ws/build/catkin/catkin_generated/version/package.cmake")
  returned error code 1
Call Stack (most recent call first):
  /opt/ros/kinetic/share/catkin/cmake/catkin_package_xml.cmake:63 (safe_execute_process)
  /opt/ros/kinetic/share/catkin/cmake/all.cmake:151 (_catkin_package_xml)
  /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:52 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

解决办法
检查一下Python的版本: wgb@wgb:~$ python -V
检查一下catkin依赖的Python版本: wgb@wgb:~$ dpkg -L python-catkin-pkg
如果Python的版本和catkin依赖的版本不一样,说明Python依赖包有问题,解决办法:

conda install setuptools

pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools

4 No module named em 的问题

ImportError: No module named em
gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:117: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/ContactState.h' failed
make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/ContactState.h] Error 1
Traceback (most recent call last):
  File "/opt/ros/kinetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 41, in <module>
    import genmsg.template_tools
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/genmsg/template_tools.py", line 39, in <module>
    import em
ImportError: No module named em
gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:139: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/LinkStates.h' failed
make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/LinkStates.h] Error 1
Traceback (most recent call last):
  File "/opt/ros/kinetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 41, in <module>
    import genmsg.template_tools
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/genmsg/template_tools.py", line 39, in <module>
    import em
ImportError: No module named em
Traceback (most recent call last):
  File "/opt/ros/kinetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 41, in <module>
    import genmsg.template_tools
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/genmsg/template_tools.py", line 39, in <module>
    import em
ImportError: No module named em
gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:128: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/LinkState.h' failed
make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/LinkState.h] Error 1
gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:161: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/ModelStates.h' failed
make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/ModelStates.h] Error 1
Traceback (most recent call last):
  File "/opt/ros/kinetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 41, in <module>
    import genmsg.template_tools
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/genmsg/template_tools.py", line 39, in <module>
    import em
ImportError: No module named em
gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:174: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/WorldState.h' failed
make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/WorldState.h] Error 1
CMakeFiles/Makefile2:1511: recipe for target 'gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/all' failed
make[1]: *** [gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j12 -l12" failed

解决办法:
wgb@wgb:~/catkin_ws$ pip install empy

5. defusedxml.xmlrpc

Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/xacro/xacro", line 32, in <module>
    import xacro
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/xacro/__init__.py", line 42, in <module>
    from roslaunch import substitution_args
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 56, in <module>
    from .launch import ROSLaunchRunner
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/launch.py", line 55, in <module>
    from roslaunch.nodeprocess import create_master_process, create_node_process
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/nodeprocess.py", line 52, in <module>
    from rosmaster.master_api import NUM_WORKERS
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/__init__.py", line 35, in <module>
    from .main import rosmaster_main
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/main.py", line 43, in <module>
    import rosmaster.master
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/master.py", line 47, in <module>
    import rosmaster.master_api
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/master_api.py", line 72, in <module>
    from rosmaster.util import xmlrpcapi
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/util.py", line 48, in <module>
    from defusedxml.xmlrpc import monkey_patch
ImportError: No module named defusedxml.xmlrpc
while processing /home/wgb/catkin_ws/src/aubo_robot/aubo_description/launch/aubo_i5_upload.launch:
Invalid <param> tag: Cannot load command parameter [robot_description]: command [/opt/ros/kinetic/lib/xacro/xacro --inorder '/home/wgb/catkin_ws/src/aubo_robot/aubo_description/urdf/aubo_i5_robot.urdf.xacro'] returned with code [1]. 

Param xml is <param command="$(find xacro)/xacro --inorder '$(find aubo_description)/urdf/aubo_i5_robot.urdf.xacro'" name="robot_description"/>
The traceback for the exception was written to the log file

solving method
wgb@wgb:~$ conda install -c conda-forge defusedxml

6

wgb@wgb:~$ roslaunch aubo_driver aubo_i5_bringup.launch robot_ip:=192.168.1.34
[aubo_i5_bringup.launch] is neither a launch file in package [aubo_driver] nor is [aubo_driver] a launch file name
The traceback for the exception was written to the log file

solving mehtod

Without any further information or poitners to the source of that package it is hard to tell what is going on. Does the file tb_tables.launch actually exist? Did you source the setup.bash file?

What does rospack find tb_tables output?

If that gives an error, try executing source /home/gabriel/catkin_ws/devel/setup.bash and then try the roslaunch again. 

解决办法:

source /home/wgb/catkin_ws/devel/setup.bash

7.

-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
CMake Error at /opt/ros/kinetic/share/catkin/cmake/assert.cmake:17 (message):
  

  Assertion failed: check for file existence, but filename
  (RT_LIBRARY-NOTFOUND) unset.  Message: RT Library

Call Stack (most recent call first):
  /opt/ros/kinetic/share/catkin/cmake/tools/rt.cmake:42 (assert_file_exists)
  /opt/ros/kinetic/share/catkin/cmake/all.cmake:147 (include)
  /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:52 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

solving

ubuntu 文件夹/usr/lib/x86_64-linux-gnu/  shangmian you ge cha, xiang fa chuqu

8. /home/wgb/catkin_ws/build/gazebo_ros_pkgs/gazebo_plugins/setup_custom_pythonpath.sh: 4: exec: /home/wgb/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/cfg/CameraSynchronizer.cfg: Permission denied

/home/wgb/catkin_ws/build/gazebo_ros_pkgs/gazebo_plugins/setup_custom_pythonpath.sh: 4: exec: /home/wgb/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/cfg/CameraSynchronizer.cfg: Permission denied
gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_plugins_gencfg.dir/build.make:69: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_plugins/CameraSynchronizerConfig.h' failed
make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_plugins/CameraSynchronizerConfig.h] Error 126
CMakeFiles/Makefile2:6310: recipe for target 'gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_plugins_gencfg.dir/all' failed
make[1]: *** [gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_plugins_gencfg.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
[ 86%] Linking CXX shared library /home/wgb/catkin_ws/devel/lib/libgazebo_ros_joint_trajectory.so
[ 86%] Built target gazebo_ros_joint_trajectory
[ 86%] Linking CXX shared library /home/wgb/catkin_ws/devel/lib/libgazebo_ros_joint_state_publisher.so
[ 86%] Linking CXX shared library /home/wgb/catkin_ws/devel/lib/libgazebo_ros_api_plugin.so
[ 86%] Built target gazebo_ros_joint_state_publisher
[ 86%] Built target gazebo_ros_api_plugin
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

解决办法:

wgb@wgb:~/catkin_ws/src/gazebo_ros_pkgs/gazebo_ros/cfg$ cd /home/wgb/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/cfg
wgb@wgb:~/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/cfg$ chmod +x CameraSynchronizer.cfg

或者

wgb@wgb:~/catkin_ws/src$ sudo chown -R wgb /home/wgb/catkin_ws/
[sudo] wgb 的密码: 
wgb@wgb:~/catkin_ws/src$ sudo chmod -R +x /home/wgb/catkin_ws/

参考:

https://answers.ros.org/question/206860/error-when-calling-catkin_make-invoking-make-failed/

9. “moveit_ros_planning”

    moveit_ros_planningConfig.cmake
    moveit_ros_planning-config.cmake

问题

CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
  Could not find a package configuration file provided by
  "moveit_ros_planning" with any of the following names:

    moveit_ros_planningConfig.cmake
    moveit_ros_planning-config.cmake

  Add the installation prefix of "moveit_ros_planning" to CMAKE_PREFIX_PATH
  or set "moveit_ros_planning_DIR" to a directory containing one of the above
  files.  If "moveit_ros_planning" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  aubo_robot-indigo-devel/aubo_trajectory_filters/CMakeLists.txt:5 (find_package)


-- Could not find the required component 'moveit_ros_planning'. 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/indigo/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by
  "moveit_ros_planning" with any of the following names:

    moveit_ros_planningConfig.cmake
    moveit_ros_planning-config.cmake

  Add the installation prefix of "moveit_ros_planning" to CMAKE_PREFIX_PATH
  or set "moveit_ros_planning_DIR" to a directory containing one of the above
  files.  If "moveit_ros_planning" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  aubo_robot-indigo-devel/aubo_trajectory_filters/CMakeLists.txt:5 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/sensetime/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/sensetime/catkin_ws/build/CMakeFiles/CMakeError.log".
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

解决办法: 安装moveit,安装方法参考http://moveit.ros.org/install/

对于indigo

sudo apt-get install ros-indigo-moveit
sudo apt-get install ros-indigo-moveit-full-pr2
source /opt/ros/indigo/setup.bash

对于kinetic
sudo apt-get install ros-kinetic-moveit
source /opt/ros/kinetic/setup.bash


版权声明:本文为wuguangbin1230原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。