参考资料

https://github.com/yumi-crew/yumi/

升级至ROS2 (WIP)

参考OrebroUniversity/yumi的readme

  • Step 1

    sudo apt-get install ros-kinetic-control-toolbox ros-kinetic-controller-interface ros-kinetic-controller-manager ros-kinetic-joint-limits-interface ros-kinetic-transmission-interface ros-kinetic-moveit-core ros-kinetic-moveit-planners ros-kinetic-moveit-ros-planning

    sudo apt-get install ros-foxy-control-toolbox ros-foxy-controller-interface ros-foxy-controller-manager ros-foxy-transmission-interface ros-foxy-moveit-core ros-foxy-moveit-planners ros-foxy-moveit-ros-planning

    missing: ros-foxy-joint-limits-interface

  • Step 2

    • Build the industrial_core package from source. To do that, clone OrebroUniversity’s fork of the package from: https://github.com/OrebroUniversity/industrial_core.git into your ros workspace and run catkin_make. Go to https://github.com/ros-industrial/industrial_core

      • install catkin tools sudo apt-get install python3-catkin-tools
        (or $ sudo pip3 install -U catkin_tools?)
    • 修改编译文件

      • 将所有CMakeLists.txt的find_package(catkin REQUIRED)改为find_package(ament_cmake REQUIRED)
      • yumi_description的CMakeLists.txt
        • catkin_package注释掉
        • DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ->DESTINATION share/${PRJECT_NAME}
        • 在yumi_description下创建gazebo和launch文件夹(不知道有什么用)
      • yumi_support的CMakeLists.txt
        • catkin_package注释掉
        • DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ->DESTINATION share/${PRJECT_NAME}
      • yumi_moveit_config的CMakeLists.txt
        • catkin_package注释掉
        • DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ->DESTINATION share/${PROJECT_NAME}(共两处) - yumi_control的CMakeLists.txt
        • catkin_package注释掉
        • DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ->DESTINATION share/${PROJECT_NAME} - gazebo_mimic的CMakeLists.txt
        • ?修改catkin_package部分为
        ament_export_include_directories(include)
        ament_export_libraries(gazebo_mimic_plugin)
        ament_export_dependencies(gazebo_ros)
        
        ament_package(
          CONFI_EXTRAS
          #DEPENDS gazebo_ros
        ) 
        
        • build部分 include_directories(include ${catkin_INCLUDE_DIRS} ${GAZEBO_INCLUDE_DIRS}) 改为 include_directories(include ${catkin_INCLUDE_DIRS} ${GAZEBO_INCLUDE_DIRS})target_link_libraries(gazebo_mimic_plugin ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES}) 改为 target_link_libraries(gazebo_mimic_plugin ${GAZEBO_LIBRARIES})
        • install部分
          • executable/lib ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 改为 ARCHIVE DESTINATION ${lib} LIBRARY DESTINATION ${lib} RUNTIME DESTINATION ${lib/${PROJECT_NAME}}
          • header DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 改为 DESTINATION ${include/${PROJECT_NAME}}