Ubuntu18.04 ROS手眼标定UR5之安装篇(亲测有效)

环境配置

系统:Ubuntu 18.04

ROS: Melodic

视觉传感器:Intel RealSense D435i

机械臂:UR5

注意:本篇中git clone命令出现fatal时,把https改为git

1.ROS安装

1.1.设置soucrces.list

设置电脑以安装来自packages.ros.org的软件。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

 注意上面这一条有可能导致sudo apt-get update错误。如果出现错误,那么尝试下面这一条:

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'

1.2.设置密钥

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

1.3.安装

首先,确保你的Debian软件包索引是最新的:

sudo apt-get update

桌面完整版: (推荐) : 包含ROS、rqtrviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知 

sudo apt-get install ros-melodic-desktop-full

1.4.初始化rosdep

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

sudo rosdep init
rosdep update

Error1.若sudo rosdep init指令报错:

考虑是否安装rosdep

sudo apt-get install python-rosdep

Error2. 如果出现错误:
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down. 

cd /etc
sudo gedit hosts

在文件末尾添加:

151.101.84.133 raw.githubusercontent.com

 Error3.若rosdep update指令出现time out错误:

参考网址,利用网络代理解决:

https://blog.csdn.net/Kenny_GuanHua/article/details/116845781

1.5.环境配置

如果每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中),那将会方便很多:

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

 1.6.建立工厂依赖

到目前为止,你已经安装了运行核心 ROS 包所需的内容。为了创建和管理自己的 ROS 工作区,有各种各样的工具和需求分别分布。例如:ros install 是一个经常使用的命令行工具,它使你能够轻松地从一个命令下载许多 ROS 包的源树。

要安装这个工具和其他构建ROS包的依赖项,请运行:

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

2.安装RealSense SDK

 注意以下的下载建议使用代理,否则很容易下载错误,建议使用clash for windows:

export http_proxy="代理主机的ip:代理端口号"
export https_proxy="代理主机的ip:代理端口号"

比如我的开代理的主机ip是172.26.105.84,代理端口是7890,则在终端输入:

export http_proxy="172.26.105.84:7890"
export https_proxy="172.26.105.84:7890"

2.1.下载source(如果报错,把https改成git

git clone https://github.com/IntelRealSense/librealsense
cd librealsense

 2.2.安装依赖项

sudo apt-get install libudev-dev pkg-config libgtk-3-dev libusb-1.0-0-dev pkg-config libglfw3-dev libssl-dev

2.3.安装权限脚本

sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger

2.4.编译安装

我发现如果和官网一样运行patch-realsense-ubuntu-lts.sh编译内核,好像会报警告错误, 但是直接忽略掉并不会有什么影响,所以直接运行编译

mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install

2.5.插入realsense相机测试

realsense-viewer

3.安装realsense-ros

3.1.建一个工作站

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/

3.2.编译安装

git clone https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
cd ~/catkin_ws && catkin_make

3.3.配置环境

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

3.4.插入realsense相机测试

roslaunch realsense2_camera rs_camera.launch

4.手眼标定配置安装

4.1.机械臂驱动安装(用于驱动真实机械臂)

ROS成功安装好后,我们开始安装机械臂驱动:

UR机械臂版本驱动选择
version≤3.9ur_modern_driver
version≥3.9ur_robot_driver

由于我的机械臂版本为3.14,所以我选择ur_robot_driver进行安装

# source global ros
source /opt/ros/melodic/setup.bash

# create a catkin workspace
mkdir -p catkin_ws/src && cd catkin_ws

# clone the driver
git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver

# clone fork of the description. This is currently necessary, until the changes are merged upstream.
git clone -b calibration_devel https://github.com/fmauch/universal_robot.git src/fmauch_universal_robot

# install dependencies
sudo apt update -qq
rosdep update
rosdep install --from-paths src --ignore-src -y

# build the workspace. We need an isolated build because of the non-catkin library package.
catkin_make

# activate the workspace (ie: source it)
source devel/setup.bash

 注意!!!以上命令一行一行执行,不要全部一起复制粘贴进去终端,否则会出错。

Error:如果rosdep install --from-paths src --ignore-src -y报错,那就是git clone下载的两个包有问题,把这两个包删除,然后重装,问题基本能够解决。

4.2.aruco_ros安装

cd ~/catkin_ws/src
git clone -b melodic-devel https://github.com/pal-robotics/aruco_ros.git
cd ..
catkin_make

4.3.vision_visp / visp_hand2eye_calibration安装

cd ~/catkin_ws/src
git clone -b melodic-devel https://github.com/lagadic/vision_visp.git
cd ..
catkin_make --pkg visp_hand2eye_calibration

Error:

Could not find a package configuration file provided by "VISP" with any of the following names:

        VISPConfig.cmake

        visp-config.cmake

解决办法:

sudo apt install ros-melodic-visp

4.4.easy_handeye安装

cd ~/catkin_ws/src
git clone https://github.com/IFL-CAMP/easy_handeye
cd ..
catkin_make

5.补充

错误记录:

RuntimeError: API version mismatch: librealsense.so was compiled with API version 2.××.0 but the application was compiled with 2.××.1!

出现该错误原因是上面第二和第三步下载的librealsense和realsense-ros版本不一致。

我们去到realsense-ros文件下的README.md,查看该驱动支持的版本,比如我这里的:

LibRealSense2 supported version: v2.50.0

那么把之前安装的librealsense删除,回去第二步骤重新安装并重新编译:

git clone -b v2.50.0 https://github.com/IntelRealSense/librealsense

  • 5
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以使用ROS(Robot Operating System)和Python来操纵UR5机械臂。首先,确保已经安装ROS和UR开发包。接下来,你需要创建一个ROS工作空间,并下载UR5机械臂的ROS包。然后,你可以使用Python编写控制程序来操纵机械臂。 以下是一个简单的操纵UR5机械臂的示例代码: ```python #!/usr/bin/env python import rospy from std_msgs.msg import String from sensor_msgs.msg import JointState from math import pi def move_ur5(): rospy.init_node('move_ur5', anonymous=True) pub = rospy.Publisher('/ur_driver/URScript', String, queue_size=10) # 设置机械臂关节角度 joint_angles = [0, -pi/2, pi/2, -pi/2, -pi/2, 0] joint_angles_str = '[{}]'.format(', '.join(map(str, joint_angles))) command = 'movej({}, a=1.0, v=0.1)'.format(joint_angles_str) # 发布控制指令 rospy.loginfo('Moving UR5 to joint angles: {}'.format(joint_angles_str)) pub.publish(command) rospy.sleep(5) if __name__ == '__main__': try: move_ur5() except rospy.ROSInterruptException: pass ``` 这个示例代码中,我们使用ROS的Python库rospy来发布控制指令到UR5机械臂。首先,我们初始化ROS节点并创建一个Publisher来发布URScript指令。然后,我们设置机械臂的目标关节角度,并将其转换为字符串格式。最后,我们发布控制指令并等待5秒钟。 请确保你的ROS环境正确设置,并且已经连接上UR5机械臂。你可以运行上述代码来测试操纵UR5机械臂。 希望这对你有帮助!如有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值