基于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

相关文章

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas