Jetson Nano ros melodic+realsense+aruco

2023-05-16

一、realsense SDK和realsense-ros安装

参考链接:Ubuntu18.04 + ROS melodic 安装使用 RealSenseD435i_Lynn_mg的博客-CSDN博客_ubuntu18安装realsensehttps://blog.csdn.net/Lynn_mg/article/details/103149489

(一)安装realsense SDK

1.下载source

git clone https://github.com/IntelRealSense/librealsense

cd librealsense

2.安装依赖项

sudo apt-get install libudev-dev pkg-config libgtk-3-dev

sudo apt-get install libusb-1.0-0-dev pkg-config

sudo apt-get install libglfw3-dev

sudo apt-get install libssl-dev

3.安装权限脚本

sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/

sudo udevadm control --reload-rules && udevadm trigger

4.编译安装

mkdir build

cd build

cmake ../ -DBUILD_EXAMPLES=true

make

sudo make install

5.测试

进入librealsense/build/examples/capture,测试效果:

./rs-capture

或直接使用realsense-viewer工具查看效果:

realsense-viewer

(二)安装realsense-ros 

1.下载编译

mkdir –p realsense_ws/src

cd realsense_ws/src

git clone https://github.com/IntelRealSense/realsense-ros.git

git clone https://github.com/pal-robotics/ddynamic_reconfigure.git

cd ..

catkin_make

如果出现错误:

CMake Error at /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake或者出现其他bridge的编译错误,解决方法都类似,只需修改错误提示中的cmake文件即可。

原因: ros默认的opencv路径是/usr/include,/usr/lib,/usr/share三个目录,而nano的官方镜像自带的opencv是opencv4。

解决方法:

修改上述cv_bridgeConfig.cmake文件中的第96行,把 /usr/include/opencv 改为/usr/include/opencv4。如果是我们自己从opencv官网源码编译安装的opencv是装在usr/local/include目录下,修改96行的/usr/include/opencv为/usr/local/include/opencv4。然后重新 catkin_make并source一下

source devel/setup.sh

2.测试

realsense相机出厂时标定过参数,可以通过以下方法查看:

打开相机

roslaunch realsense2_camera rs_camera.launch

查看realsense所发布的话题

rostopic list

rostopic echo /camera/color/camera_info (查看相机内参)

 二、aruco-ros安装

参考链接:
使用USB网络摄像头和ROS跟踪ArUco Markers_W_Tortoise的博客-CSDN博客https://blog.csdn.net/learning_tortosie/article/details/83147232

 1.下载编译

mkdir -p ~/aruco_catkin_ws/src

cd ~/aruco_catkin_ws/src

git clone https://github.com/pal-robotics/aruco_ros.git

cd ..

catkin_make install

source install/setup.bash

 如果出现错误:xxx version要求,意思就是找不到camke文件中所指向的依赖包或者版本不符,可通过修改错误提示中相应cmake中所指指向的依赖包版本为当前系统中所安装的版本或者安装其相应版本解决。

 2.安装USB摄像头的ROS驱动

sudo apt-get install ros-melodic-usb-cam

 3.修改single.launch文件内容

在aruco_ros这个包中有三个launch文件,分别是single、double、publish,原本是通过USB摄像头工作的,对于realsense相机需要修改参数。

gedit src/aruco_ros/aruco_ros/launch/single.launch

 修改前

<launch>
 
    <arg name="markerId"        default="582"/>
    <arg name="markerSize"      default="0.034"/>    <!-- in m -->
    <arg name="eye"             default="left"/>
    <arg name="marker_frame"    default="aruco_marker_frame"/>
    <arg name="ref_frame"       default=""/>  <!-- leave empty and the pose will be published wrt param parent_name -->
    <arg name="corner_refinement" default="LINES" /> <!-- NONE, HARRIS, LINES, SUBPIX -->
 
 
    <node pkg="aruco_ros" type="single" name="aruco_single">
