【EdgeBox-8120AI-TX2】Ubuntu18.04 + ROS_ Melodic + HP60C上手体验

简介:介绍安思疆 HP60C 深度相机在8120AI-TX2控制器上,TX2核心模块环境(Ubuntu18.04)下测试ROS驱动,打开摄像头图像和查看深度图和点云图,本文的前提条件是你的TX2里已经安装了ROS版本:Melodic。

        大家好,我是虎哥,真是好久没有更新了,一直在忙一些奇奇怪怪的事,难得今天要开始一个长期测试周期,所以顺道体验一下安思疆 HP60C 深度相机,大部分都是使用手册及Readme文件照搬,主旨在于记录过程,分享给大家。

一、 HP60C

        Nuwa-HP60C 原深相机是利用结构光 3D 成像技术获取深度图像, 满足机器人导航、避障,深度信息建模,手 势控制,人体扫描,动作捕捉等不同人机交互功能。内置高清 RGB 摄像头满足纹理贴图、物体识别、视频监控等 应用需求。 ​ Nuwa-HP60C 原深相机尺寸小巧、紧凑, USB2.0 标准输出接口, 易于集成,为系统集成商提供了灵活性,可 适配室内强光弱光逆光顺光等复杂环境。

        原深相机主要包括一个红外摄像头(IR camera)、点阵投射器(Dot projector)以及深度计算处理器(depth processor)。点阵投射器用于向目标场景(Scene)投射结构光图案(散斑图案),红外摄像头采集目标的红外结构光图像,深度计算处理器接收红外结构光图像后执行深度计算算法并输出目标场景的深度图像。深度计算处理器在执行深度计算时,将预先标定的红外‘ 参考图案’ 与当前采集的红外‘ 实时图案’ 进行比较计算,根据二者之间的相对位移量,可以获取图像之间各像素的偏离值( d) ,再基于结构光三角法原理,由偏离值 d 计算出距离,即‘ 深度’ 。

1.1 关键参数:

1.2 结构示意

二、WIN 下测试

需要资料和对应软件,需要联系厂家直接要就可以。首先在WIN端测试,需要安装驱动程序。 HP60C 是一种即插即用的USB装置,包含一个专用的驱动程序。

2.1 安装厂家查看器(下面简称查看器)

厂家提供的事一个面安装的工具软件,只需要解压打开即可。

相机接入电脑,然后打开软件就会自动连接相机,显示画面,很傻瓜式的操作,对于WIN端快速测试,很有效果。

这是切换到3D的效果。

        注意:刚切换到3D,由于显示角度等问题,可能看不到东西,使用鼠标左键旋转调整视角,同时使用滚轮调整显示比例,让显示可以更直观一点。

        在WIN端我们只是做简单查看测试,能联通,看到深度信息,可以帮我们简单判断相机好坏即可。主要还是要在ROS中驱动起来,做后续长期测试。

三 、jeston TX2安装SDK

可以在官方上获取一定的资料:深圳市安思疆科技有限公司

也可以直接咨询厂家,获取SDK

将SDK传入Jeston 系统中:

#解压
unzip AngstrongCameraSdk.zip
#第2步
cd /home/nvidia/Downloads/AngstrongCameraSdk

将相机接入控制器USB接口。

确认有这个设备,说明接入正常。

3.1 创建设备映射规则

针对相机第一次接入控制器环境,由于是USB设备,所以需要创建一次规则,放开权限和做一下映射关系。官方也提供了脚本,再SDK目录下:

cd ~/Downloads/AngstrongCameraSdk/ascamera/scripts
#增加执行全选
chmod +x create_udev_rules.sh
#执行一次
sudo ./create_udev_rules.sh

其实执行这个脚本会再/etc/udev/rules.d/多一个文件

文件内容可以自行研究,无非就是根据设备号,做了些权限处理。

四、ROS 下测试流程

4.1 建立工作空间

