二维相机能得到三维信息?机器人感知部分之Aruco标定板的使用

2023-05-16

大家好,我是小鱼,今天来介绍一下Aruco并是结合ROS来进行识别。

aruco其实是opencv中的一个库,可以将特定的标记物转换成三维的坐标,所以它是可以脱离ROS进行使用的。

aruco介绍:
姿态估计(Pose estimation)在计算机视觉领域扮演着十分重要的角色:机器人导航、增强现实以及其它。这一过程的基础是找到现实世界和图像投影之间的对应点。这通常是很困难的一步,因此我们常常用自己制作的或基本的Marker来让这一切变得更容易。
最为流行的一个途径是基于二进制平方的标记。这种Marker的主要便利之处在于,一个Marker提供了足够多的对应(四个角)来获取相机的信息。同样的,内部的二进制编码使得算法非常健壮,允许应用错误检测和校正技术的可能性。
aruco模块基于ArUco库,这是一个检测二进制marker的非常流行的库,是由Rafael Muñoz和Sergio Garrido完成的。

1. 安装

Kinetic:

sudo apt-get install ros-kinetic-aruco*

Melodic:

sudo apt-get install ros-melodic-aruco*

其他版本

sudo apt-get install ros-版本名称-aruco*

noetic版本上好像没有,需要你编译安装,源码地址:https://github.com/pal-robotics/aruco_ros

2. 修改参数

2.1 launch文件

因为使用aruco要结合相机来,所以你要先启动一个相机驱动节点,拿到图像数据,小鱼这里把相机驱动和aruco写在同一个launch文件里,文件内容如下:

<launch>
    <arg name="camera_info_url"  default="file:///home/ros/.ros/camera_info/head_camera.yaml"/>
    <arg name="video_device"     default="/dev/video0"/>
    <arg name="image_width"      default="640"/>
    <arg name="image_height"     default="480"/>

    <arg name="markerId"        default="0"/>
    <arg name="markerSize"      default="0.107"/>    
    <arg name="eye"             default="left"/>
    <arg name="marker_frame"    default="aruco_marker_frame"/>
    <arg name="ref_frame"       default=""/>  
    <arg name="corner_refinement" default="LINES" /> 

    <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
        <param name="camera_info_url" type="string" value="$(arg camera_info_url)"/>
        <param name="video_device" value="$(arg video_device)" />
        <param name="image_width" value="$(arg image_width)" />
        <param name="image_height" value="$(arg image_height)" />
        <param name="pixel_format" value="yuyv" />
        <param name="camera_frame_id" value="usb_cam" />
        <param name="io_method" value="mmap"/>
    </node>

    <node pkg="aruco_ros" type="single" name="aruco_single">
        <remap from="/camera_info" to="/usb_cam/camera_info" />
        <remap from="/image" to="/usb_cam/image_raw" />
        <param name="image_is_rectified" value="True"/>
        <param name="marker_size"        value="$(arg markerSize)"/>
        <param name="marker_id"          value="$(arg markerId)"/>
        <param name="reference_frame"    value="$(arg ref_frame)"/> 
        <param name="camera_frame"       value="stereo_gazebo_$(arg eye)_camera_optical_frame"/>
        <param name="marker_frame"       value="$(arg marker_frame)" />
        <param name="corner_refinement"  value="$(arg corner_refinement)" />
    </node> 

    <node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen">
        <remap from="image" to="/aruco_single/result"/>
        <param name="autosize" value="true" />
    </node>


</launch>

2.2 主要参数

需要修改的参数如下:

  • camera_info_url 相机标定文件所在位置
  • video_device: 设备位置
  • image_width: 图片宽度
  • image_height: 图片高度
  • markerId: 标定板编号,就是你所用的标定板的id,可以通过在线生成标定板:https://chev.me/arucogen/进行生成并打印,注意选择origin类型。
  • markerSize:标定板的宽度 单位m

2.3 开始运行

直接运行对应launch文件即可

roslaunch  aruco_start_usb_cam.launch

识别成功会出现轴

2.4 识别结果

识别结果的位姿数据可以通过话题获取

rostopic echo /aruco_signle/pose