<!--        <remap from="/camera_info" to="/stereo/$(arg eye)/camera_info" />-->
<!--        <remap from="/image" to="/stereo/$(arg eye)/image_rect_color" />-->
        <remap from="/camera_info" to="/camera/color/camera_info" />
        <remap from="/image" to="/camera/color/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)"/>   <!-- frame in which the marker pose will be refered -->
<!--        <param name="camera_frame"       value="stereo_gazebo_$(arg eye)_camera_optical_frame"/>-->
        <param name="camera_frame"       value="/camera_link"/>
        <param name="marker_frame"       value="$(arg marker_frame)" />
        <param name="corner_refinement"  value="$(arg corner_refinement)" />
    </node>
 
</launch>
 

修改后 

<remap from="/camera_info" to="/camera/color/camera_info" />       

<remap from="/image" to="/camera/color/image_raw" />



<param name="camera_frame"       value="/camera_link"/>

编辑完成后,返回到aruco_catkin_ws重新source一下

  三、运行

1.生成aruco码

 从下方网址生成实验所需的aruco码,注意设置为original aruco,参数设置要和上面修改的launch一样,如下图。

Online ArUco markers generator (chev.me)https://chev.me/arucogen/

2.运行

 roslaunch realsense2_camera rs_camera.launch

 roslaunch aruco_ros single.launch

# 观察识别效果

rosrun image_view image_view image:=/aruco_single/result

# 查看位姿

rostopic echo /aruco_single/pose

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