mkdir -p ~/Angstrong_ws/src
cd ~/Angstrong_ws/
catkin_make
source devel/setup.bash

4.2 拷贝代码

cd ~/Angstrong_ws/
cp -R ~/Downloads/AngstrongCameraSdk/ascamera src

4.3 编译源码包

cd ~/Angstrong_ws/
catkin_make

编译完成。

4.4 启动测试

cd ~/Angstrong_ws/
source devel/setup.bash
roslaunch ascamera hp60c.launch

第一次启动出现这种错误

没关系,我们将SDK中的run脚本拷贝到工程下,使用官方的脚本启动就没有问题了

cd ~/Downloads/AngstrongCameraSdk
cp run_ascamera_node.sh ~/Angstrong_ws/
cd ~/Angstrong_ws/
chmod +x run_ascamera_node.sh
./run_ascamera_node.sh
​如此就可以正常启动了

4.5 查看点云

#在桌面环境新开一个终端 执行rviz
rviz
自动会打开RVIZ .

rviz配置过程

默认打开什么都不会有

显示点云,由于我们没有做过坐标系变换之类的,只启动了深度相机的节点。

所以我们需要增加点云,并且先写全局的FramID

ascamera_color_0

然后增加点云

可以显示点云了。

我们尝试增加其它内容。

纠错,疑问,交流: 911946883@qq.com**

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/59723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动驾驶中,2d图像目标检测(分割),融合激光雷达点云信息

思路索引 1、通过yolov8预测出image中的2d目标框和mask;2、过滤出位于图像范围内的激光雷达点;3、基于单个深度相机估算出2D框在ego坐标系下的的W和H;4、融合2D图像框和3D激光点(使用mask还是使用box )5、融合之后的激光点进行聚类…

DataWind将字符串数组拆出多行的方法

摘要: 可视化建模中先将字符串split为array再用explode(array)即可 可视化建模 进入“可视化建模”页面 1.1 新建任务 如果团队内没有可视化建模任务。请点击“新建任务”,输入名称并确定。 1.2 建立数据连接 在左边栏中选择“数据连接”&#xff0c…

【大数据学习 | kafka】简述kafka的消费者consumer

1. 消费者的结构 能够在kafka中拉取数据进行消费的组件或者程序都叫做消费者。 这里面要涉及到一个动作叫做拉取。 首先我们要知道kafka这个消息队列主要的功能就是起到缓冲的作用,比如flume采集数据然后交给spark或者flink进行计算分析,但是flume采用的…

CCF ChinaOSC |「开源科学计算与系统建模openSCS专题分论坛」11月9日与您相约深圳

2024年11月9日至10日,以“湾区聚力 开源启智”为主题的2024年中国计算机学会中国开源大会(CCF ChinaOSC)将在深圳召开。大会将汇聚国内外学术界、顶尖科技企业、科研机构及开源社区的精英力量,共同探索人工智能技术和人类智慧的无…

人工智能——小白学习指南

知孤云出岫 目录 1. **智能评测系统**2. **个性化学习路径推荐**3. **虚拟学习助手**4. **学习行为分析**5. **数据驱动的教学决策**6. **自动化课程推荐**7. **数据隐私与安全保护** 人工智能知识点的总结和学习路线,以数据表格形式呈现,并附带在教育行…

【LeetCode】【算法】215. 数组中的第K个最大元素

LeetCode 215. 数组中的第K个最大元素 题目描述 给定整数数组 nums 和整数 k,请返回数组中第k个最大的元素。 请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。 你必须设计并实现时间复杂度为O(n)的算法解决此问题…

现代Web开发:React Hooks深入解析

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 现代Web开发:React Hooks深入解析 现代Web开发:React Hooks深入解析 现代Web开发:React Hook…

RTC精度及校准

RTC精度偏差: RTC的基准时间和精度与石英晶体的频率相关,晶体的谐振频率取决于温度,因此RTC性能与温度相关,晶体的频率偏差是晶体正常频率的温度反转函数。 一、硬件方面: 1.使用高精度振荡器的RTC模块; …

