ubuntu 20.04下ZEDmini安装使用

news2025/4/21 19:29:41

提前安装好显卡驱动和cuda,如果没有安装可以参考我的这两篇文章进行安装:

ubuntu20.04配置YOLOV5(非虚拟机)_ubuntu20.04安装yolov5-CSDN博客

ubuntu20.04安装显卡驱动及问题总结_乌班图里怎么备份显卡驱动-CSDN博客

还需要提前安装ROS,如果没有安装参考下面这篇文章:

ubuntu下ROS1与ROS2共存安装(亲测有效,安装超简单)_同时安装ros1和ros2-CSDN博客


一、 zed sdk安装

进入以下链接

 ZED SDK 4.2 - Download | Stereolabs

 

找到自己对应的版本的下载即可,我这里是CUDA12下的ZED SDK for Ubuntu 20.4.2。 

 在下载的文件所在目录打开终端,依次执行以下命令:

sudo apt install zstd
chmod +x ZED_SDK_Ubuntu20_cuda12.1_v4.2.5.zstd.run
./ZED_SDK_Ubuntu20_cuda12.1_v4.2.5.zstd.run 
#先按q,后面的按y,出现其他默认回车。

执行命令根据上面下载的文件名称来。 

安装完成后重启,输入以下命令检验:

cd /usr/local/zed/tools
 
./ZED_Explorer #可查看双目图像,分辨率,内参等信息
 
 cd /usr/local/zed/tools
 
./ZED_Depth_Viewer #可查看深度图像,对于cuda配置有要求,可能运行失败

ZED Calibration——用于ZED校准;

ZED Sensor Viewer——ZED传感器,ZED2支持;

ZED Explorer——用于zed相机的实时预览和录制;

ZED Depth Viewer——捕获和显示深度图像和点云;

ZEDfu——ZED相机的实时3D映射和制图;

使用ZED Sensor Viewer工具可看到mini内置imu的输出信息,包括加速度、角速度(陀螺仪)及姿态。

二、ROS接口安装

官网参考链接:

Getting Started with ROS and ZED - Stereolabs

mini支持输出:

    左右校正/未校正图像

    深度图

    彩色 3D 点云

    视觉里程计:相机的位置和方向

    姿态跟踪:相机的位置和方向固定并与IMU数据融合

    空间映射:融合 3D 点云

    传感器数据:加速度计、陀螺仪

在主目录下新建catkin_ws/src文件夹,然后打开终端,依次执行以下命令,下载编译ZED ROS安装包:

cd catkin_ws/src
git clone --recursive https://github.com/stereolabs/zed-ros-wrapper.git
cd ..
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DCMAKE_BUILD_TYPE=Release
source ./devel/setup.bash

若编译过程中出现以下错误:

 终端执行以下命令,安装即可:

sudo apt install python3-empy

若安装后,编译继续报错,我这里的原因是conda环境与ROS存在冲突:

重新编译时别忘了把之前编译生成的build和devel文件删除。

1、可以关闭虚拟环境后,再次编译通过。(建议使用第一种)

conda deactivate

这种方法,下次打开终端后还是会自动进入base虚拟环境。

终端执行以下命令,即可关闭自动进入虚拟环境。

conda config --set auto_activate_base false

2、也可直接执行下列命令指定python版本编译。

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

三、ROS话题节点

 在catkin下打开终端,执行以下命令:

source devel/setup.bash
roslaunch zed_wrapper zedm.launch

 终端输入以下指令,查看发布的所有节点

rostopic list

带位姿的imu话题:/zedm/zed_node/imu/data

不带位姿的imu话题:/zedm/zed_node/imu/data_raw

彩色校正图像(默认为左侧传感器):rgb/image_rect_color

彩色相机校准数据:rgb/camera_info

彩色未校正图像(默认为左侧传感器):rgb_raw/image_raw_color

未校正的彩色相机校准数据rgb_raw/camera_info

右相机校正图像:right/image_rect_color

右传感器校准数据:right/camera_info

右相机未校正图像:right_raw/image_raw_color

未校正的右侧传感器校准数据 :right_raw/camera_info

置信度图作为图像:confidence/confidence_image

深度图:depth/depth_registered

视差图:disparity/disparity_image

点云:zed/zed_node/point_cloud/cloud_registered

通过以下链接可以查看所有相关参数:

ROS - ZED Node - Stereolabs

