用ros中apriltag码进行定位(记录一下)
1.标定安装camera_calibration功能包(18.04)
sudo apt-get install ros-melodic-camera-calibration
启动usb摄像头
roslaunch usb_cam usb_cam-test.launch
运行标定程序(具体参数根据打印黑白格纸的类型和rostopic list中的
/usb_cam/camera_info
/usb_cam/image_raw 来决定)
rosrun camera_calibration cameracalibrator.py --size 11x8 --square 0.03 image:=/usb_cam/image_raw camera:=/usb_cam
用打印好的黑白格纸上下左右前后晃动,直到可以计算,点击 calculate,等待几分钟后,点击save和commit.(会自动保存)
2.导入apriltags_ros功能包
开始用最新版时(apriltags2_ros),编译需要opencv3.2的一个动态库(而我的tx2只有opencv4),后来找到合适版本的功能包(我下的是apriltags_ros),git后运行里面的一个launch文件(先打开摄像头),在rostopic echo /tag_detections可得到具体数据。
需要注意:
1.如果要通过ros话题订阅获取到position.x,position.y,position.z.得注意它的消息类型是geometry_msgs/PoseArray
2.功能包中的launch文件需要自己修改一下
3.launch文件中需要设置不同id的apriltag码的尺寸
3.最终结果
用ros中apriltag码进行定位(记录一下)相关推荐
- 使用ROS和AprilTags进行相机定位(二维码定位全流程)
使用ROS和AprilTags进行相机定位(二维码定位全流程) 配置环境 1 下载虚拟机 2 下载Ubuntu16.07 3 安装虚拟机和Ubuntu 4 安装ROS 5 USB相机驱动 标定.定位 ...
- (完整项目源码)GPS定位源码整套管理系统,轨迹播放,车辆管理,电子围栏,报警记录,数据库/人员定位/宠物定位/物流跟踪/资产定位
(完整项目源码)GPS定位源码整套管理系统,轨迹播放,车辆管理,电子围栏,报警记录,Mysql数据库- 框架:spring+jpa+struts2 ,MVC架构设计,可扩展性强. 数据库:mysql5 ...
- ViSP中AprilTag的实时识别与定位
AprilTag实时识别与定位 在看完前面几篇介绍VISP的安装,编译,配置,AprilTag码的生成,识别等,见相关系列: AprilTag专栏 下面是实时显示时进行识别AprilTag的cpp代码 ...
- ROS学习笔记十一:ROS中数据的记录与重放
ROS学习笔记十一:ROS中数据的记录与重放 本节主要介绍如何记录一个正在运行的ROS系统中的数据,然后在一个运行的系统中根据记录文件重新产生和记录时类似的运动情况.本例子还是以小海龟例程为例. 记录 ...
- Ubuntu16.04 在ROS中配置RealSence D435 并标定深度相机与rplidar外参
Ubuntu16.04系统,在ROS中配置RealSence D435 ,并标定其与rplidar的外参 主要目的是为rplidar标定深度相机外参,为机器人导航的过程提供障碍物识别的功能,因此需要知 ...
- 旋转的Apriltag码
简 介: Apriltag 可以用于视觉定位基础标识,在AR,机器人,机器视觉领域应用广泛. 关键词: Apriltag定位算法 #mermaid-svg-rGKfVZkTMRdbR5Sy {font ...
- 一些关于ROS中move_base的理解
move_base是ROS下关于机器人路径规划的中心枢纽.它通过订阅激光雷达.map地图.amcl的定位等数据,然后规划出全局和局部路径,再将路径转化为机器人的速度信息,最终实现机器人导航.这里又要盗 ...
- ROS中阶笔记(七):机器人SLAM与自主导航—SLAM功能包的使用
ROS中阶笔记(七):机器人SLAM与自主导航-SLAM功能包的使用 文章目录 1 机器人必备条件 1.1 硬件要求 1.2 深度信息 1.2.1 激光雷达 1.2.2 kinect 1.3 里程计信 ...
- ROS中阶笔记(三):机器人仿真—ArbotiX+rviz功能仿真
ROS中阶笔记(三):机器人仿真-ArbotiX+rviz功能仿真 文章目录 01 机器人URDF模型优化-xacro模型文件 1.1 xacro模型文件 1.2 xacro使用方法 1.3 模型显示 ...
最新文章
- 强化学习之父--David Sliver最新演讲内容!
- Android编程 系统资源的介绍
- 前端那么多框架,我们到底学哪一个
- 有小数点是什么类型_为什么0.1+0.2不等于0.3?原来编程语言是这么算的……
- JS OOP -01 面向对象的基础
- 鼠标指针放置上面,显示内容_使鼠标指针远离您键入的内容
- Google 与 GitHub 结盟,为保护软件供应链而战!
- 数据的“敏捷制造”,DataWorks一站式数据开发治理范式演进
- java 数组 反射_【译】10. Java反射——数组
- python桌面程序打开慢_转 : 终于搞清楚了为什么Java桌面程序总是感觉慢的原因...
- Java混乱的日志体系(logback)(转)
- fatal: remote origin already exists
- java 反编译 class_反编译class文件并重新编译的方法
- 电脑故障维修判断指导大全
- 计算机税率函数,excel怎么设置税率 | 如何用EXCEL函数,做一个税金计算表格
- Win10安装应用或打开应用时提示“用户账户控制 为了对电脑进行保护,已经阻止此应用”
- 基于at89c51单片机的led数字倒计时器设计c语言,基于AT89C51单片机的LED数字倒计时器设计.docx...
- ECC椭圆曲线加密的特点以及在有限域(Fp)的三点共线问题
- 【linux浅谈017】gbd调试常用指令
- 《思维力:高效的系统思维》读书笔记02 - 深入理解系统化思维
热门文章
- java和iOS的DES/EBC/PKCS5Padding
- android自定义View之margin和padding的处理
- 员工修改添加,部门修改添加
- 使用jdbc创建一张员工表 员工表字段:编号,姓名,性别,年龄,职位,邮箱,电话
- 新手怎么加入自媒体?新手入门其实很简单
- Redis-master节点宕机后的处理方式
- SV中virtual作用
- 我的同学聚会--性格决定命运[转载]
- 2022 最新TypeScript入门学习笔记
- 修复手机通讯服务器软件,手机通讯录误删怎么恢复?恢复原来如此简单,后悔太晚知道...