基于ROS-Melodic版本的AUBO-i5基础环境搭建

2023-11-22 06:10

本文主要是介绍基于ROS-Melodic版本的AUBO-i5基础环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于ROS-Melodic版本的AUBO-i5基础环境搭建

  • 一、创建aubo_ws工作空间
  • 二、下载AUBO的功能包源码
  • 三、配置功能包的环境变量
  • 四、编译前的配置
  • 五、编译
  • 六、运行

版本:Ubuntu 18.04 ROS Melodic

一、创建aubo_ws工作空间

  1. 创建文件夹
mkdir -p ~/aubo_ws/src
  1. 编译
  • 目的:将普通文件夹转变成ROS的工作空间。注意路径!
  • 成功标志:~/aubo_ws/src文件夹包含CMakeLists.txt
cd ~/aubo_ws
catkin_make

二、下载AUBO的功能包源码

  1. 功能包放到工作空间下的src目录
cd ~/aubo_ws/src
  1. 获取源码 - melodic版本
git clone https://github.com/AuboRobot/aubo_robot -b melodic

三、配置功能包的环境变量

  • 目的:在任意终端,都可以运行功能包的文件
  1. 打开.bashrc文件
sudo gedit ~/.bashrc
  1. 将该行放到.bashrc文件中,并保存
source ~/aubo_ws/devel/setup.bash
  1. 验证是否添加成功。
  • 一定要重新开个终端,打印出ROS_PACKAGE_PATH变量值
  • 成功标志:环境变量的值包含功能包的位置~/aubo_ws/src即可。
echo $ROS_PACKAGE_PATH

在这里插入图片描述

四、编译前的配置

  1. 通过rosdep安装源码依赖(比较费时)
cd ~/aubo_ws/src
rosdep install -y --from-paths . --ignore-src --rosdistro melodic -r

成功标志
在这里插入图片描述

  1. 修改系统eigen3软链接
    在任何目录下,都可以
sudo ln -sf /usr/include/eigen3/Eigen/ /usr/include/Eigen
sudo ln -sf /usr/include/eigen3/unsupported/ /usr/include/unsupported
  1. 安装libprotobuf9
    如何目录,都可,看自己习惯。
  • 方式一:
wget http://archive.ubuntu.com/ubuntu/pool/main/p/protobuf/libprotobuf9v5_2.6.1-1.3_amd64.deb
sudo dpkg -i libprotobuf9v5_2.6.1-1.3_amd64.deb
  • 方式二:
    如果wget下载失败,可以采用下面的方法。
  • http://archive.ubuntu.com/ubuntu/pool/main/p/protobuf/libprotobuf9v5_2.6.1-1.3_amd64.deb输入到【浏览器搜索框】中
  • 回车(保存.deb文件)
  • 使用dpkg完成.deb的安装
sudo dpkg -i libprotobuf9v5_2.6.1-1.3_amd64.deb
  1. 安装所需软件
  • 将安装软件的命令,全部放到deps.sh文件中,一步执行。就无需一个一个sudo apt install安装了
  • 放到aubo_robot功能包下
cd ~/aubo_ws/src/aubo_robot
  • 创建.sh文件
touch deps.sh
  • 打开deps.sh文件
sudo gedit deps.sh
  • 将安装软件的命令,全部放到deps.sh文件中,一步执行。就无需一个一个sudo apt install安装了。deps.sh文件的内容:
sudo apt install -y ros-melodic-moveit*
sudo apt install -y ros-melodic-moveit-visual-tools
sudo apt install -y ros-melodic-industrial-*sudo apt install -y ros-melodic-gazebo-ros
sudo apt install -y ros-melodic-gazebo-plugins
sudo apt install -y ros-melodic-gazebo-ros-control
sudo apt install -y ros-melodic-joint-state-controller
sudo apt install -y ros-melodic-position-controllers
sudo apt install -y ros-melodic-joint-trajectory-controllersudo apt install -y ros-melodic-gazebo-ros-control 
sudo apt install -y ros-melodic-moveit-simple-controller-manager
sudo apt install -y ros-melodic-rviz-visual-tools
sudo apt install -y ros-melodic-moveit-visual-tools
  • 执行依赖文件(也挺费时)
sh deps.sh
  1. 更新 Moveit_core_lib
  • 位置
/home/xiao/aubo_ws/src/aubo_robot/UpdateMoveitLib/Kinetic
  • 打开Update.sh文件。将kinect改为melodic
    在这里插入图片描述
  • 进入Update.sh文件的路径下,执行下面两条命令:
chmod +x Update.sh
sudo ./Update.sh

在这里插入图片描述

  1. lib库环境变量配置
    该部分参考遨博协作机器人ROS开发 - ROS Melodic环境搭建与测试
  • 进入aubo sdk库的路径
roscd aubo_driver/lib/lib64/
  • pwd命令,打印当前文件夹绝对路径

    • 笔者的是:/home/xiao/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64
  • 新建 ldconfig 配置文件

sudo gedit /etc/ld.so.conf.d/aubo_driver.conf
  • 将库的路径拷贝到文件中,保存后退出
