aubo i5 ROS melodic环境配置及连接真实机械臂

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、安装Ubuntu18.04(保证连接网络)

1.安装VMware------Resources

 2.下载ubuntu18.04镜像

 3.在VMware中创建虚拟机并安装Ubuntu18.04

二、ROS melodic环境配置

1.Linux终端快捷键使用

2.更新软件源

 3.ROS melodic配置

 三、遨博机械臂Rviz和Gazebo仿真

 (一)aubo 机械臂ROS依赖功能包安装

(二)编译AUBO ROS功能包

(三)配置aubo_dirver程序lib库环境变量

(四)运行演示Rviz和Gazebo机械臂仿真功能

(五)仿真遨博机械臂

四、aubo i5 通过ROS控制真实机器人

1.网络配置

2.真实机器人控制

3.真实机器人运动速度调节

总结


前言

关于初学者对于ROS机械臂仿真环境的配置,本文主要针对aubo i5协作机械臂的ROS环境配置及连接真实机械臂,包括虚拟机的安装及ros melodic的安装问题解决。关于实现机械臂视觉抓取仿真实现请参考文章:aubo i5 配置robotiq 电动夹爪和kinect V2深度摄像头仿真环境搭建(find_object_2d视觉抓取实现)-CSDN博客


一、安装Ubuntu18.04(保证连接网络)

1.安装VMware------Resources

参考博客:   安装虚拟机(VMware)保姆级教程(附安装包)_vmware虚拟机-CSDN博客

 2.下载ubuntu18.04镜像

Ubuntu18.04的镜像文件下载方式有很多(网上到处都是),这里提供几种常用的,
我这边下载速度对比结果是:Ubuntu官网 > 清华镜像源 > 阿里云
①方法1:百度网盘下载
链接:https://pan.baidu.com/s/1bx3k4T-z_EcglbyAkIiv5A 提取码:kw9d
②方法2:在开源镜像网站上下载,
一个是阿里云开源镜像站,进入后选择18.04的iso文件下载即可,如图:

另一个是清华开源软件镜像站,进入后选右侧的“获取下载连接”,如图:

进去找到Ubuntu后,选择18.04.6桌面版,下载即可

③方法3:直接在Ubuntu官网下载
Ubuntu 18.04.6 LTS (Bionic Beaver),官方提供了PC版和服务器版两种镜像文件,我们是安装在个人电脑上,所以选择64-bit PC(AMD64) desktop image;顺便说明一下,这里标的是AMD64,但是也支持EM64T架构,所以无论你的电脑是AMD处理器还是Intel处理器,都可以使用

 3.在VMware中创建虚拟机并安装Ubuntu18.04

参考博客(博主已经很详细的描述步骤、系统设置及安装VMware Tools):VMware虚拟机中安装Ubuntu18.04(linux发行版)【超详细图文教程】_vmware虚拟机ubuntu18.04-CSDN博客

VMware Tools的作用:能简化主机与虚拟机之间的操作

①从虚拟机内移出鼠标不用再按Ctrl + Alt,可直接移出
②有了VMware Tools,主机与虚拟机可直接通过拖拽传文件,实现文件复制
③有自动适应窗口功能,能使虚拟机系统分辨率随软件窗口大小改变而变化
④相当于给虚拟机安装了显卡驱动,提高了虚拟机分辨率

 3.unbuntu修改中文版

(1条消息) Ubuntu设置中文界面_故丨是的博客-CSDN博客_ubuntu中文界面

二、ROS melodic环境配置

1.Linux终端快捷键使用

ctrl+alt+t  为打开终端快捷键
ctrl+shift+t  为打开并行终端窗
ctrl+c 为中止终端
ctrl+shift+c   终端复制
ctrl+shift+v   终端粘贴

2.更新软件源

在ubuntu中选择--软件和更新,选择清华源或者阿里源(根据实际选择):选择重新载入即可

完成以后终端输入: 

#重新载入结束以后终端输入
sudo apt update
sudo apt upgrade

 3.ROS melodic配置

教程ROS官网:Get ROS Melodic on Ubuntu Linux

melodic/Installation/Ubuntu - ROS Wiki

SourceURL:file:///media/ls/DGTG/东华理工大学/AUBO i5/AUBO ROS melodic环境配置.docx

添加ROS源(选择清华源):

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

添加keys(方法1):

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

添加keys(方法2): 

sudo apt install curl  #添加curl工具

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add –

显示 ok表示添加成功

更新系统

sudo apt update

通用工具安装

