环境配置
系统: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、rqt、rviz、机器人通用库、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.9 | ur_modern_driver |
version≥3.9 | ur_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