Linux学习笔记(七)Astra相机使用方法

2023-10-09 04:59

本文主要是介绍Linux学习笔记(七)Astra相机使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

官网链接:http://www.orbbec.com.cn/

开发者社区:https://developer.orbbec.com.cn/

Astra相机:https://github.com/orbbec/ros_astra_camera

普通相机:https://github.com/bosch-ros-pkg/usb_cam.git

Astra SDK:https://developer.orbbec.com.cn/download.html?id=53

Astra SDK Windows基本使用:https://developer.orbbec.com.cn/course_details.html?id=53

Astra SDK的环境搭建:https://developer.orbbec.com.cn/course_details.html?id=16

  • Create astra udev rule

新环境下需执行【astra_camera】功能包下【scripts】文件夹里的【create_udev_rules】文件,进入到文件所在的目录,执行命令

./create_udev_rules

launch启动命令

Launch文件启动相机型号
astra.launchAstra,Astra S,Astra mini,Astra mini S
astraplus.launchAstra plus
astrapro.launchAstra pro
embedded_s.launchDeeyea
dabai_u3.launchDabai
gemini.launchGemini

相机硬件结构图:

在这里插入图片描述

1、SDK使用-Linux

运行环境:虚拟机或双系统

开发者社区:https://developer.orbbec.com.cn/download.html?id=53

1.1、依赖环境

sudo apt-get install ros-melodic-serial ros-melodic-bfl ros-melodic-mbf-msgs ros-melodic-pointcloud-to-laserscan ros-melodic-rgbd-launch ros-melodic-libuvc-* ros-melodic-uvc-camera ros-melodic-usb-cam ros-melodic-ar-track-alvar ros-melodic-camera-calibration build-essential freeglut3 freeglut3-dev libsfml-dev

去开发者社区下载SDK文件,即(Astra SDK和OpenNI2 SDK,版本、系统架构要匹配)。

在这里插入图片描述

注意:网络上搜索的都是最新版本。我们配套资料里面的版本有【v2.1.2】、【v2.1.3】等,下面以【v2.1.2】为例,其他版本类似。

1.2、相机SDK&Samples

文件夹名和文件路径可能不相同,根据自己需求更改。

tar -zxvf AstraSDK-v2.1.2-Ubuntu18.04-x86_64.tar.gz
cd AstraSDK-v2.1.2-Ubuntu18.04-x86_64/install  # 进入install文件夹
sudo sh ./install.sh

输出结果包含以下两行,注意把倒数第二个路径里的install删掉:

export ASTRA_SDK_INCLUDE=/home/yahboom/software/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/install/include 
export ASTRA_SDK_LIB=/home/yahboom/software/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/install/lib

删掉install之后:

export ASTRA_SDK_INCLUDE=/home/yahboom/software/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/include
export ASTRA_SDK_LIB=/home/yahboom/software/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/lib

将输出结果复制到~/.bashrc尾部

gedit ~/.bashrc
source ~/.bashrc

amples目录中即是示例程序,需要依赖include和lib目录

  • SFML效果演示

bin文件夹如下:

在这里插入图片描述

注意:bin文件夹下均可采取sudo ./或./的方式启动,启动后缀带有-SFML的文件,有画面显示;方式都类似,其他效果可以进行测试。在虚拟机会有启动不成功得现象,请多试几次,在双系统下比较容易启动。

cd ~/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/bin/
./SimpleBodyViewer-SFML   # 骨骼检测
./SimpleHandViewer-SFML   # 手指跟随
9104

1.3、OpenNI相机测试工具

安装OpenNI

unzip OpenNI_2.3.0.55.zip
cd OpenNI_2.3.0.55/Linux/OpenNI-Linux-x64-2.3.0.55
chmod +x install.sh
sudo ./install.sh

重新拔插设备
初始化OpenNI环境

source OpenNIDevEnvironment

编译运行

cd Samples/SimpleViewer
make
cd Bin/x64-Release
./SimpleViewer

在这里插入图片描述

2、AstraSDK-win

https://developer.orbbec.com.cn/download.html?id=31

2.1、安装驱动

在这里插入图片描述

下载完毕后,双击安装即可。成功的标志如下

在这里插入图片描述

2.2、下载SDK

在这里插入图片描述

下载完毕后,解压该文件夹,

在这里插入图片描述

进入bin文件夹,双击后缀带有exe的任意文件测试即可。

在这里插入图片描述

3、OrbbecViewer-win

https://developer.orbbec.com.cn/download.html?id=31

在这里插入图片描述

解压,进入OrbbecViewer_v1.1.1文件夹,双击[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pz6qrL4y-1646989346400)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20211030174024144.png)]即可。

在这里插入图片描述

4、网页监控

环境搭建

sudo apt-get install ros-melodic-async-web-server-cpp ros-melodic-web-video-server ros-melodic-usb-cam

启动相机

roslaunch astra_camera astrapro.launch    # Astra
roslaunch usb_cam usb_cam-test.launch     # USB

启动web_video_server

rosrun web_video_server web_video_server

查看

本地web浏览器查看
http://localhost:8080/
必须在同一个局域网下,其他设备查看
http://192.168.2.103:8080/
(192.168.2.103为该主控的IP地址)
注意:建议使用谷歌浏览器或手机QQ浏览器,其他浏览器可能无法打开图像

这篇关于Linux学习笔记(七)Astra相机使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_42672823/article/details/123429384
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/170523

相关文章

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

C#之List集合去重复对象的实现方法

《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C# List集合去重复对象方法1、测试数据2、测试数据3、知识点补充总结C# List集合去重复对象方法1、测试数据

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

SpringBoot读取ZooKeeper(ZK)属性的方法实现

《SpringBoot读取ZooKeeper(ZK)属性的方法实现》本文主要介绍了SpringBoot读取ZooKeeper(ZK)属性的方法实现,强调使用@ConfigurationProperti... 目录1. 在配置文件中定义 ZK 属性application.propertiesapplicati