sudo apt install build-essential cmake pkg-config unzip yasm git checkinstall curl wget exfat-utils gparted

桌面完整版安装:包含ROS、rpt、rvrz、机器人通用库、2D/3D模拟器、导航以及2D/3D感知:

sudo apt install libvtk6-jni libvtk6-java libvtk6-dev libvtk6-qt-dev libpcl-dev

sudo apt install ros-melodic-pcl-conversions ros-melodic-pcl-ros ros-melodic-perception-pcl ros-melodic-perception ros-melodic-rqt
sudo apt install ros-melodic-desktop-full

sudo apt install python-rosdep

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential ros-melodic-catkin

pip包管理工具安装

sudo apt install python3-dev python3-pip python-pip python-dev

catkin_tools安装

sudo pip3 install -U catkin_tools -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

初始化rosdep

在开始使用ROS之前你还需要初始化rosdep,rosdep可以方便在需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必须用到的工具

通过pip包管理工具安装国内镜像源加速版本rosdepc,执行如下命令:

sudo pip install rosdepc

sudo rosdepc init

rosdepc update

或者

wget http://fishros.com/install -O fishros && . fishros

### 上行代码运行后根据提示输入3

### 输入回车

#根据提示rosdep初始化

rosdepc update

环境配置

echo "source /opt/ros/melodic/setup.bash">> ~/.bashrc

source ~/.bashrc

运行测试

完成安装后跑一个测试程序---小海龟。若没有安装,执行如下命令:

sudo apt-get install ros-melodic-turtlesim

然后在三个不同的终端分别执行以下命令:

roscore

rosrun turtlesim turtlesim_node

rosrun turtlesim turtle_teleop_key

#学习资源:中国大学生mooc ROS   ROS机器人操作系统入门

 三、遨博机械臂Rviz和Gazebo仿真

 (一)aubo 机械臂ROS依赖功能包安装

1.industrial依赖安装,终端输入如下指令。

sudo apt install ros-melodic-industrial-*

2.gazebo ros 库安装

sudo apt install ros-melodic-gazebo-ros ros-melodic-gazebo-plugins ros-melodic-gazebo-ros-control ros-melodic-joint-state-controller ros-melodic-position-controllers ros-melodic-joint-trajectory-controller
sudo apt-get install ros-melodic-gazebo-ros-control

sudo apt-get install ros-melodic-moveit-simple-controller-manager

sudo apt-get install ros-melodic-rviz-visual-tools

sudo apt-get install ros-melodic-moveit-visual-tools

3.修改系统eigen3软链接,在终端中输入如下指令。

sudo ln -sf /usr/include/eigen3/Eigen/ /usr/include/Eigen

sudo ln -sf /usr/include/eigen3/unsupported//usr/include/unsupported

4.安装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

(二)编译AUBO ROS功能包

1.新建名称为aubo_ws的工作空间,并在src目录下下载官方最新melodic版本源码。执行如下命令:

mkdir -p ~/aubo_ws/src

cd ~/aubo_ws/src/

git clone https://github.com/AuboRobot/aubo_robot.git -b melodic

aubo i5 ROS功能包

git clone https://github.com/liuxinwust/test_robot.git

(如果运行失败尝试下面两种方法,不行换回来再次运行)

sudo git clone https://github.com/ros/robot_state_publisher.git/

git clone git://github.com/ros/robot_state_publisher.git

注意:这里github网站有时候连接不上,可以尝试将这里的github.com替换为hub.nuaa.cf 

2.通过rosdep安装源码依赖,在终端输入如下指令。

rosdep install -y --from-paths . --ignore-src --rosdistro melodic -r

删除对应的包文件,也可以不用管,不影响后续使用! 

3.使用catkin工具配置工作空间并进行源码编译,在终端输入如下指令。

cd ~/aubo_ws

catkin build aubo_msgs

catkin build

编译过程中缺失什么工具安装什么,使用如下命令安装:

sudo apt-get install ros-melodic-name

#例如:缺失moveit-visual-tools

sudo apt-get install ros-melodic-moveit-visual-tools

#例如:缺失moveit-ros-planning-interface

sudo apt-get install ros-melodic-moveit-ros-planning-interface

再次使用命令catkin build编译

(三)配置aubo_dirver程序lib库环境变量

1.输入如下指令进入aubo sdk库的路径。

cd ~/aubo_ws/

source devel/setup.bash

roscd aubo_driver/lib/lib64/

2.通过输入pwd命令打印当前文件夹绝对路径,本虚拟机环境路径如下(具体以实际打印为准):