Jetson Nano ros melodic+realsense+aruco 的相关文章

  • gazebo通过sdf搭建仿真环境和机器人Husky

    具体格式要求可参考 http sdformat org spec ver 1 6 elem sdf
  • ROS中使用VLP16激光雷达获取点云数据

    ROS中使用VLP16激光雷达获取点云数据 个人博客地址 本文测试环境为 Ubuntu20 04 ROS Noetic 需要将激光雷达与PC连接 然后在设置 gt 网络 gt 有线中将IPv4改为手动 并且地址为192 168 1 100
  • SLAM-hector_slam 简介与使用

    hector slam功能包使用高斯牛顿方法 不需要里程计数据 只根据激光信息便可构建地图 所以他的总体框架如下 hector slam功能包 hector slam的核心节点是hector mapping 它订阅 scan 话题以获取SL
  • ROS诸多调试工具总结1

    ROS有许多调试工具来为ROS调试你的工具 1 rosnode 参数 用法 作用 list rosnode list 查看当前运行了哪些节点 info rosnode info node name 查看该节点发布 接受哪些话题以及服务 ki
  • 无人驾驶论坛

    1 百度Apollo论坛 http www 51apollo com 2 人工智能中文资讯网 http www ailab cn
  • 关于相机与激光雷达数据采集与标定

    最近在做一个关于车路协同的项目 需要做一个路侧系统 传感器有摄像头和激光雷达 相机和激光雷达联合标定费了老半天劲 在此记录一下 雷达时间戳不对 导致摄像头和雷达的数据无法对齐 解决办法 修改雷达驱动发布点云消息时的时间戳 相机内参标定可以使
  • ROS turtlebot_follower :让机器人跟随我们移动

    ROS turtlebot follower 学习 首先在catkin ws src目录下载源码 地址 https github com turtlebot turtlebot apps git 了解代码见注释 其中有些地方我也不是很明白
  • ROS rosdep update 出错方法 不需要翻墙切换之类的解决方法 ‘https://raw.githubusercontent.com/ros/rosdistro/master/inde

    系统 ubuntu18 rosdep update参考的这篇文章 https blog csdn net weixin 43311920 article details 114796748 utm source app app versio
  • Hypervisor介绍及在智能驾驶的应用

    转自Hypervisor 智能座舱和智能驾驶融合的关键技术 腾讯新闻
  • 清华大学开源软件镜像站网址

    清华大学 TUNA 协会原名清华大学学生网管会 注册名清华大学学生网络与开源软件协会 是由清华大学网络技术和开源软件爱好者 技术宅组成的团体 现阶段向校内外提供开源软件镜像等服务 清华大学 TUNA 协会清华大学 TUNA 协会原名清华大学
  • 【ROS】usb_cam相机标定

    1 唠叨两句 当我们要用相机做测量用途时 就需要做相机标定了 不然得到的计算结果会有很大误差 标定的内容包括三部分 内参 外参还有畸变参数 所以标定的过程就是要求得上面这些参数 以前弄这个事估计挺麻烦 需要做实验和计算才能得到 现在通过ro
  • 无法加载 LZ4 支持的 Python 扩展。 LZ4 压缩将不可用

    我是 ROS 新手 我刚刚打开终端并输入roscore和另一个终端并键入rostopic node我收到这个错误 上面写着 无法加载 LZ4 支持的 Python 扩展 LZ4 压缩将不可用 我搜索并去了https pypi org pro
  • ROS AsyncSpinner 的多线程行为

    我试图了解 ROS 中的 AsyncSpinner 是如何工作的 因为我可能有一些误解 你可以找到类似的问题here As seen here它的定义提到 异步旋转器 产生几个线程 可配置 将并行执行回调 同时不会阻塞执行该操作的线程 叫它
  • 将 CUDA 添加到 ROS 包

    我想在 ros 包中使用 cuda 有人给我一个简单的例子吗 我尝试使用 cuda 函数构建一个静态库并将该库添加到我的包中 但总是出现链接错误 未定义的引用 cuda 我已经构建了一个可执行文件而不是库并且它可以工作 请帮忙 我自己找到了
  • Caught exception in launch(see debug for traceback)

    Caught exception in launch see debug for traceback Caught exception when trying to load file of format xml Caught except
  • Caught exception in launch(see debug for traceback)

    Caught exception in launch see debug for traceback Caught exception when trying to load file of format xml Caught except
  • catkin_make后找不到ROS包

    我根据 ROS 的 Wiki 页面创建了一个 ROS 工作区 我还使用创建了一个包catkin create pkg在我刚刚创建的工作区下 然后 按照 ROS Wiki 中的步骤使用以下命令构建包catkin make 构建包后 我插入命令
  • bash:nano:在 Windows git bash 中找不到命令

    我在 Windows 电脑上使用 git 版本 2 7 0 windows 1 我使用了以下命令 nano README 结果我 bash nano command not found 现在如何将 Nano 文本编辑器安装到 git bas
  • NVIDIA Jetson环境VSCode安装记录,前期失败问题在于英伟达使用的是arm64架构

    1 安装失败及原因探索 1 1 报错 Unable to install code The following packages have unmet dependencies 搜索一个链接就开始上手 Ubuntu 22 04安装Visua
  • 如何从里程计/tf数据获取投影矩阵?

    我想将视觉里程计的结果与 KITTI 数据集提供的事实进行比较 对于地面中的每一帧 我都有一个投影矩阵 例如 1 000000e 00 9 043683e 12 2 326809e 11 1 110223e 16 9 043683e 12

