飞行机器人专栏(十)-- 异构多视角视觉系统
感知系统架构
为满足天空端主控制器的诸如RGB-D图像处理等大容量数据吞吐、高速并行计算、实时运动控制以及通信和可视化任务的计算算力需求,同时优化功耗表现,采用了结构紧凑、功耗表现优异的边缘计算硬件NVIDA IJetson AGXOrin 。该开发者套件包含高性能、高能效的 Jetson AGX Orin 模组,算力高达 275 TOPS是上一代多个并发 AI 推理管道性能的 8 倍,运行于 NVIDIA AI 软件堆栈,广泛应用于图像处理、嵌入式控制、并行计算等场景,可以为机器人、制造、控制和电力等行业打造先进的机器人和边缘 AI 应用。系统架构如图所示。
2. Realsense2 D435i & USB Monocular
librealsense & realsense2_camera ROS package
安装SDK库:
librealsense: V2.50.0 + https://github.com/IntelRealSense/librealsense/releases/tag/v2.50.0
在/home下进入librealsense,并安装依赖项
cd librealsense
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
安装依赖:
安装依赖项和编译
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install
测试安装结果
这时候可以连接摄像头了,输入以下命令查看结果
realsense-viewer
如果成功,可以看到点云图像
编译ROS PKG:
在工作空间src下克隆项目:
cd ~/catkin_ws/src
git clone https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
cd ~/catkin_ws && catkin_make
ROS中测试
roslaunch realsense2_camera rs_camera.launch
ERROR:undefined symbol: _ZN2cv3MatC1Ev【librealsense2_camera.so: undefined symbol: _ZN2cv3MatC1Ev】
https://github.com/IntelRealSense/realsense-ros/issues/2467
解决方法:
Now im testing this solution but it looks promising. (even work with -DFORCE_RSUSB_BACKEND:=false):find_package( OpenCV REQUIRED )
include_directories(
include
${realsense2_INCLUDE_DIR}
${catkin_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
)
target_link_libraries(${PROJECT_NAME}
${realsense2_LIBRARY}
${catkin_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
${OpenCV_LIBRARIES}
)
修改后重新编译,加参数 -DFORCE_RSUSB_BACKEND:=false
catkin_make install -DFORCE_RSUSB_BACKEND:=false
usb_cam ROS package
ROS.org usb_cam介绍http://wiki.ros.org/usb_cam
安装usb 相机驱动程序ROS功能包:
sudo apt-get install ros-melodic-usb-cam
或sudo apt-get install ros-noetic-usb-cam
参数表:
launch文件
<launch>
<!--Launch Usb Camera via usb_cam package --><node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/Monocular" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node><node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen"><remap from="image" to="/usb_cam/image_raw"/><param name="autosize" value="true" /></node>
</launch>
RVIZ
数据及图像可视化节点,实时显示目标检测结果和视觉传感器图像
<launch>
<!-- Launch Multi-sensor drivers and filters, with Lidar range sensor and Usb Camera --><!-- Loading param files --><rosparam file="$(find multisensor_fusion)/cfg/sensor_cfg.yaml" command="load" /><!--<rosparam file="$(find multisensor_fusion)/cfg/ros_pkg_info.yaml" command="load" />--><!--Launch USB 2.0 Camera launch file --><include file="$(find contact_force)/launch/contact_force_launch.launch"></include><include file="$(find multisensor_fusion)/launch/usb_camera_launch.launch"></include><!-- Launch network state monitor and publisher node --><nodename="pub_range_sensor"pkg="multisensor_fusion"type="pub_range_sensor_pub.py" /><nodename="pub_actuator_power"pkg="multisensor_fusion"type="pub_actuator_effort.py" /><nodename="sensor_status"pkg="multisensor_fusion"type="sensor_status" /><!-- Launch rivz display --><!--<node name="rviz" pkg="rviz" type="rviz" args="-d $(find dual_arm_robot_description)/rviz/dual_arm.rviz" output="screen" />--></launch>
3.GUI &集成控制终端
通信架构
系统功能
相关文章:
飞行机器人专栏(十)-- 异构多视角视觉系统
感知系统架构为满足天空端主控制器的诸如RGB-D图像处理等大容量数据吞吐、高速并行计算、实时运动控制以及通信和可视化任务的计算算力需求,同时优化功耗表现,采用了结构紧凑、功耗表现优异的边缘计算硬件NVIDA IJetson AGXOrin 。该开发者套件包含高性能…...
2023年湖北住建厅八大员各岗位题库精准小题库-启程别
2023年湖北住建厅八大员各岗位题库精准小题库-启程别 住建厅八大员(施工员、质量员、资料员、材料员、机械员、标准员、劳务员) 各岗位题库分2种: 1.住建厅八大员报名之后会有培训任务,完成培训任务学习才能安排考试,…...
志愿者招募令|来!一起Build OceanBase第一次开发者大会
2023 年 3 月 25 日,我们将开启第一次 OceanBase 开发者大会,走近开发者,共同探讨单机分布式、云原生、HTAP 等数据库前沿趋势,分享全新的产品 Roadmap,交流场景探索和最佳实践。 为了让活动现场更有活力,…...
java 元数据 和 元注解
基本介绍三种基本注解OverrideDeprecatedSuppressWarnings四种元注解RetentionTargetDocumentedInherited一、基本介绍1.概述java注解(Annotation)[ˌ nəˈ teɪʃn],又称java标注,也被称为元数据(关于数据的数据&…...
RFID射频卡写入手机NFC心路小记
声明: 本文仅是作者学习探索的心里路程日记,如果您看完以后,从中获得了一些知识,作者不胜荣幸。科技是一把双刃剑,利用好了,可以方便生活,利用不当也肯能扰乱公共管理秩序,造成不必要…...
【C++】STL 模拟实现之 list
文章目录一、list 的常用接口及其使用1、list 一般接口2、list 特殊接口3、list 排序的性能分析二、list 迭代器的实现1、迭代器的分类2、list 迭代器失效问题3、list 迭代器源码分析4、list 迭代器模拟实现4.1 普通迭代器4.2 const 迭代器4.3 完整版迭代器三、list 的模拟实现…...
20230228----重返学习-数组-引用数据类型的转换-基础调试用方法-对象检测-各数据转布尔值及相等运算符-条件语句-循环语句
day-017-seventeen-20230228-数组-引用数据类型的转换-基础调试用方法-对象检测-各数据转布尔值及相等运算符-条件语句-循环语句 数组 字面量表示法 [数组成员0,数组成员1,数组成员2]用中括号语法来取值 var ary [5,6,7] console.log("ary[0]--->", ary[0])数组…...
apscheduler 定时任务框架
Apscheduler 介绍 四大组件 triggers:触发器,用于设定触发任务的条件job stores:作业存储器,用于存放任务,可以存放在数据库或内存,默认内存executors:执行器,用于执行任务&#x…...
Softing OPC Tunnel——绕过DCOM配置实现OPC Classic广域网通信
一 摘要 Softing OPC Tunnel是dataFEED OPC Suite的一个组件,可避免跨设备OPC Classic通信中出现的DCOM配置问题,同时可保证跨网络数据交换的高性能和可靠性。OPC Tunnel内部集成的存储转发功能,可在连接中断时缓存数据,并在重新…...
Java的运算操作
个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【JavaSE_primary】 文章目录算术运算符增量运算符注意自增自减运算符关系运算符逻辑运算符逻辑与&&逻辑或||逻辑非!…...
基于OBD系统的量产车评估测试(PVE)
在轻型汽车污染物排放限值及测量方法(中国第六阶段)中,除了对汽车尾气排放等制定了更为严格的限制之外,也在OBD系统认证项目中增加了新的要求——量产车评估(Production Vehicle Evaluation)测试。该测试由…...
【蓝桥杯集训10】Tire树 字典树 最大异或对专题(3 / 3)
目录 字典树模板 1、插入操作 2、查询操作 143. 最大异或对 - trie 二进制 3485. 最大异或和 - 前缀和Trie滑动窗口 字典树模板 活动 - AcWing 字典树:高效存储和查找字符串集合的数据结构 son[节点1地址][值]节点2地址 —— 节点1的子节点为节点2cnt[节点地…...
docker部署zabbix6.2.7+grafana
目录 1、下载docker 2、下载相关镜像文件 3、创建一个供zabbix系统使用的网络环境 4、创建一个供mysql数据库存放文件的目录 5、启动mysql容器 6、为zabbix-server创建一个持久卷 7、启动zabbix-server容器 8、创建语言存放目录 9、启动zabbix-web容器 10、启动zabbix…...
【Java开发】JUC基础 04:Synchronized、死锁、Lock锁
1 概念介绍并发:同一个对象被多个线程同时操作📌 线程同步现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决办法就是,排队…...
离散数学---期末复习知识点
一、 数理逻辑 [复习知识点] 1、命题与联结词(否定¬、析取∨、合取∧、蕴涵→、等价↔),命题(非真既假的陈述句),复合命题(由简单命题通过联结词联结而成的命题) 2、命题公式与赋值(成真、成假)&#x…...
在线安装ESP32和ESP8266 Arduino开发环境
esp32和esp8266都是乐鑫科技开发的单片机产品,esp8266价格便宜开发板只需要十多块钱就可以买到,而esp32是esp8266的升级版本,比esp8266的功能和性能更强大,开发板价格大约二十多元就可以买到。 使用Arduino开发esp32和esp8266需要…...
【Python实战】激情澎湃,2023极品劲爆舞曲震撼全场,爬虫一键采集DJ大串烧,一曲醉人女声DJ舞曲,人人都听醉~(排行榜采集,妙啊~)
导语 哈喽!大家好。我是木木子吖~今天给大家带来爬虫的内容哈。 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 今天教大家Python爬虫实战一键采集大家喜欢的DJ舞曲哦! …...
[SSD综述 1.5] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?
版权声明:付费作品,未经许可,不可转载前言SSD (Solid State Drive),即固态硬盘,通常是一种以半导体闪存(NAND Flash)作为介质的存储设备。SSD 以半导体作为介质存储数据&…...
SAP Insurance Analyzer
SAP Insurance Analyzer 是一款用于保险公司财务和风险管理的软件。SAP Insurance analyzer 支持基于 IFRS 17 或 Solvency II 的保险合同估值和计算要求。SAP Insurance Analyzer 于 2013 年 5 月推出,为源数据和结果数据集成了一个预配置的保险数据模型。 源数据…...
自动化测试 ——自动卸载软件
在平常的测试工作中,经常要安装软件,卸载软件, 即繁琐又累。 安装和卸载完全可以做成自动化。 安装软件我们可以通过自动化框架,自动点击Next,来自动安装。 卸载软件我们可以通过msiexec命令行工具自动化卸载软件 用msiexec 命令来卸载软件 …...
05 封装
在对 context 的封装中,我们只是将 request、response 结构直接放入 context 结构体中,对应的方法并没有很好的封装。 函数封装并不是一件很简单、很随意的事情。相反,如何封装出易用、可读性高的函数是非常需要精心考量的,框架中…...
clean
clean code 记得以前写过这题,写的乱七八糟,分析来分析去。 后悔应该早点写代码,leetcode大一就该刷了。 https://leetcode.cn/problems/plus-one/submissions/ class Solution { public:vector<int> plusOne(vector<int>&…...
佛科院计算机软件技术基础——线性表
一、基础知识了解:结构体的理解:我们知道整型是由1位符号位和15位数值位组成,而就可以把结构体理解为我们定义的数据类型,如:typedef struct {int data[2]; //存储顺序表中的元素int len; …...
linux下终端操作mysql数据库
目录 一.检查mysql是否安装 1. 查看文件安装路径 2. 查询运行文件所在路径(文件夹地址) 二.登录mysql 三.列出mysql全部用户 四.常用指令 1.查看全部数据库 2.选择数据库 …...
MySQL参数优化之thread_cache_size
1.thread_cache_size简介 每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。 show statu…...
gRPC服务健康检查(二):gRPC健康检查协议详解
gRPC健康检查协议健康检查用于检测服务端能否正常处理rpc请求,客户端对服务端的健康检查可以点对点进行,也可以通过某些控制系统(如负载平衡)进行。客户端可以根据服务端返回的状态执行对应的策略。因为GRPC服务可以用于简单的客户…...
Android系统10 RK3399 init进程启动(四十七) Android init 进程整体代码逻辑简述
配套系列教学视频链接:安卓系列教程之ROM系统开发-百问100ask说明系统:Android10.0设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)前言本文简单描述一下android init祖先进程启动的基本执行流程,让大家有一个整…...
CSDN 编程竞赛三十二期题解
竞赛总览 CSDN 编程竞赛三十二期:比赛详情 (csdn.net) 竞赛题解 题目1、传奇霸业 传奇霸业,是兄弟就来干。小春(HP为a)遇到了一只黄金哥布林(HP为x)。小春每次能对哥布林造成b点伤害,哥布林…...
Kubernetes 中的 Pod Hook
Pod Hook 我们知道Pod是Kubernetes集群中的最小单元,而 Pod 是有容器组组成的,所以在讨论 Pod 的生命周期的时候我们可以先来讨论下容器的生命周期。 实际上 Kubernetes 为我们的容器提供了生命周期钩子的,就是我们说的Pod Hook,…...
Linux操作系统安装MySQL(rpm安装)
Linux操作系统安装MySQL(rpm安装)1 背景2 环境说明3 准备工作3.1 端口查看3.2 检查安装3.3 创建MySQL用户和组4 MySQL安装4.1 下载MySQL4.2 解压安装包4.3 安装MySQL4.4 初始化MySQL4.5 启动MySQL4.6 设置MySQL初始密码4.6.1 查看数据库初始密码4.6.2 更…...
太原哪里做网站好/百度网址
近年来,随着国内、国际局势日趋复杂,客户对防护型车辆的需求逐渐增多,而防护型车辆车身内外表面多为特种钢板。早期特种车体结构普遍为特种钢板焊接拼接结构,但是焊缝部位为防护薄弱环节,因此使用折弯一体化减少焊缝的…...
python node 网站开发/今日头条重大消息
生产环境运行OBProxy - 守护进程 OBProxy无状态,即使宕机重启也不会影响数据一致性,所以OBProxy在部署时都带有一个守护进程,周期性检查OBProxy的健康程度,一旦发现宕机就立即重启OBProxy OBProxy手动启动和检查过程如下&#x…...
未央免费做网站/企业网站有哪些功能
点击上方“蓝色字”可关注我们!暴走时评:在加密货币领域,人们越来越怀疑官方监管是否能够跟上不断发展的市场趋势。因此,日本采取了大胆的新举措:日本金融服务厅(FSA)正式授予日本虚拟货币交易协…...
学雷锋做美德少年网站/杭州网站优化公司
重定位表对于EXE文件是没有必要的,因为EXE程序是第一个被载入内存的模块。而DLL却是必须需要重定位信息的,因为DLL不一定加载到它默认的ImageBase上。重定位表作为一个单独的区块放到区块表中,其名字一般为.reloc。 PE文件通过将所有可能的修…...
网站对一个关键词做排名怎么做/武汉抖音seo搜索
【实验目的】 1、掌握Android程序的整体的设计; 2、融合Android的知识点; 3、理解Android工程的架构; 【实验内容】 任务1:MP3播放器 MainActivity.java package com.example.test08_mp3;import androidx.annotation.NonNull; i…...
怎么样做网站页面/白度
系统环境变量加载顺序 /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc 1、/etc/profile和 /etc/paths是系统级别的,系统启动就会加载,所有用户共享。 2、如果~/.bash_profile文件存在,则后面的几个文件就…...