/home/aubofy/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64

3.执行如下命令新建ldconfig配置文件:

sudo gedit /etc/ld.so.conf.d/aubo_driver.conf

4.将下列库的路径拷贝到文件中,保存后退出。(home后面的用户名为本机实际的用户名)。

/home/melodic/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64

/home/melodic/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64/aubocontroller

/home/melodic/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64/config

/home/melodic/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64/log4cplus

(5)在终端输入如下指令使能新建的配置文件。

sudo ldconfig

(四)运行演示Rviz和Gazebo机械臂仿真功能

1. rviz+moveit界面

cd ~/aubo_ws/

source devel/setup.bash

roslaunch aubo_i5_moveit_config moveit_planning_execution.launch robot_ip:=127.0.0.1

运行出现错误:

原因:缺少moveit rviz 中运行的功能包

执行如下命令:

sudo apt-get install ros-melodic-moveit-ros-visualization

再次运行

在试用rviz进行运动规划的时候,成功的导入模型后,但是点击plan and execut按键后,机械臂并没有运动,而且gui上提示failed:

原因: 没有安装moveit,因为刚开始接触ros,前期很多问题都和配置有关。

解决方法:

sudo apt-get install ros-melodic-moveit

source /opt/ros/melodic/setup.bash

2.gazebo界面

(1)Gazebo是一个机器人仿真工具和模拟器,也是一个独立的开源机器人仿真平台,他的功能很强大,最大的优点是对ROS支持的很好,首先启动安装好的ROS环境系统,由于已经在上一篇文章中介绍了如何安装Gazebo,这里启动终端,输入下面的指令,运行Gazebo测试。

roslaunch gazebo_ros empty_world.launch

(2)如果发现启动界面加载过程中闪退,可能是由于在虚拟机中使用时开启了图形加速,在终端中输入如下指令关闭硬件加速。

echo " export SVGA_VGPU10=0" >> ~/.bashrc

source ~/.bashrc

(3)然后关闭虚拟机的3D图形加速,需要关闭虚拟机中的Ubuntu系统,编辑虚拟机设置,选择显示器,取消加速3D图形选项,如下图所示,然后重新启动虚拟机一般就可以解决。

(4)如果发现启动Gazebo过程中,在终端出现红色报错信息。

(5)需要修改.ignition/fuel/config.yaml文件,将文件中的url: https://api.ignitionfuel.org改为url: https://api.ignitionrobotics.org,运行如下指令打开文件进行修改,再次运行Gazebo即可正常使用。

sudo gedit ~/.ignition/fuel/config.yaml

[ 1] 常见问题1:[Err] [REST.cc:205] Error in REST request

解决:输入命令

sudo gedit ~/.ignition/fuel/config.yaml

然后将url : https://api.ignitionfuel.org使用 # 注释

再添加url: https://api.ignitionrobotics.org

[2 ] 常见问题2:[ClientConfig.cc:270] Parser error [3]

这个可能是解决问题二的时候把源文件的格式给改错了,一般都是tab键导致的,恢复原格式重新解决问题二

[ 3] 常见问题3:Set document metadata failed: Setting attribute metadata::gedit-encoding not

改动的时候出现的警告,一般忽视就好

