RealSense Depth Cameras with ROS1 安装和启动教程

首先进入下面的网址:

https://dev.intelrealsense.com/docs/ros1-wrapper

 进入该链接后,点击最右边的“忍者神龟”

继续点进去

 继续点进去后,终于来到了下载安装教程页面:

下面开始命令行代码的搬运:

一、ROS安装(若安装过可以跳过,直接看二、三)

设置资源列表

设置您的计算机以接受packages.ros.org中的软件。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

Set up your keys

sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

Installation(ROS安装)

首先,确保您的Debian包索引是最新的:

sudo apt update

Now pick how much of ROS you would like to install.

       Desktop-Full Install: (Recommended) : Everything in Desktop plus 2D/3D simulators and 2D/3D perception packages

  • sudo apt install ros-noetic-desktop-full

    Desktop Install: Everything in ROS-Base plus tools like rqt and rviz

  • sudo apt install ros-noetic-desktop

    ROS-Base: (Bare Bones) ROS packaging, build, and communication libraries. No GUI tools.

  • sudo apt install ros-noetic-ros-base

There are even more packages available in ROS. You can always install a specific package directly.

sudo apt install ros-noetic-PACKAGE

e.g.

sudo apt install ros-noetic-slam-gmapping

To find available packages, see ROS Index or use:

apt search ros-noetic

Environment setup

You must source this script in every bash terminal you use ROS in.

source /opt/ros/noetic/setup.bash

It can be convenient to automatically source this script every time a new shell is launched. These commands will do that for you.

Bash

If you have more than one ROS distribution installed, ~/.bashrc must only source the setup.bash for the version you are currently using.

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

zsh

echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc

Dependencies for building packages

Up to now you have installed what you need to run the core ROS packages. To create and manage your own ROS workspaces, there are various tools and requirements that are distributed separately. For example, rosinstall is a frequently used command-line tool that enables you to easily download many source trees for ROS packages with one command.

To install this tool and other dependencies for building ROS packages, run:

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

Initialize rosdep

Before you can use many ROS tools, you will need to initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS. If you have not yet installed rosdep, do so as follows.

sudo apt install python3-rosdep

With the following, you can initialize rosdep.

sudo rosdep init
rosdep update

Tutorials

Now, to test your installation, please proceed to the ROS Tutorials.

二、启动相机节点

参考链接: https://dev.intelrealsense.com/docs/starting-camera-node

接下来需要将深度相机连接电脑的usb接口

This example demonstrates how to launch camera node in ROS

To start the camera node in ROS:

此示例演示了如何在ROS中启动相机节点

要在ROS中启动相机节点:

roslaunch realsense2_camera demo_pointcloud.launch

This will stream all camera sensors and publish on the appropriate ROS topics.

Other stream resolutions and frame rates can optionally be provided as parameters to the 'demo_pointcloud.launch' file.

这将流式传输所有相机传感器,并在适当的ROS主题上发布。
可以选择性地将其他流分辨率和帧速率作为参数提供给“demo_pointcloud.slaunch”文件。

运行后的效果:

三、PointCloud ROS Examples

