详细Ubuntu 22.04 配置最新UR机械臂仿真环境(ros2-humble, ur-sim, ur-ros2-driver)

 

目录

前言

1、安装

1.1 ros2-humble

1.2 UR_ROS2_Driver

1.3 UR simulator

2、仿真

总结


 


前言

仿真使用的系统版本:ubuntu22.04.1 LTS

本来是打算使用18来做仿真,但是由于新买的电脑硬件太新了,出现了特别多奇怪的bug(比如无法识别AX211这个型号的网卡,手动打驱动都不行,看了下还只有22版本才支持这个网卡),以及之前在安装ur_driver和ur_robot这两个包时会有冲突,于是决定使用最新的ros2和driver2来尝试仿真,以下是具体步骤.

 

注:以下安装步骤如果有问题建议直接点进原网页进一步查看

注:有权限问题记得加上sudo或者su root开管理模式试一试

 


 

1、安装

1.1 ros2-humble

设置local

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale

这是我的输出结果

026e6ff2f6eb40dc958c2748e8aef8b4.png

确保你的安装来源打开

0d2d5dd15d77470288e989ac35d367d7.png

配置安装源

sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

安装ros2

 安装之前一定要先确认已经更新各个包了,使用以下命令

sudo apt update
sudo apt upgrade

 更新之后安装ros2

sudo apt install ros-humble-desktop

source(每次运行各个软件前最好都source一遍)

# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
source /opt/ros/humble/setup.bash

测试一下安装是否完成

输入

ros2 run demo_nodes_cpp talker

 输出这个表明已经安装好了

d859b4bb3c7140a5b758077c36b872aa.png

 

1.2 UR_ROS2_Driver

注意,这里使用的是的最新ur-ros2-driver,不是ur-driver或者ur-modern-driver

安装依赖

sudo apt install python3-colcon-common-extensions python3-vcstool

创建工作环境

export COLCON_WS=~/workspace/ros_ur_driver
mkdir -p $COLCON_WS/src

安装urdriver以及build工作空间(会很慢)

cd $COLCON_WS
git clone https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver.git src/Universal_Robots_ROS2_Driver
vcs import src --skip-existing --input src/Universal_Robots_ROS2_Driver/Universal_Robots_ROS2_Driver-not-released.humble.repos
rosdep update
rosdep install --ignore-src --from-paths src -y -r
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.bash

注:如果在build过程中命令窗口闪退了,应该是电脑配置不够,在colcon build那行代码后添加一句

 --parallel-workers 1

安装完后每次运行前记得source一下

source ~/workspace/ros_ur_driver/install/setup.bash

到这里urdriver也安装成功了,输入命令测试一下

ros2 launch ur_moveit_config ur_moveit.launch.py ur_type:=ur5e launch_rviz:=true

应该能够打开rviz2的仿真界面

d05610cb3ff44780a8fd34beb6014ef2.png

 不过我当初并不能打开仿真,并且所有的driver仿真命令都打不开,会有以下报错

[ERROR] [launch]: Caught exception in launch (see debug for traceback): executed command showed stderr output. Command: /opt/ros/humble/bin/xacro /opt/ros/humble/share/ur_description/urdf/ur.urdf.xacro robot_ip:=xxx.yyy.zzz.www joint_limit_params:=/opt/ros/humble/share/ur_description/config/ur5e/joint_limits.yaml kinematics_params:=/opt/ros/humble/share/ur_description/config/ur5e/default_kinematics.yaml physical_params:=/opt/ros/humble/share/ur_description/config/ur5e/physical_parameters.yaml visual_params:=/opt/ros/humble/share/ur_description/config/ur5e/visual_parameters.yaml safety_limits:=true safety_pos_margin:=0.15 safety_k_position:=20 name:=ur ur_type:=ur5e script_filename:=ros_control.urscript input_recipe_filename:=rtde_input_recipe.txt output_recipe_filename:=rtde_output_recipe.txt prefix:=""
Captured stderr output:
warning: Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
warning: Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
warning: Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
warning: Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
warning: Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.

非常弱智,花了我好几天才解决,具体办法在这个提问下面: issues

简单来说这个bug这不是driver的问题而是description这个包的问题,有人说下个版本应该会修复这个bug,目前的解决办法是引入description包到driver的src里面然后重新build工作空间

以下是解决办法,首先打开driver的src文件夹

cd ~/workspace/ros_ur_driver/src/

克隆description包

 git clone https://github.com/UniversalRobots/Universal_Robots_ROS2_Description.git

回到workspace重新build一下

colcon build

然后重新测试一下,现在应该没问题了.

 

1.3 UR simulator

由于直接安装官方的软件太老了,所以在driver的tutorial里找到了方法,建议直接点标题在原网页进行学习

安装CB3系列的simulator (e系列在这里安装e-系列)

docker pull universalrobots/ursim_cb3

注:没有docker应该会提示安装,复制一下提示的代码安装就行

到这里安装部分就结束了,接下来是仿真测试

 

2、仿真

建议开新窗口

首先source一下要运行的ros2和driver

source /opt/ros/humble/setup.bash #ros
source ~/workspace/ros_ur_driver/install/setup.bash #driver

然后启动sim

ros2 run ur_robot_driver start_ursim.sh -m <ur_type> #<ur_type>替换为要用ur的型号

会有如下结果

e06922b32db24a87a9926b7137773166.png

在网页打开 http://192.168.56.101:6080/vnc.html, 随便输入密码,我们就能进入控制器页面了

d1b87b6f47b9487dbbe17b046d129fd8.png

922c0be47df7437ebacd8e709ca4db4e.png

接下来运行rviz2

ros2 launch ur_robot_driver ur_control.launch.py ur_type:=<ur_type> robot_ip:=192.168.56.101 launch_rviz:=true #<ur_type>记得替换

 405e11cc903c4f9cb69cbf5d39fb3e79.png

然后在控制器里操作一下机械臂,仿真也应该会跟着一起动,到这里基本就结束了.

注:如果出现Got permission denied这种报错无法启动仿真的话,使用su root取得管理权限,然后重新source一下ros和driver,再运行应该就没问题了

 

 


 

总结

刚开始使用ubuntu,真是问题多多,只能一直google,希望越来越熟练吧,这个主要还是一个记录我遇到的问题及解决办法

 

  • 8
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值