问题标签 [ros]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - OpenCV 和 ROS:cvMAT 中的空指针错误
我正在使用以下内容来检测两个彩色对象的位置、方向。除非相机无法对这两个物体(黄色和蓝色)中的任何一个进行精细处理,或者当我将手放在相机前时,否则一切正常。它抛出以下错误:
OpenCV 错误:cvGetMat 中的空指针(传递了空数组指针),文件 /tmp/buildd/libopencv-2.3.1+svn6514+branch23/modules/core/src/array.cpp,第 2382 行终止在抛出一个实例后调用'cv::Exception' what(): /tmp/buildd/libopencv-2.3.1+svn6514+branch23/modules/core/src/array.cpp:2382: error: (-27) NULL 数组指针传入函数cvGetMat
如果有人可以帮助我解决此错误,我将不胜感激。
谢谢你
qt - 图像原始数据 Ros 和 Qt
我在 Gazebo 中有一个模拟,我在其中发布了一个包含原始图像数据的图像原始数据主题。现在我想将 qt 中的数据显示为视频。我不确定我应该使用什么作为视频小部件。我的想法是制作一个 graphicsScene 并将数据显示为 QImage 但数据频率很高,并且以该频率将其加载到 QImage 在我看来并不是一个好方法。期待最佳建议。
谢谢。
(ps 我正在使用带有 qt4.x 和 Ros Electric 的 linux 10.04)
java - 如何从 java File 在终端上执行我自己的命令
我正在尝试用 Java 制作一个 Eclipse 项目来启动带有一些按钮的命令。Ros fuerte 的库(我想使用的这些库)已正确安装,具体来说,我正在尝试使用以下方法从 Java 文件启动 ros 命令:
如果我从当前终端启动此命令,它可以工作,但如果我从 java 文件执行此命令,我会遇到问题,因为终端无法识别该命令。
我认为我需要添加一些路径或类似的,但我没有找到信息。有人知道怎么做吗?
感谢你。
android - Android ros 订阅者自定义消息
在我的 android 应用程序中为自定义消息创建新订阅者时遇到问题。我在 java 项目中有相同的代码,并且可以在终端中显示信息消息。
错误日志是:
我以这种方式创建订阅者:
我的自定义消息也由自定义消息组成。以下是代码:
节点列表.msg:
节点信息.msg:
ROSParameter.msg:
ROSTopic.msg:
OMTypes.msg:
有人在使用 Android 尝试自定义消息时遇到问题吗?谢谢!它对我来说非常重要!
x86 - 带有 SSSE3 标志的 ROS(机器人操作系统)
我最近开始使用 ROS,但遇到了一个问题。我需要使用一些需要 SSE2、SSE3 和 SSSE3 CPU 扩展的类。
我试图编辑我的 ROS 包的 manifest.xml 文件,例如
但它没有用!
该代码在“非 ROS 项目”中运行良好,但不知何故,编译器似乎忽略了 cflags。
我正在使用支持芯片扩展的 LinuxMint (ubuntu 12.04)。
我需要把旗帜放在哪里?
memory-management - ROS/OpenCV/Boost 内存释放
我有以下回调函数,旨在订阅 ROS 图像,将图像转换为 openCV IplImage* 以进行 blob 跟踪,然后释放内存。
如果我包含 cvReleaseImage( &imageRaw ) 和内存泄漏(在短时间内导致 std::bad_alloc() ),则从函数返回时会出现分段错误。我通过 valgrind 运行可执行文件并确认在回调范围之后发生分段错误。看起来,在函数内部,我释放了 921,624 字节的图像数据。在函数 boost 之后,ROS 和 OpenCV 进程分别将内存 0、12 和 921,616 字节释放到已释放的内存块中。valgrind 的输出发布在下面 - 有什么想法吗?
eclipse - 为 ROS 配置 Eclipse
我是 Linux 新手。我正在尝试使用 Eclipse 开发 ROS 应用程序。我不明白ROS 网站中提供的以下内容。你能用更简单的方式解释一下,这样我就可以在从 eclipse.org 下载后配置我的 eclipse。
重用 shell 的环境
要从 IDE 内部构建和运行 ROS 程序,必须设置 ROS 环境。所有的 IDE 可能都有一个配置,但是从你的 ROS 源 shell 运行你的 IDE应该是最简单的方法,避免不一致。
同样,您可以增强 IDE 的启动器图标以加载您的 shell 环境。例如,将其命令 eclipse 替换为
bash -i -c "eclipse"
. 这将生成 bash source~/.bashrc
,其中必须对 ROS 进行采购和参数化,然后启动该 IDE。
cmake - 如何使用 CMake 交叉编译 CMake for ARM
简而言之,我正在尝试使用 CMake 交叉编译 CMake,但我认为我没有正确链接库。我想做的事情可能是不可能的,但我至少想知道如果是这样的话,为什么它是不可能的。
系统:主机是一个带有 Cavium ARM9 CPU的Linux机器。它目前运行的是 2.6.24.4 版的 Linux 内核和Debian 5.0 (Lenny)。我的工作站是运行 Ubuntu 12.04 LTS(Precise Pangolin)的Core i5 。
我的总体目标是让ROS在 Linux 机器上运行。我必须从源代码编译而不是使用 apt,因为 Debian 6.0 (Squeeze) 二进制文件需要 Cavium 不提供的 thumb 支持,而且 Debian 5.0 (Lenny) 所需的软件包并不多。我在安装所需的各种库方面取得了进展,但是当我进入步骤 1.3.1 并尝试运行 CMake 时,我收到了错误
需要 CMake 2.8 或更高版本。您正在运行 2.6.0 版
接下来我尝试在 Linux 机器上下载并构建 CMake 2.8.8,但对于系统来说太多了。当失败时,我下载了制造商网站上建议的工具链,并使用 [www.cmake.org/Wiki/CMake_Cross_Compiling] 上的交叉编译指南来构建 CMake 可执行文件。这是我的工具链文件:
但是,在 Linux 机器上使用二进制文件会出现错误
cmake:/usr/lib/libstdc++.so.6:找不到版本“GLIBCXX_3.4.14”(cmake 需要)
果然,图书馆不在那里:
我以前从未进行过交叉编译,但我可以看到两种情况之一发生:或者二进制文件是通过指向主机上更高版本的 glibcxx 的链接创建的,或者制造商的工具链比他们的图像更现代。我不知道如何检查正在发生的事情,或者是否发生了我不知道的其他事情。
我最后的努力涉及尝试静态交叉编译 CMake 以希望摆脱链接错误
我遇到了构建错误,并且该二进制文件也不起作用。我有:
我会尝试在 Linux 机器上安装 glibcxx 3.4.14,但它看起来不适用于该处理器。
我尝试搜索 CMake 依赖项或系统要求,但找不到任何东西。我还搜索了如何构建 CMake,但大多数搜索都出现了如何使用CMake 构建其他东西,而不是构建 CMake 本身。
c++ - 链接 CXX 可执行文件 - /usr/bin/ld: 找不到
你好 C++ 和/或 ROS 专家
我刚刚重新安装了 Ubuntu 12.04 和 ROS。
我的旧安装也在 ubunru 12.04 上,效果很好。
但是现在当我尝试对我的项目进行 make 或 rosmake 时,出现以下错误:
你有什么想法这意味着什么,或者如何解决这个问题?
我像这样安装了ROS,也许我需要别的东西?:
最好的问候 Bjarke
cmake - 如何将此共享库添加到我的 CMakeLists.txt?
我几乎通读了所有库链接教程,但没有一个适用于我的具体问题。
我有一个名为 VSCOM_API_TEST 的文件夹,其中包含以下文件和文件夹:
VSCOM_API_TEST/CMakeLists.txt
VSCOM_API_TEST/include/vs_can_api.h
VSCOM_API_TEST/include/startup.h
VSCOM_API_TEST/lib/libvs_can_api.so
VSCOM_API_TEST/lib/libvs_can_api.a
VSCOM_API_TEST/src/startup.cpp
启动是我想要包含库的可执行文件。
而且我的程序找不到库函数的问题:
CMakeFiles/startup.dir/src/startup.o: In function main:
/home/max/fuerte_workspace/sandbox/VSCOM_API_TEST/src/startup.cpp:6: undefined reference to VSCAN_Open
CMakeLists.txt
启动.cpp
那么如何添加预编译库呢?