ubuntu 20.04安装visp, vision_visp, visp_ros,配合realsense d453i教程
本教程适用于利用visp视觉伺服平台在真实机器人上实现视觉伺服功能,visp_ros是方便visp与机器人之间通过ros进行通讯,通过ros topic的形式收发数据,vision_visp作为visp提供给ros的组件
安装visp以及librealsense
- 主要跟随visp官方网站的安装教程,参考 Advanced ViSP installation 步骤
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-ubuntu.html - 下面是复制官网教程并需要注意的点
- 需要先安装librealsense,以防后续visp安装检索不到librealsense
- 注意选择librealsense的版本是适用ros1还是ros2,可在https://github.com/IntelRealSense/realsense-ros/releases查看对应版本
- 接下来安装librealsense,安装依赖
$ sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev cmake-curses-gui
$ sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
- 创建工作空间并且克隆libreslsense,git clone会选择最新的ros2版本,安装ros1版本的需要在github下载对应源码放到工作空间编译,下载2.50.0版本(目前最新适用于ros1)可在https://github.com/IntelRealSense/librealsense/releases/tag/v2.50.0找到压缩包
$ mkdir -p $VISP_WS/3rdparty
$ cd $VISP_WS/3rdparty
$ git clone https://github.com/IntelRealSense/librealsense.git
$ cd librealsense
- 运行权限脚本
$ sudo ./scripts/setup_udev_rules.sh
- 编译并安装librealsense
$ mkdir build
$ cd build
$ cmake .. -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release
$ make -j4
$ sudo make install
- 测试是否安装成功
$ ./examples/capture/rs-capture
上述步骤在visp adavanced installation中可找到
3. 安装完librealsense后下载安装visp,具体步骤如下
- 安装一些推荐的库
$ sudo apt-get install libopencv-dev libx11-dev liblapack-dev libeigen3-dev libv4l-dev \
libzbar-dev libpthread-stubs0-dev libdc1394-dev nlohmann-json3-dev
- 安装并设置环境变量
$ cd $VISP_WS
$ git clone https://github.com/lagadic/visp.git
$ mkdir -p $VISP_WS/visp-build
$ cd $VISP_WS/visp-build
$ cmake ../visp
$ make -j$(nproc)
$ echo "export VISP_DIR=$VISP_WS/visp-build" >> ~/.bashrc
$ source ~/.bashrc
- 到此visp安装完成
安装visp_ros
- visp现在没有ros分支,但最新的visp_ros已经面向ros2,因此需要注意选择对应的版本,下载地址https://github.com/lagadic/visp_ros,选择noetic分支,并下载代码压缩包
- 参考readme文件的Install dependencies from source步骤,我们已经安装过visp,因此现在只需要下载vision_visp,具体步骤如下:
$ cd ~/catkin_ws/src
$ source /opt/ros/noetic/setup.bash
$ git clone https://github.com/lagadic/vision_visp.git -b noetic
- 下载并编译visp_ros,提前将下载的visp_ros包解压到src文件下,编译
$ cd ~/catkin_ws
$ catkin_make -DCMAKE_BUILD_TYPE=Release --pkg visp_ros
- 到此visp_ros安装完成
利用visp_ros进行编程
- 在visp_ros/tutorial/franka文件夹下改编程序,用到vpROSRobot类,需要在visp_ros文件夹下的CMakeList中加入如下语句:
- 查找visp_ros外部依赖包
find_package(visp_ros REQUIRED)
- 添加头文件目录
include_directories(
include
${visp_ros_INCLUDE_DIRS}
)
- 在对应添加了vpROSRobot头文件的可知性文件后面添加visp_ros库进行链接,如
target_link_libraries(tutorial-franka-real-ibvs-apriltag_test ${catkin_LIBRARIES} ${visp_ros_LIBRARIES})
- 修改完后保存,再导航到catkin_ws下进行catkin_make编译,编译通过后就可以运行程序了。对于程序中自带的一些libfranka注释掉即可。