/home/xiao/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64
/home/xiao/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64/aubocontroller
/home/xiao/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64/config
/home/xiao/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64/log4cplus
  • 使新建的aubo_driver.conf配置文件生效
sudo ldconfig

五、编译

如果上面操作完成,编译不会报错。

cd ~/aubo_ws
catkin_make
  • 报错:/usr/bin/ld: cannot find -lindustrial_robot_client
    • /usr/bin/ld: cannot find -lindustrial_robot_client
      collect2: error: ld returned 1 exit status
      aubo_ggcnn_gazebo/aubo_ggcnn_gazebo/robot/aubo_robot/aubo_controller/CMakeFiles/aubo_joint_trajectory_action.dir/build.make:129: recipe for target ‘/home/xiao/catkin_ws/devel/lib/aubo_controller/aubo_joint_trajectory_action’ failed

在这里插入图片描述

  • 原因:industrial-robot-client 包没安装
    • 解决:为避免其他错误,我安装了ros-melodic-industrial-*
    sudo apt remove ros-melodic-industrial-*
    

六、运行

  1. 运行moveit仿真
roslaunch aubo_i5_moveit_config moveit_planning_execution.launch robot_ip:=127.0.0.1
  • 报错1
    • [ERROR] [1676803133.388400621]: PluginlibFactory: The plugin for class ‘moveit_rviz_plugin/MotionPlanning’ failed to load. Error: Failed to load library /opt/ros/melodic/lib/libmoveit_motion_planning_rviz_plugin.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = libmoveit_robot_trajectory.so.0.9.15: cannot open shared object file: No such file or directory)
      在这里插入图片描述
  • 原因1:
    • /opt/ros/melodic/lib/目录下只有libmoveit_robot_trajectory.so.1.0.11,libmoveit_robot_model.so.1.0.11,libmoveit_robot_state.so.1.0.11三个文件,没有0.9.15文件
      执行
  • 解决1
      1. 知识点补充 -> 复制cp a b (a为旧的,b为新的) ;修改 mv a b (a为旧的,b为新的)
      1. 需要先查看自己 /opt/ros/melodic/lib/目录下3个文件的版本号,我的是1.0.11,根据自己的修改一下
      1. 感谢该作者!!!
      1. 操作:这样写显得有些占地方,但是为方便大家一行一行复制。
      • (1)将1.0.113个文件复制到/opt/ros/melodic/目录下
      cd /opt/ros/melodic/lib
      
      	sudo cp -r libmoveit_robot_trajectory.so.1.0.11 ..
      
      	sudo cp -r libmoveit_robot_model.so.1.0.11 ..
      
      	sudo cp -r libmoveit_robot_state.so.1.0.11 ..
      
      • (2)将/opt/ros/melodic/目录下的1.0.113个文件的后缀改为0.9.15
      cd ..
      
      sudo mv libmoveit_robot_trajectory.so.1.0.11 libmoveit_robot_trajectory.so.0.9.15
      
      sudo mv libmoveit_robot_model.so.1.0.11 libmoveit_robot_model.so.0.9.15
      
      sudo mv libmoveit_robot_state.so.1.0.11 libmoveit_robot_state.so.0.9.15
      
      • (3)将/opt/ros/melodic/目录下0.9.153个文件复制到/opt/ros/melodic/lib/目录下
      sudo cp -r libmoveit_robot_trajectory.so.0.9.15 lib/
      
      sudo cp -r libmoveit_robot_model.so.0.9.15 lib/
      
      sudo cp -r libmoveit_robot_state.so.0.9.15 lib/
      

搞定啦!
好吧,rviz可以正常显示,但是无法规划机械臂运动。。。

  • 报错2:

    • [ERROR] [1676810486.905088528]: spline start
      [move_group-6] process has died [pid 8463, exit code -11, cmd /opt/ros/melodic/lib/moveit_ros_move_group/move_group __name:=move_group __log:=/home/xiao/.ros/log/b20c85f6-b052-11ed-94df-845cf3931fde/move_group-6.log].
      log file: /home/xiao/.ros/log/b20c85f6-b052-11ed-94df-845cf3931fde/move_group-6*.log

    在这里插入图片描述

    • 原因:move_group出错,导致rviz里面无法规划路径。
    • 解决:卸载moveit 重新装。再更新软件列表。
    sudo apt remove ros-melodic-moveit*
    
    sudo apt install ros-melodic-moveit*
    

这回真的搞定了!
在这里插入图片描述

这篇关于基于ROS-Melodic版本的AUBO-i5基础环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/408056

相关文章

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

Mybatis从3.4.0版本到3.5.7版本的迭代方法实现

《Mybatis从3.4.0版本到3.5.7版本的迭代方法实现》本文主要介绍了Mybatis从3.4.0版本到3.5.7版本的迭代方法实现,包括主要的功能增强、不兼容的更改和修复的错误,具有一定的参考... 目录一、3.4.01、主要的功能增强2、selectCursor example3、不兼容的更改二、

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对