如果不想每次启动都要source一下 ,可以直接写入.bashrc文件。终端执行以下命令:

gedit ~/.bashrc

在打开的文件末尾添加以下代码:

source ~/catkin_ws/devel/setup.bash

 然后执行以下命令,刷新一下环境即可:

source ~/.bashrc

四、接入相机

将相机接入,catkin_ws目录下打开两个终端。

一个终端执行以下命令:

roslaunch zed_wrapper zedm.launch

 另一个终端打开rviz:

rviz

在rviz中添加展示的类型,并选择对应的话题,就可以查看效果了。

 五、标定

安装依赖:

sudo apt-get install -y \
    git wget autoconf automake nano \
    libeigen3-dev libboost-all-dev libsuitesparse-dev \
    doxygen libopencv-dev \
    libpoco-dev libtbb-dev libblas-dev liblapack-dev libv4l-dev

在主目录下新建kalibr_ws/src文件夹,然后打开终端,依次执行以下命令,下载编译kalibr: 

git clone https://github.com/ethz-asl/kalibr.git
catkin_make

我这里编译时报出以下错误:

原因是boost版本和boost_python版本不一致。

执行以下命令,将boost卸载:

sudo rm -f /usr/local/lib/libboost*
sudo rm -rf /usr/local/include/boost
sudo rm -r /usr/local/lib/cmake/boost*
sudo rm -r /usr/local/lib/cmake/Boost*

通过以下链接下载boost1.71:

https://archives.boost.io/release/1.71.0/source/boost_1_71_0.tar.gz

将下载的源码解压缩至home下,在boost目录下打开终端,依次执行以下命令,等待安装完成即可:

sudo ./bootstrap.sh
sudo ./b2 install
rosbag record -O kalibr_data_vga.bag /zedm/zed_node/imu/data_raw /zedm/zed_node/left/image_rect_color /zedm/zed_node/right/image_rect_color

在kalibr_ws文件夹下打开终端,重新编译即可。重新编译之前别忘了将之前编译生成的build和devel文件删除。 

rosrun kalibr kalibr_calibrate_cameras --bag /home/ubuntu/kalibr_ws/zed/kalibr_data_vga.bag --topics /zedm/zed_node/left/image_rect_color /zedm/zed_node/right/image_rect_color --models pinhole-radtan pinhole-radtan --target /home/ubuntu/kalibr_ws/zed/april_6x6_80x80cm.yaml --bag-from-to 5 150 --show-extraction --approx-sync 0.04

ModuleNotFoundError: No module named ‘wx’
ModuleNotFoundError: No module named ‘igraph’

sudo apt-get install python3-wxgtk4.0
sudo apt-get install python3-igraph

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

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

相关文章

tauri-plugin-shell插件将_blank的a标签用浏览器打开了,,,解决办法

不要使用这个插件,这个插件默认会将网页中a标签为_blank的使用默认浏览器打开,但是这种做法在我的程序里不是很友好,我需要自定义这种行为,当我点击我自己的链接的时候,使用默认浏览器打开,当点击别的链接的…

C++ 继承(2)

Hello!!大家早上中午晚上好!!今天收尾继承剩余部分内容!! 一、友元不能继承 基类的友元函数不能被子类继承,也就是基类的友元函数访问不了子类的私有或保护成员! 1.1解决方法在子…

解决:Word 保存文档失败,重启电脑后,Word 在试图打开文件时遇到错误

杀千刀的微软,设计的 Word 是个几把,用 LaTex 写完公式,然后保存,卡的飞起 我看文档卡了很久,就关闭文档,然后 TMD 脑抽了重启电脑 重启之后,文档打不开了,显示 杀千刀的&#xff…

基于Asp.net的零食购物商城网站

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

ESP8266UDP透传

1. 配置 WiFi 模式 ATCWMODE3 // softAPstation mode 响应 : OK 2. PC 连⼊入 ESP8266 softAP 就是连接wifi 3.查询ESP8266设备的IP地址 ATCIFSR 响应: CIFSR: APIP, "192.168.4.1" CIFSR: APMAC, "1a: fe: 34: a5:8d: c6" CIFSR: STAIP, "192.…

UE5从入门到精通之如何创建自定义插件

前言 Unreal 的Plugins插件系统中有很多的插件供大家使用,包括官方的和第三方的,这些插件不仅能帮我我们实现特定功能,还能够提升我们的工作效率。 所以我们今天就来自己创建一个自定义插件,如果我们想实现什么特定的功能,我们也可以发布到商店供大家使用了。 创建插件 …