1. PointCloud visualization(PointCloud可视化

This example demonstrates how to start the camera node and make it publish point cloud using the pointcloud option.

此示例演示了如何启动相机节点并使用点云选项使其发布点云

 roslaunch realsense2_camera rs_camera.launch filters:=pointcloud

The following example starts the camera and simultaneously opens RViz GUI to visualize the published pointcloud. It performs the 2 examples above.

以下示例启动相机,同时打开RViz GUI以可视化发布的点云。它执行上面的两个示例。

roslaunch realsense2_camera demo_pointcloud.launch

2. Ordered PointCloud using rgbd(使用rgbd的有序PointCloud

The following example demonstrates using rgbd that builds an ordered pointcloud from the streams (as opposed to the un-ordered pointcloud we currently publish). This example doesn't open a GUI for visualization. Running it requires the installation of rgbd package (as described in the file).

以下示例演示了使用rgbd从流构建有序点云(与我们当前发布的未排序点云相反)。此示例没有打开用于可视化的GUI。运行它需要安装rgbd包(如文件中所述)。

roslaunch realsense2_camera rs_rgbd.launch

3. PointCloud with different coordinate systems(具有不同坐标系的PointCloud

This example opens rviz and shows the camera model with different coordinate systems and the pointcloud, so it presents the pointcloud and the camera together.

此示例打开rviz并显示具有不同坐标系的相机模型和点云,因此它将点云和相机一起显示。

 roslaunch realsense2_camera rs_d435_camera_with_model.launch

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 搬运结束 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

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

相关文章

JavaScript高级程序设计读书记录(九):继承

1. 继承 继承是面向对象编程中讨论最多的话题。很多面向对象语言都支持两种继承:接口继承和实现继承。前者只继承方法签名,后者继承实际的方法。接口继承在 ECMAScript 中是不可能的,因为函数没有签名。实现继承是 ECMAScript 唯一支持的继承…

基于ssm的一家运动鞋店的产品推广网站的设计论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本一家运动鞋店就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…

【Python】内置的type()函数详解和示例

在Python中&#xff0c;type()函数是一个内置函数&#xff0c;用于获取对象的类型。这个函数返回一个对象的类型对象&#xff0c;可以用来比较和识别对象的类型。 # 获取一个整数的类型 print(type(123)) # 输出&#xff1a;<class int># 获取一个字符串的类型 print(t…

MySQL 基于 GTID 主从复制

GTID 定义 GTID 是 MySQL 事务标识&#xff0c;为每一个提交的事务都生成一个标识&#xff0c;并且是全局唯一的&#xff0c;这个特性是从 MySQL5.6 引进的。 组成 GTID 是由 UUID TID&#xff0c;UUID 是MySQL的唯一标识&#xff0c;每个MySQL实例之间都是不同的。TID是代表…

【RocketMQ每日一问】RocketMQ重平衡逻辑是怎么样的?

消费者启动时&#xff0c;订阅相应的topic并加入到消费者组。消费者将消费进度信息存储到Broker中&#xff0c;包括当前消费到的消息的offset、队列信息等。消费者定时从Broker中获取topic的路由信息&#xff08;包括消息队列、broker信息等&#xff09;&#xff0c;并更新本地…

地表温度计算(二)--Landsat8 Collection2 level2数据集

目录 一、GEE Landsat8 Collection2 level2数据集二、操作步骤1.导入研究区矢量2.计算LST3.导出数据4.导入Arcgis查看三、总结之前做了一个劈窗算法反演,不过该反演在干旱区适用,在其他区域效果不佳。然后又尝试了一些单窗算法、ENVI中热辐射传输方法,但是这些方法都需要获取…

Linux内存管理:(七)页面回收机制

文章说明&#xff1a; Linux内核版本&#xff1a;5.0 架构&#xff1a;ARM64 参考资料及图片来源&#xff1a;《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址&#xff1a; zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 触发页面回收 Linux内核中触发页…

Linq练习

准备类以及数据 class Student {public int StudentId { get; set; }public string Name { get; set; }public Course Course { get; set; }public Student(int studentId, string name, Course course){StudentId studentId;Name name;Course course;}public void PrintIn…

深入MySQL——10

查询为何如此之慢 分为两种情况一种是查询后长时间不返回的&#xff0c;还有一种是查询很慢的 我们先来说第一种情况 长时间不返回 这种情况下就是锁阻塞导致不能返回&#xff0c;可以通过show processlist来查看语句处于什么状态&#xff0c;一般情况下会出现这几种状态&a…

Vue3:vue-cli项目创建及vue.config.js配置

一、node.js检测或安装&#xff1a; node -v node.js官方 二、vue-cli安装&#xff1a; npm install -g vue/cli # OR yarn global add vue/cli/*如果安装的时候报错&#xff0c;可以尝试一下方法 删除C:\Users**\AppData\Roaming下的npm和npm-cache文件夹 删除项目下的node…

从传统部署到无服务器计算:AI应用在AWS平台上的革新与飞跃

文章目录 《快速构建AI应用–AWS无服务器AI应用实战》内容简介作者简介目录 随着人工智能技术的不断发展&#xff0c;越来越多的企业开始将人工智能应用于各个业务场景&#xff0c;以提高效率、降低成本并创造新的商业模式。然而&#xff0c;传统的人工智能解决方案往往需要大量…

从零开始C++精讲:第一篇——C++入门

文章目录 前言一、C关键字二、命名空间2.1引子2.2命名空间定义2.3命名空间的使用 三、C输入和输出3.1输出3.2输入 四、缺省参数4.1全缺省4.2半缺省 五、函数重载5.1重载概念 六、引用6.1定义6.2引用的使用示例6.2.1引用作参数6.2.1引用作返回值 6.3传值、传引用效率比较6.4常引…

超维空间M1无人机使用说明书——01、ROS机载电脑使用说明——远程连接

引言&#xff1a;远程连接通常采用两种方式&#xff0c;一种是通过可视化软件&#xff0c;如VNC、Nomachine等&#xff0c;另外一种是使用SSH。各有优缺点&#xff0c;两种远程登录方式的优缺点做一个简单的对比&#xff1a; 1、SSH优缺点 优点:1、消耗网络资源 2、运行稳定 …

前端面试题集合六(高频)

1、vue实现双向数据绑定原理是什么&#xff1f; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>…

java SSM问卷调查系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM问卷调查管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代 码和数据库&#xff0c;系统主要采…

每天刷两道题——第十一天

1.1滑动窗口最大值 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。 输入&#xff1a;nums [1,3,-1,-3,5,3,6,7], k 3 输出&…

面试宝典之微服务框架面试题

S1、集群与分布式有啥区别&#xff1f; &#xff08;1&#xff09;相同点&#xff1a; 分布式和集群都是需要有很多节点服务器通过网络协同工作完成整体的任务目标。 &#xff08;2&#xff09;不同点&#xff1a; 分布式是指将业务系统进行拆分&#xff0c;即分布式的每一个…

Java微服务架构实践指南

Java 微服务架构是一种在软件开发中越来越受欢迎的架构风格&#xff0c;它将复杂的单体应用程序拆分成一组小型、独立的服务。每个服务都可以独立开发、部署和扩展&#xff0c;并通过轻量级通信机制相互协作。以下是 Java 微服务架构的实践指南&#xff1a; 拆分服务&#xff…

SpringBoot 注解超全详解(整合超详细版本)

使用注解的优势&#xff1a; 采用纯java代码&#xff0c;不在需要配置繁杂的xml文件 在配置中也可享受面向对象带来的好处 类型安全对重构可以提供良好的支持 减少复杂配置文件的同时亦能享受到springIoC容器提供的功能 1注解详解&#xff08;配备了完善的释义&#xff09…

力扣433. 最小基因变化

广度优先搜索 思路&#xff1a; 经过分析可知&#xff0c;基因 A 突变到基因 B&#xff0c;需要满足以下条件&#xff1a; 序列 A 与序列 B 只有一个字符不同&#xff1b;变化字符在集合中&#xff1b;突变后的基因 B 一定在 bank 中&#xff1b;尝试搜索所有合法突变的基因集…