MongoDB 基础与应用

一、引言 在当今的数据驱动时代,数据库的选择对于应用程序的性能和可扩展性至关重要。MongoDB 作为一种流行的非关系型数据库,以其灵活的数据模型、强大的可扩展性和高可用性,受到了广泛的关注和应用。对于 Javaer来说,了解 Mongo…

了解bootstrap改造asp.net core MVC的样式模板

我们都知道,在使用默认的asp.net core MVC模板建立项目的时候,里面的样式是已经事先被写好了的。一般来说都在css目录下的site.css和bootstrap.css及下面的bootstrap.min.css中。我们打开bootstrap这些样式文件,里面有大量的样式类的定义&…

流类库与输入输出

来源:《C语言程序设计》 像C语言一样,C语言也没有输入输出语句。 但C标准库中有一个面向对象的输入输出软件包,即I/O流类库。 流是I/O流类的中心概念。 ------ I/O流类库是C语言中I/O函数在面向对象的程序设计方法中的一个替换产品。 -…

cocos creator 3.8.3物理组件分组的坑

坑,坑的不行的大坑 group用的二进制的左移获取十进制的数值 目前是这样判断的,也不知道对不对,什么get、set Group没找到

hhdb数据库介绍(9-4)

访问安全 权限体系 计算节点有两类用户,一类是计算节点数据库用户,用于操作数据,执行SELECT,UPDATE,DELETE,INSERT等SQL语句。另一类是关系集群数据库可视化管理平台用户,用于管理配置信息。此…

基于MFC实现的赛车游戏

一、问题描述 游戏背景为一环形车道图,选择菜单选项“开始游戏”则可开始游戏。游戏的任务是使用键盘上的方向键操纵赛道上的蓝色赛车追赶红色赛车,红色赛车沿车道顺时针行驶,出发点和终点均位于车道左上方。任一赛车先达到终点则比赛结束。…

RHCE的学习(12)

第九章 Ubuntu 什么是Ubuntu 概述 Ubuntu(乌班图)属于Debian系列,Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。 Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch&…

【案例】故障雪花屏

开发平台:Unity 6.0 开发工具:Shader Graph 参考视频:【U2D Shader Graph】❄️雪❄️花❄️屏❄️   一、效果图 二、Shader Graph 路线图 三、案例分析 核心思路:雪花屏幕效果 (混合) 原图像 最终图像…

图像手动标注-labelme+yolo格式导出

conda环境 运行以下命令来激活你的虚拟环境: conda activate labelme如果你没有创建 labelme 环境,首先需要创建一个环境并安装 labelme: conda create -n labelme python3.8 conda activate labelme conda install -c conda-forge labelm…

有什么办法换网络ip动态

在数字化时代,网络已成为我们生活、工作不可或缺的一部分。然而,随着网络应用的日益广泛,IP地址作为设备在网络中的唯一标识,其重要性不言而喻。动态换IP,作为一种灵活且高效的网络技术,正逐渐受到越来越多…

unity实习生面试

北京教育中厂的成都分部 11.5 时长有28分钟 一面二面合并了 面试官人挺好的,也不是特别急,答的不是很好的问题面试官直接跳过了 顺序不是很统一 只写记得的部分 1.问了值类型和引用类型的区别 2. 问了ugui的组件有哪些 ugui有哪些优化方案 答用打图集…

Spring Boot中集成MyBatis操作数据库详细教程

目录 前言1. 项目依赖配置1.1 引入MyBatis和数据库驱动依赖1.2 数据源配置 2. 创建数据库映射实体类3. 创建Mapper层接口4. 创建Service层4.1 定义Service接口4.2 实现Service接口 5. 创建Controller层6. 运行和测试项目6.1 启动项目6.2 测试接口 7. 总结 前言 在Java开发中&a…