【ROS Tutorials入门之三】ARToolKit增强现实

简介

ARToolKit 是一个软件库为了构建Augmented Reality (AR) 应用。 这些应用依赖大量的虚拟景象添加到真实世界中。举个例子,在一张图像有一个三维虚拟的卡在现实的世界中出现,在右边的图像中,一个三维虚拟人物站在一张真实的卡片上。用户可以在头戴式显示器上看到。当用户移动卡时,虚拟字符将随之移动,并显示为附加到真实对象。
ARToolKit基本原理是一款基于基本角点检测方法,快速位姿估算的算法库。

ROS中运行ARToolkit

安装库

首先,切换到catkin工作空间目录下,并执行如下命令:
$ cd src
$ wstool init
$ wstool set ar_tools --git git://github.com/ar-tools/ar_tools.git
$ wstool update
编译之前需要安装以下库:
sudo apt-get install gstreamer0.10-dev(可选)
sudo apt-get install freeglut3-dev
sudo apt-get install libv4l-dev

现在开始通过下面命令进行编译:
$ cd …
$ catkin_make
编译过程可能会因为v4l1库出错:
需要将(/ar_tools/artoolkit/patch_v4l中<linux/videodev.h>改成<libv4l1-videodev.h>)
一旦编译完成,我们需要更新环境变量:
$ source devel/setup.bash
设定好开发环境变量,就可以运行ar_tools节点了。

USB摄像头

  1. 安装uvc_cam

$ sudo apt-get install ros-<YOUR_VERSIOIN>-uvc-camera
$ source /opt/ros/indigo/setup.bash
采用apt-get的方式,直接装在了ROS的安装路径中,并设置工作路径。 安装成功后在/opt/ros/kinect/的路径中就会找到uvc_camera_node。
然后,运行以下命令运行摄像头节点,,显示图像:
$ roscore
$ rosrun uvc_camera uvc_camera_node
$ rosrun image_view image_view image:=/image_raw

  1. 运行节点显示摄像头内容
    运行:roscore
    $ rosrun uvc_camera uvc_camera_node __ns:=/camera
    $ ROS_NAMESPACE=camera rosrun image_proc image_proc
    这里需要添加相机配置文件:camera.yaml。

  2. 使用rosbag保存消息记录包数据:
    $ rosbag record /camera/camera_info /camera/image_raw /camera/image_rect
    将bag复制到/demo/ar_data中,打开demo_single.launch,将bag名称改为方才名称,可以设置Marker的width;

增强显示实例

运行离线rosbag:
$ roslaunch ar_pose demo_single.launch

  1. 直接打开摄像头,实时显示AR
    $ roslaunch ar_pose ar_pose_single.launch
    或者:
  2. 打开摄像头,多个目标跟踪
    $ roslaunch ar_pose ar_pose_single.launch
    跟踪Marker:
    在这里插入图片描述
    我们可以看到摄像头可以跟踪两个Marker位置,并添加了一个立方体。随着目标的位姿变化,坐标系内模型也发生相应变化。
    在这里插入图片描述
参考文章:

链接:https://www.zhihu.com/question/55624603/answer/411506179
步骤:https://www.zhihu.com/question/55624603
官网: http://www.hitl.washington.edu/artoolkit/
ROS 串口:http://stevenshi.me/2017/05/17/ros-serial/
ROS官方:http://wiki.ros.org/ar_pose

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值