随机推荐

  • Win10环境下不同版本WinGW切换

    因需要 xff0c 安装了不同版本的WinGW gcc xff0c 实际使用中遇到一些问题 xff0c 解决过程记录如下 xff1a 在使用BusMaster时需要4 8 1版本 xff0c 原本系统默认9 2 0 xff0c busmas
  • 【无标题】

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • expo优势

    优点一 xff1a 一条命令生成apk或者ipa文件 xff0c 方便发布到应用商店 优点二 xff1a 代码publish xff0c 应用内热更新 优点三 xff1a 比react native多出不少实用原生组件 xff0c 比如一些
  • C++一些常见问题

    关于赋值的疑问 1 编译器为每个类默认重载了赋值操作符 xff1b 2 默认的赋值操作符仅完成了浅拷贝 xff1b 3 当需要进行深拷贝时必须重载赋值操作符 xff1b 4 赋值操作符与拷贝构造函数有相同的存在意义 实例分析 xff1a s
  • 树莓派学习(二):更换镜像源以及安装虚拟环境miniforge3

    树莓派学习 xff08 二 xff09 xff1a 更换镜像源以及安装pytorch 步骤一 xff1a 更换镜像源步骤二 xff1a 下载前的准备2 1 原来numpy库的卸载 步骤三 xff1a 安装miniforge3 步骤一 xff
  • 3.1 python版MapReduce基础实战

    输入文件在你每次点击评测的时候 xff0c 平台会为你创建 xff0c 无需你自己创建 xff0c 只需要启动HDFS xff0c 编写python代码即可 第1关 xff1a 成绩统计 mapper py usr bin python3
  • 怎么获取li里面的内容

    获取li的内容 span class token tag span class token tag span class token punctuation lt span ul span span class token punctuat
  • 偏移量的概念

    span class token selector span span class token punctuation span span class token property padding span span class token
  • js中的二级联动

    省份市级城市联动 span class token doctype lt DOCTYPE html gt span span class token tag span class token tag span class token pun
  • 页面跳转的几种方法

    location对象 href assgin跳转到另一个页面可以返回到原来的页面 location span class token punctuation span href span class token operator 61 sp
  • 学习JS基础部分一

    数据类型 分支结构 循环结构 数据类型 简单数据类默认值Number0BooleanfalseString Undefinedundefinednullnull 复杂数据类型默认值Array Object 分支结构 分支语句说明if 条件
  • 来,带你见识一下CT三维重建

    文 xff1a 北京协和医院放射科孙昊 来源 xff1a 从医开始 xff0c 协和八的奇妙临床笔记 相信各位同学在临床工作中 xff0c 已经接触到很多CT三维重建的图像了 xff0c 那么CT三维重建到底是个啥东东 xff1f 这个问题
  • 数组常用方法

    concat span class token keyword let span arr1 span class token operator 61 span span class token punctuation span span c
  • 深拷贝和浅拷贝

    浅拷贝和深拷贝的区别 浅拷贝是复制原数据的数据内容 xff0c 引用原数据的地址 xff1b 当改变复制之后的数据时 xff0c 原数据的数据内容也会被改变 xff0c 因为这是引用原来数据的地址 xff0c 改变的是原数据地址的数据内容
  • Set集合和Map集合

    Set集合 用于存放不重复的数据 xff0c 通过构造函数的形式 参数必须是一个可迭代对象 创建Set对象 span class token keyword const span s1 span class token operator 6
  • js树型结构处理

    span class token comment 获取树形结构并处理 span span class token comment 当child为null时处理 span span class token comment 如果是childre
  • 姿态旋转与坐标变换

    姿态旋转与坐标变换 旋转还是变换 xff1f 坐标旋转 变换矩阵 xff08 Rotation Matrix xff09 等效旋转矢量 xff08 Axis Angle xff09 罗德里格斯公式 xff08 Rodrigues 39 s
  • Gitlab

    Gitlab Gitlab介绍 我们了解了git是以个人为中心 xff0c 但是人人都得数据交互呀 python程序员每天都忙着进行py交易 交互数据的方式 使用github或者码云等公有代码仓库 xff0c 托管代码的地方 xff0c 谁
  • word论文排版和写作04:用MathType和word公式编辑器插入数学公式

    写在前面 插入公式在论文写作中是一个常见的操作 xff0c 本文作为补充 xff0c 主要介绍如何规范和方便地在word中插入公式 主要的方式有两种 xff0c 一种是使用MathType xff0c 一种是使用word自带的公式编辑器 关
  • Jetson Nano ros melodic+realsense+aruco

    一 realsense SDK和realsense ros安装 参考链接 xff1a Ubuntu18 04 43 ROS melodic 安装使用 RealSenseD435i Lynn mg的博客 CSDN博客 ubuntu18安装re