[4] 常见问题4::启动时抛出异常:[gazebo-2] process has died [pid xxx, exit code 255, cmd…

解决:killall gzserver和killall gzclient

(6)由于gazebo默认是使用某一个模型时从互联网下载模型,如果要脱机使用模型库,是需要提前下载好的,可以在Gazebo模型库下载,将下载好的压缩包复制到~/.gazebo/models下并解压(注意下载的模型文件要在Models下,而不是在解压后的文件夹下),再次打开Gazebo便可以加载我们下载好的模型了,如下图所示,在“insert”面板中选择模型导入,查看效果。

(五)仿真遨博机械臂

(1)为了方便各个终端的使用,将上一篇中建立的工作空间环境变量增加到.bashrc文件中,输入如下指令即可。

echo "source ~/aubo_ws/devel/setup.bash">> ~/.bashrc
source ~/.bashrc

(2)首先在终端中运行以下两条指令,分别启动Moveit功能包和Gazebo仿真,需要说明的是,这两条指令需要运行在不同的终端(在仿真时,IP地址需要是127.0.0.1)。

roslaunch aubo_e5_moveit_config moveit_planning_execution.launch robot_ip:=127.0.0.1

roslaunch aubo_gazebo aubo_e5_gazebo_control.launch


(3)在运行第二条指令时,会报出如下错误,这是ROS会要求在配置文件中需要配置PID参数,在系统耦合中,找到合适的PID是比较困难的,如果仿真环境中不指定任何PID参数,机器人仍可以正常工作,切记不可输入错误的值,反而会导致更多的问题,所以一般在ROS开发中,这部分的错误是可以忽略的。

(4)之后回到rviz界面,试着拖动轨迹球,并点击【Plan & Execute】按钮,即可看到规划执行效果,此时控制信号将同时输入到Gazebo中,运动同步发生,达到联合仿真的目的。无论仿真环境多么符合现实,也需要在实际的机械臂中进行测试,下面看一下如何控制真实的机器人。

调试工具---插件

cd ~/aubo_ws

source devel/setup.bash

rqt

英特尔深度摄像头使用:

librealsense安装

librealsense/doc/distribution_linux.md at master · IntelRealSense/librealsense · GitHub

四、aubo i5 通过ROS控制真实机器人

虚拟机—编辑—虚拟网络编辑器

查看IP地址:192.168.5.0

设置主机IP地址

1.在键盘上按下"Win+r"打开【运行】窗口,输入【cmd】后按回车键; 2 .在打开的窗口输入【ipconfig】后按回车键; 3 .其中"IPv4地址"即为我们的IP地址;

改写文件时用命令 vim 或者 gedit(推荐好用)

设置Linux IP

melodic@ubuntu:~$ cd /etc/netplan/

melodic@ubuntu:/etc/netplan$ ls

01-network-manager-all.yaml

melodic@ubuntu:/etc/netplan$ sudo gedit 01-network-manager-all.yaml

配置文件如下:

# Let NetworkManager manage all devices on this system

network:

  ethernets:

    ens33:     #配置的网卡的名称

      addresses: [192.168.135.128/24]    #配置的静态ip地址和掩码

      dhcp4: no    #关闭DHCP,如果需要打开DHCP则写yes

      optional: true

      gateway4: 192.168.135.2   #网关地址

      nameservers:

         addresses: [8.8.8.8,8.8.4.4]    #DNS服务器地址,多个DNS服务器地址需要用英文逗号分隔开

  version: 2

 vim编辑器使用:

i:编辑   esc:命令行模式  :wq+enter 保存

问题描述:在网络设置中仅有VPN和网络代理,没有有线设置

 在这块没有显示有关网络的任何信息

 第一步查看interfaces文件,该文件内容正常,未被修改

sudo gedit /etc/network/interfaces

 第二步修改NetworkManager.conf配置文件,将managed=false更改为managed=true,保存退出

sudo gedit /etc/NetworkManager/NetworkManager.conf

 第三步修改10-globally-managed-devices.conf配置文件,添加有线设备,添加内容如下

sudo gedit /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf

 第四步最重要的一步重启

整体操作步骤

 重启后如果仍然没有出现有线设置,先停止网络服务,删除网络缓存文件,在重启网络服务,即可出现有线设置。

xxx@xx:~$ sudo service network-manager stop

xxx@xx:~$ sudo rm /var/lib/NetworkManager/NetworkManager.state

xxx@xx:~$ sudo service network-manager start

重启

linux系统查看IP地址:

sudo apt install net-tools

ifconfig -a

1.网络配置

(1)使用网线连接AUBO-E5真实机械臂的控制柜与电脑,最好不要使用路由器、交换机等设备进行转接,因为ROS需要将控制的轨迹实时发送给机械臂,如果网络不稳定,会造成机器人运动卡顿等情况。

(2)打开示教器,点击【设置】-【网络】进入网络配置界面,点击【网卡】下拉菜单,选择默认网卡以示教器显示为准,IP地址输入192.168.5.0(可设置为其他可用IP,必须要和网关设置的网段保持一致),掩码设置为【255.255.255.0】,网关设置为【192.168.1.1】,点击【保存】,重启机械臂完成网络配置。

(3)设置电脑主机的IP地址与ROS虚拟机中的IP地址,保证和真实机械臂处于同一网段,然后在真实机械臂的网络设置界面,使用ping功能测试ROS虚拟机的IP地址,要求延迟越低越好,最高也要低于1ms,并且较为稳定,如下图所示。

2.真实机器人控制

(1)在ROS环境的终端中,输入如下指令,这里的IP地址需要填入真实机械臂的IP地址。

roslaunch aubo_e5_moveit_config moveit_planning_execution.launch robot_ip:=192.168.135.125

(2)启动完成后在Rviz界面会观察到机械臂姿态和真实机械臂姿态保持一致。

(3)在Rviz中拖动机械臂上方的蓝色小球,或者通过设置goal state到随机位置,即可设置机械臂的目标位置,请设置时尽可能考虑真实机器人周围物理环境,防止碰撞,如图所示,其中黄色机械臂为目标位姿的机械臂,与真实机械臂颜色一致的是机械臂真实位姿。

(4)点击plan按钮,如图所示,可以查看机械臂从现在真实位姿到目标位姿的路径运动过程。

(5)确保控制器在实验人员的附近,可以随时拍到机器人的急停旋钮,防止对周围设备造成意外损失,点击【Excute】按钮,将上述规划的路径发送到真实机械臂,可以看到真实机械臂按照规划路径进行运动,同时在Moveit中也实时显示真实机械臂的实时位置。

(6)当机械臂运动完成后,Rviz软件中的目标位姿和真实位姿重合。可观察到真实机械臂最终的位置和设置的目标位姿相同。

(7)在机械臂运动过程中,可以点击Rviz中的Stop按钮,机器人会平滑的停止下来,点击停止到真正停止下来的一小段轨迹的规划过程我们已经在aubo_driver中提供,后续的文章中会介绍到。

3.真实机器人运动速度调节

(1)在终端中输入如下指令,打开机械臂关节速度参数文件。

roscd aubo_e5_moveit_config/
gedit config/joint_limits.yaml

(2)在这个文件中,可修改foreArm_joint、shoulder_joint、upperArm_joint、wrist1_joint、wrist2_joint、wrist3_joint六个关节的最大速度和最大加速度的限制,默认的值在一般情况下无需修改,如果有更高速度和加速需求,可修改这个参数文件,最好每次适当增加速度,防止速度超出预期造成不必要的损失,特别是在调试开发阶段,同时也请放心,在ROS控制下,机械臂的碰撞停止等安全功能依然有效。

(3)每个关节有四个参数,分别是has_velocity_limits、max_velocity、has_acceleration_limits、max_acceleration,功能分别如下:

  •  has_velocity_limits代表速度限制是否生效,true代表生效,false代表不生效,生效时才能控制最大速度;
  •  max_velocity最大速度限制值,单位为弧度/s;
  •  has_acceleration_limits代表加速度限制是否生效,true代表生效,false代表不生效,生效时才能控制最大加速度;
  • max_acceleration最大加速度限制值,单位为弧度/s^2。

总结

本文涵盖了虚拟机的安装使用、ubuntu18.04 Linux系统的安装,对应ROS版本melodic的配置,aubo i5机械臂ROS仿真控制及连接真实机械臂的控制。

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
你可以使用ROS-Melodic和MoveIt来进行UR5机械臂的仿真控制。以下是一个基本的步骤: 1. 安装ROS-Melodic:请根据ROS官方文档的说明安装ROS-Melodic。确保你的系统满足所有的依赖项。 2. 安装MoveIt:在终端中运行以下命令来安装MoveIt: ``` sudo apt-get install ros-melodic-moveit ``` 3. 配置工作空间:创建一个新的工作空间,并将其初始化为ROS工作空间。例如,你可以运行以下命令: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 4. 下载UR5机械臂包:在终端中运行以下命令来下载UR5机械臂ROS软件包: ``` cd ~/catkin_ws/src git clone https://github.com/ros-industrial/universal_robot.git ``` 5. 下载MoveIt配置文件:在终端中运行以下命令来下载MoveIt配置文件: ``` cd ~/catkin_ws/src git clone https://github.com/ros-planning/moveit_resources.git ``` 6. 构建和编译:在终端中运行以下命令来构建和编译你的工作空间: ``` cd ~/catkin_ws/ catkin_make ``` 7. 启动仿真环境:在终端中运行以下命令来启动UR5机械臂的仿真环境: ``` roslaunch ur_gazebo ur5.launch ``` 8. 启动MoveIt RViz:在终端中运行以下命令来启动MoveIt RViz界面: ``` roslaunch ur5_moveit_config moveit_rviz.launch config:=true ``` 9. 进行控制:在RViz界面中,你可以使用MoveIt插件来规划和控制UR5机械臂的运动。你可以设置目标位置、执行运动等。 这些是基本的步骤,可以帮助你开始使用ROS-Melodic和MoveIt进行UR5机械臂的仿真控制。你可以根据自己的需求进行进一步的定制和开发。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值