姿态数据

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二维相机能得到三维信息?机器人感知部分之Aruco标定板的使用 的相关文章

  • ArUco----一个微型现实增强库的介绍及视觉应用(二)

    很重要的一点就是这个 转载自 xff1a https www cnblogs com shawn0102 p 8039439 html ArUco 一个微型现实增强库的介绍及视觉应用 xff08 二 xff09 ArUco 一个微型现实增强
  • 基于opencv的ArUco的视觉定位之ArUco安装

    转载自 xff1a https blog csdn net weixin 43053387 article details 84952557 基于opencv的ArUco的视觉定位之ArUco安装 share space 2019 01 1
  • 我们可以看看美团的无人机二维码降落,也是用的aruco二维码

    摘自 xff1a https mp weixin qq com s ZwjS74fWpSfHx5qk8biogw 其实最外面这个最大的方框就是个二维码 xff01 xff01 xff01 xff01 xff01 然后里面的白色区域有更小的二
  • 二维码识别与定位-方法2-利用opencv扩展库aruco

    二维码识别作为一种快捷准确的技术已经应用与生活中的购物支付 物体识别及工业AGV导航等领域 xff0c 典型的二维码识别开源库有arcuo alvar以及OpenCV中的二维码检测API如QRCodeDetector xff0c 在本节中我
  • OpenCV基础(19)使用 OpenCV 和 Python 检测 ArUco 标记

    在本教程中 xff0c 您将学习如何使用 OpenCV 和 Python 检测图像和实时视频流中的 ArUco 标记 1 使用 OpenCV 和 Python 检测 ArUco 标记 在本教程的第一部分 xff0c 您将了解 OpenCV
  • ArUco标定板生成与打印

    链接如下 xff1a https span class token punctuation span span class token operator span chev span class token punctuation span
  • 基于ArUco的视觉定位(一)

    一 ArUco简介及安装步骤 ArUco a minimal library for Augmented Reality applications based on OpenCV xff0c 是科尔多瓦大学 人工视觉应用 研究小组 xff0
  • ArUco相关

    ArUco相关 ArUco xff0c 一个开源的微型的现实增强库 https blog csdn net bashendixie5 article details 113769010 Aruco码估计相机位姿初步 xff01 xff01
  • 【OpenCV3.2】Detection of ArUco Markers

    姿态估计 xff08 Pose estimation xff09 在 计算机视觉 领域扮演着十分重要的角色 xff1a 机器人 导航 增强现实以及其它 这一过程的基础是找到现实世界和图像投影之间的对应点 这通常是很困难的一步 xff0c 因
  • ArUco估计位姿原理

    ArUco使用 PnP OpenCV aruco 校准相机 Camera Calibration Demo 使用opencv的aruco库进行位姿估计 include lt opencv2 core core hpp gt include
  • opencv中ArUco识别

    姿态估计 xff08 Pose estimation xff09 在 计算机视觉领域扮演着十分重要的角色 xff1a 机器人导航 增强现实以及其它 这一过程的基础是找到现实世界和图像投影之间的对应点 这通常是很困难的一步 xff0c 因此我
  • aruco板_基于arucoTag的简单slam

    include include include include include include include include include include include include include 34 g2o types sla
  • ArUco----一个微型现实增强库的介绍及视觉应用(二)

    ArUco 一个微型现实增强库的介绍及视觉应用 xff08 二 xff09 ArUco 一个微型现实增强库的介绍及视觉应用 xff08 二 xff09 一 第一个ArUco的视觉应用 首先介绍第一个视觉应用的Demo xff0c 这个应用场
  • aruco marker使用笔记

    在英伟达Jetson Xaiver开发板上配置 SDK环境 opencv 4 1 1 CUDA 10 2 1 git clone https github com pal robotics aruco ros 2 复制到catkin ws
  • 【AR】使用OpenCV中的aruco模块实现增强现实

    1 ArUco marker ArUco marker是由S Garrido Jurado等人在2014年提出的 xff0c 全称是Augmented Reality University of Cordoba xff0c 详见他们的论文
  • ROS使用ARUCO识别二维码获取位置信息做定位使用

    使用ARUCO识别二维码获取位置信息 1 安装软件 cd catkin ws src git clone b kinetic devel https github com pal robotics aruco ros cd catkin m
  • 使用Realsense测试aruco_ros包

    01 准备工作 安装realsense ros安装aruco ros span class token builtin class name cd span ur ws src span class token function git s
  • 在 openCV 中的特定坐标处将图像显示在另一图像上

    我试图在特定坐标处将一个图像显示在另一个图像上 我已使用网络摄像头检测到 aruco 标记 并且我想在 aruco 标记上显示另一个图像 aruco 标记可以移动 并且覆盖的图像应与标记一起移动 有各种绘图功能并将文本输入到图像中 我尝试过
  • ArUco 位姿估计中的不稳定值

    我正在尝试使用 Aruco 标记找到相机的方向 从旋转矩阵中提取的欧拉角在超过某一点时不稳定 随着相机与标记的距离增加 相机的偏航角值不稳定 标记上的 Z 轴翻转 欧拉角不稳定 每帧都不相同 需要时间才能稳定 如何获得相机和标记之间的偏航角
  • Aruco 标记与 openCv,获取 3d 角坐标?

    我正在使用 opencv 3 2 检测打印的 Aruco 标记 aruco estimatePoseSingleMarkers corners markerLength camMatrix distCoeffs rvecs tvecs 这将

