news 2026/5/19 22:09:14

ros2 jazzy环境下使用ros2_astra_camera

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ros2 jazzy环境下使用ros2_astra_camera

简介

ros2_astra_camera是奥比中光提供的在ros2环境下使用其相机的例子(项目连接:https://github.com/orbbec/ros2_astra_camera),基于ros2 foxy/humble版本,但是没有ros2 jazzy版本的,由于ros2 jazzy已经有不少的修改,所以在jazzy版本下编译ros2_astra_camera会出现错误。这篇文章讨论了如何去修改才能在ros2 jazzy中编译成功ros2_astra_camera(注:默认已经安装好了ros2 jazzy).

下面链接是已经修改好后的ros2_astra_camera:

https://download.csdn.net/download/hulinhulin/92882934?spm=1011.2124.3001.6210

1. 下载ros2_astra_camera

下载连接:https://github.com/orbbec/ros2_astra_camerahttps://github.com/orbbec/ros2_astra_camera

2. 安装必要的依赖

可以查看项目readme.md文件,里面有部分需要安装的依赖,其中的libuvc不需要自己去编译了,可以直接安装。以下是完整的依赖(也可能不完整,请根据提示安装):

sudo apt install libgflags-dev ros-$ROS_DISTRO-image-geometry ros-$ROS_DISTRO-camera-info-manager ros-$ROS_DISTRO-cv-bridge ros-$ROS_DISTRO-message-filters ros-$ROS_DISTRO-image-transport ros-$ROS_DISTRO-image-publisher libgoogle-glog-dev libusb-1.0-0-dev libeigen3-dev libuvc-dev nlohmann-json3-dev ros-$ROS_DISTRO-tf2-eigen ros-$ROS_DISTRO-tf2-sensor-msgs ros-$ROS_DISTRO-tf2-ros

3.安装OpenNI和使用usb的规则

如果已经安装,可以跳过这一步。没有安装的话,查看readme.md进行操作

4. 需要修改的内容

a.将项目中的所有cv_bridge/cv_bridge.h 修改为 cv_bridge/cv_bridge.hpp
b.将项目中的所有image_geometry/pinhole_camera_model.h 修改为 image_geometry/image_geometry/pinhole_camera_model.hpp

c.文件astra_camera/include/astra_camera/point_cloud_proc/point_cloud_xyz.h中,

添加:#include <sensor_msgs/point_cloud2_iterator.hpp>

d.文件astra_camera/include/astra_camera/ros_param_backend.h的内容替换为:

#pragma once #include <rclcpp/rclcpp.hpp> namespace astra_camera { class ParametersBackend { public: explicit ParametersBackend(rclcpp::Node* node); ~ParametersBackend(); void addOnSetParametersCallback( std::function<rcl_interfaces::msg::SetParametersResult(const std::vector<rclcpp::Parameter> &)> callback); private: rclcpp::Node* node_; rclcpp::Logger logger_; rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr ros_callback_; }; } // namespace astra_camera

e.文件astra_camera/src/ros_param_backend.cpp的内容替换为:

#include "astra_camera/ros_param_backend.h" namespace astra_camera { ParametersBackend::ParametersBackend(rclcpp::Node *node) : node_(node), logger_(node_->get_logger()) {} ParametersBackend::~ParametersBackend() { if (ros_callback_) { node_->remove_on_set_parameters_callback(ros_callback_.get()); ros_callback_.reset(); } } void ParametersBackend::addOnSetParametersCallback( std::function<rcl_interfaces::msg::SetParametersResult(const std::vector<rclcpp::Parameter> &)> callback) { ros_callback_ = node_->add_on_set_parameters_callback(std::move(callback)); } } // namespace astra_camera
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/19 22:06:54

影刀RPA跨境店群运营架构:基于Python的高并发分布式调度系统与Chromium内核级环境隔离工程实战

影刀RPA跨境店群运营架构&#xff1a;基于Python的高并发分布式调度系统与Chromium内核级环境隔离工程实战 产业观察导语 前段时间&#xff0c;硬科技创投圈被一份招股书观察报告刷屏&#xff1a;江苏昆山首个固态电池核心材料独角兽企业正式冲击 IPO。这支完全脱胎于顶尖学府…

作者头像 李华
网站建设 2026/5/19 22:03:41

保姆级教程:在Windows训练YOLOv5,Ubuntu转换rknn,最后部署到RK3588板子的完整跨平台工作流

跨平台YOLOv5模型训练与RK3588部署实战指南 引言 在边缘计算与嵌入式AI应用蓬勃发展的当下&#xff0c;如何高效地将深度学习模型从训练环境迁移到资源受限的边缘设备&#xff0c;成为开发者面临的关键挑战。本文将详细介绍一套完整的跨平台工作流&#xff1a;在Windows系统完成…

作者头像 李华
网站建设 2026/5/19 21:59:17

Mac 安装jdk和nvm

安装 Homebrew在mac中点击搜索终端&#xff0c;在终端中输入以下命令安装&#xff1a;/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"回车后会要输入电脑密码&#xff0c;输入后后面再按一次回车安装完成后&…

作者头像 李华
网站建设 2026/5/19 21:59:15

贪吃蛇游戏设计-3.添加蛇和食物

3.添加蛇和食物 /** 贪吃蛇游戏 - 主页面精简版&#xff1a;保留蛇和食物的显示功能核心功能&#xff1a; 绘制游戏画布&#xff08;背景、网格&#xff09;绘制蛇&#xff08;绿色身体 红色头部&#xff09;绘制食物&#xff08;黄色圆形&#xff09; *//** 游戏主组件Entry …

作者头像 李华
网站建设 2026/5/19 21:59:06

JDK8 Stream流:高效集合操作新利器

三、JDK8新特性&#xff08;Stream流&#xff09;各位同学&#xff0c;接下来我们学习一个全新的知识&#xff0c;叫做Stream流&#xff08;也叫Stream API&#xff09;。它是从JDK8以后才有的一个新特性&#xff0c;是专业用于对集合或者数组进行便捷操作的。有多方便呢&#…

作者头像 李华