基于python大数据的招聘数据可视化与推荐系统

博主介绍:资深开发工程师,从事互联网行业多年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有…

olmOCR:高效精准的 PDF 文本提取工具

在日常的工作和学习中,是否经常被 PDF 文本提取问题困扰?例如: 想从学术论文 PDF 中提取关键信息,却发现传统 OCR 工具识别不准确或文本格式混乱?需要快速提取商务合同 PDF 中的条款内容,却因工具不给力而…

Spring Boot使用JDBC /JPA访问达梦数据库

Spring Boot 是一个广泛使用的 Java 框架,用于快速构建基于 Spring 的应用程序。对于达梦数据库(DMDB)的支持,Spring Boot 本身并没有直接内置对达梦数据库的集成,但你可以通过一些配置和依赖来支持达梦数据库。 以下…

【五.LangChain技术与应用】【31.LangChain ReAct Agent:反应式智能代理的实现】

一、ReAct Agent是啥?为什么说它比「普通AI」聪明? 想象一下,你让ChatGPT查快递物流,它可能直接编个假单号糊弄你。但换成ReAct Agent,它会先推理(Reasoning)需要调用哪个接口,再行动(Action)查询真实数据——这就是ReAct的核心:让AI学会「动脑子」再动手。 举个真…

OpenText ETX 助力欧洲之翼航空公司远程工作升级

欧洲之翼航空公司,作为欧洲知名的低成本航空公司,拥有超过 130 架飞机,服务于约 60 个国家的 210 多个目的地,是欧洲第三大的点对点航空公司。面对 2020年 冠状病毒大流行的挑战,欧洲之翼航空公司迅速采取行动&#xf…

特征表示深度解析:颜色、纹理、形状与编码

第一部分:颜色与纹理特征(Part 1) 1. 颜色特征 颜色直方图(Color Histogram) 定义:统计图像中各颜色通道(R/G/B)的像素分布,形成直方图。 计算步骤: 将每个…

LeetCode Hot100刷题——反转链表(迭代+递归)

206.反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示例 3&#…

MCU-缓存Cache与CPU中的主存SRAM

缓存(Cache)和主存(SRAM)均属于 ​SRAM,他们的核心区别: 通过 Cache 缓存 Flash 中的指令和数据,可避免 CPU 因等待数据而停滞。主存 SRAM 存储程序运行时的变量、堆栈、临时数据等。通常作为 …

在Windows 11的WSL中安装Kali Linux

Kali Linux 是网络安全从业者和爱好者的首选工具集,但直接在物理机或虚拟机上运行可能占用较多资源。借助 Windows Subsystem for Linux (WSL),我们可以在Windows 11中原生运行Kali Linux,轻量且高效。本教程将手把手教你如何在WSL2中安装并配…

Manus AI Agent 技术解读:架构、机制与竞品对比

目录 1. Manus 是什么? 1.1 研发背景 1.2 技术特点 1.3 工具调用能力 1.4 主要应用场景 2. Manus 一夜爆火的原因何在? 2.1 技术突破带来的震撼 2.2 完整交付的产品体验 2.3 生态与开源策略 3. Manus 与其他 AI Agent 的对比分析 3.1 技术架构…

010---基于Verilog HDL的分频器设计

文章目录 摘要一、时序图二、程序设计2.1 rtl2.2 tb 三、仿真分析四、实用性 摘要 文章为学习记录。绘制时序图,编码。通过修改分频值参数,实现任意整数分频器设计。 一、时序图 二、程序设计 2.1 rtl module divider #(parameter DIV_VALUE 5) (…

Python贝壳网二手小区数据爬取(2025年3月更)

文章目录 一、代码整体架构解析二、各部分代码详解1. main()主函数解析2. 会话初始化(伪装浏览器身份)3. 动态参数生成(反爬虫核心机制)4. 列表页抓取(获取小区列表)5. 列表页解析(提取小区信息…

基于SpringBoot的餐厅点餐管理系统设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

Dify使用日常:我是如何按标题级别将word中的内容转存到excel中的

先上效果图 word中的内容 转存到excel之后 实现步骤: 1、在dify中创建一个工作流,如上图 2、在开始节点增加一个支持文件上传的变量 3、添加文档提取器,提取上传的文件中的内容 4、添加大模型节点,将文档提取器提取出来的内容&…