【发布时间】:2020-09-29 10:05:47
【问题描述】:
我想在下制作程序
“catkin_ws/src/realsense-ros-3.2.13/realsense2_camera”
来自“ros wrapper site”的目录将实感数据传输到其他设备。
我选择使用“.cpp 文件”,因为我已经制作了使用 C++ 和 realsense 摄像头的程序。
我想知道“realsense2_camera/src”目录下文件的关系 以及可执行文件在 catkin_make 等之后出现的方式和位置,因为我想重塑该文件,如果它能够将 realsense 数据传输到其他设备来做到这一点。
我认为这与 roscpp_tutorials、rospy_tutorials 和beginner_tutorials 的发布者和订阅者程序有关,我能够使发布者和订阅者程序与不同的设备进行通信,尽管我不知道它们为什么运行的理论。 (可执行文件的出现方式和位置)
环境
设备操作系统:ubuntu 18.04 设备硬件:Jetson nano rosdistro:旋律 蟒蛇:Python 2.7.17 Realsense ROS Wrapper:2.2.13 Realsense 查看器版本:2.34.0 相机:D435 D435 固件:5.12.03.00
【问题讨论】:
-
让我检查一下这是否正确:您确实想使用 ros,并且想使用来自 realsense 的数据?为什么不使用他们预先构建的节点和启动文件?只需从您的 main.launch 文件中调用相关的启动文件,并订阅相关的输出(RGB、深度、校准、压缩数据...)(Nj 发布您的工作环境)。
-
或者您对 ros 的工作原理是否感到困惑?数据如何在“节点”之间传递以进行计算? ros 中的编程是创建启动文件,它们是 main() 函数。 “节点”就像函数,输入(订阅者)输出(发布者)具有明确定义的类型(msgs),其中他们正在写入的“变量”是“主题”。因此,在您的启动文件中,如果您包含它们提供的节点/启动文件,则您有一个节点(函数)从您的设备中读取并向“相机”主题(变量)(和子主题)和您编写的其他节点提供数据可以订阅这些主题并做数学题。
-
> 您确实想使用 ros,并且想使用来自 realsense 的数据?是的,这是对的。 > 只需从您的 main.launch 文件中调用相关的启动文件,并订阅相关的输出我认为 realsense2_camera 目录中没有“main.launch”文件,但我了解订阅机制。
-
我的意思是,在您的启动文件中,启动文件是您的“主要可执行文件”。您是否尝试过
<include>'ing 启动文件之一,或运行其中一个?如果您阅读过realsense-ros/README,它会列出一些演示以查看相机是否正常工作并获取正在发布的主题。我理解“转移到其他设备”是指让其他程序订阅这些主题,如果我错了,请纠正我。对于你的另一个问题,源代码在 catkin_ws/src,构建文件在 build/,构建的可执行文件/头文件在 devel/
标签: c++ device communication ros realsense