随机推荐

  • FAST-LIVO论文翻译

    摘要 多传感器融合被证明是一种能够在SLAM任务中取得准确和鲁棒位姿估计的有效解决方案 xff0c 因而在机器人应用中具有无限可能 本文提出了FAST LIVO方法 xff0c 一种快速的雷达 惯性 视觉里程计 xff0c 其中包含了两个紧
  • 工作后,如何免费查论文

    工作后 xff0c 如何免费查论文 毕业后不能像在学校一样享受下载免费论文的待遇了 免费论文 毕业论文 各专业论文在哪里可以下载 xff1f 如果你的学校图书馆有数据库 xff0c 那当然是优先选择 xff0c 很多学校购买了期刊的数据 x
  • LVI-SAM论文翻译

    摘要 我们提出了一个通过smoothing and mapping的紧耦合的雷达视觉惯性里程计框架 xff0c LVI SAM xff0c 能够实时状态估计和建图 xff0c 且具有很高的精度和鲁棒性 LVI SAM基于因子图构建 xff0
  • LIO-SAM论文翻译

    摘要 我们提出了一个通过smoothing and mapping实现的紧耦合激光惯性里程计框架 xff0c LIO SAM xff0c 能够取得高精度 实时的移动机器人的轨迹估计和地图构建 LIO SAM基于因子图构建 xff0c 把多个
  • R3live论文翻译

    摘要 在本文中 xff0c 我们提出了一个新颖的激光惯性视觉传感器融合框架 xff0c 也就是R3live xff1b 它利用了激光雷达 惯性和视觉传感器的测量值 xff0c 可以得到鲁棒和高精度的状态估计 R3live包含了两个子系统 x
  • FAST-LIO2论文翻译

    摘要 本文提出了FAST LIO2 xff1a 一个快速 xff0c 鲁棒和多功能的雷达惯性里程计框架 基于高效的紧耦合的迭代卡尔曼滤波 xff0c FAST LIO2有两个关键的创新点 xff0c 可实现快速 鲁棒和准确的激光导航 xff
  • FAST-LIO论文翻译

    摘要 本文提出了一个计算效率较高和鲁棒的激光 惯性里程计框架 我们使用基于紧耦合的迭代扩展卡尔曼滤波器将LiDAR特征点与IMU数据融合在一起 xff0c 以便在发生退化的快速运动 xff0c 嘈杂或杂乱环境中实现稳健的导航 为了在存在大量
  • Faster-lio论文翻译

    摘要 本文提出了一种基于增量体素的激光惯性里程计 xff08 LIO xff09 方法 xff0c 用于快速跟踪旋转和固态激光雷达 为了实现快速的跟踪速度 xff0c 我们既没有使用复杂的基于树的结构来划分空间点云 xff0c 也没有使用严
  • Cartographer论文翻译(回环)

    摘要 便携式激光测距仪 xff08 也被称为激光雷达 xff09 和同步定位与建图 xff08 SLAM xff09 技术是获取竣工平面图的有效方法 实时生成和可视化平面图有助于操作员评估捕获数据的质量和覆盖范围 构建一个便携式捕获平台需要
  • Ubuntu 还原回默认源

    虽然国内源的速度快很多 xff0c 但是有些软件国内源没有 xff0c 或者版本较旧 xff0c 没有的情况还好 xff0c 会有意识的找原来的源 xff0c 但是如果是版本较旧的 xff0c 安装了以后会导致你陷在版本的坑 xff0c 爬
  • 基于ROS的机械臂手眼标定-Aruco使用与相机标定

    基于ROS的机械臂手眼标定 Aruco使用与相机标定 你好 xff0c 我是小智 折腾了一段时间的机械臂的手眼标定 xff0c 相关资料挺多的 xff0c 但使用起来都比较复杂 xff0c 新手一般比较难搞懂 于是想做一个比较简单易懂易用的
  • 机器人手眼标定原理介绍(含详细推导过程)使用Tsai-Lenz算法

    最近找小鱼问手眼标定的非常多 xff0c 但是小鱼时间有限 xff0c 拉了个小群大家讨论 xff0c 二维码失效可以关注公众号鱼香ROS下方加小鱼好友拉你进群 手眼标定原理及常用算法Tsai Lenz介绍 大家好 xff0c 我是小鱼 上
  • 自制Pixracer自定义IMU传感器飞控

    自制Pixracer自定义IMU传感器四层通孔板飞控 xff0c 板载DC降压 xff1a 飞行演示视频如下链接 xff1a https v youku com v show id XNDgxMjUzODc2MA 61 61 html
  • gazebo又卡又慢?快把你的显卡用起来!点击查看如何使用显卡运行gazebo~

    2021 10 11 更新 经测试发现 xff0c 使用系统自带的显卡驱动安装程序 xff0c 更加方便快捷 步骤如下 xff1a 设置 gt 关于 gt 软件和更新 gt 附加驱动 gt 找到推荐的驱动直接点应用即可 之前的原文 大家好
  • 机器人学习必看系列:如何使用moveit控制真实机械臂?

    大家好 xff0c 我是你们可爱的小鱼 最近关于moveit相关的问题感觉非常多 xff0c 毕竟机械臂 43 视觉的应用的确是非常的火爆 xff0c 小鱼都想直接开课教机械臂运动规划相关的了 有的同学问小鱼 xff0c 怎么使用movei
  • 如何一行代码安装ROS|2022最新版|一行代码安装ROS2|一行代码解决rosdep|一行代码配置多ROS环境

    2022最新版本V3 0 大家好 xff0c 我是小鱼 xff0c 经过一周多的完善 还是熟悉的一行代码 span class token function wget span http fishros com install O fish
  • 小鱼带你一起使用docker来跑ros2小乌龟|docker安装ros2|docker可视化

    各位鱼粉大家好 xff0c 我是爱折腾的小鱼 动手学ROS2开课了 xff0c 晚上买了个大鸡腿奖励了一下自己 xff0c 说起来小鱼最近又胖了不少 xff0c 俨然成了条胖鱼 xff01 昨晚小鱼搭建了一个私人的网盘 xff0c 使用do
  • 鱼香ROS网站上线|一行代码安装ROS/ROS2/解决rosdep问题|小鱼脚本

    大家好 xff0c 我是开心的小鱼 xff0c 经过几个月的努力 xff0c 动手学ROS2课程终于和小伙伴们见面了 xff0c 有很多小伙伴一下午的时间就把前两章给搞定了 xff0c 小鱼要抓紧啦 之前说的鱼香ROS网站已经上线啦 xff
  • ROS2安装Gazebo11并运行两轮差速样例程序

    大家好 xff0c 我是小鱼 告诉大家一个好消息 xff0c 小鱼把吃灰多年的板子卖掉了 xff0c 一共卖了70块钱 xff0c 然后又入手一个逻辑分析仪 xff0c 准备做一个ROS2的小车 xff0c 所以今天我们来使用gazebo来
  • 二维相机能得到三维信息?机器人感知部分之Aruco标定板的使用

    大家好 xff0c 我是小鱼 xff0c 今天来介绍一下Aruco并是结合ROS来进行识别 aruco其实是opencv中的一个库 xff0c 可以将特定的标记物转换成三维的坐标 xff0c 所以它是可以脱离ROS进行使用的 aruco介绍