问题标签 [rospy]

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.

0 投票
1 回答
176 浏览

logging - ARDRONE 没有响应 ros - python 代码

我试图在真正的无人机上运行我的 python 代码,但我收到以下错误并且无人机没有飞行。

无法启动到 kathirdrone-VirtualBox:55800 ( http://kathirdrone-VirtualBox:45968/ ) 的 TCP/IP 套接字:
TransportInitError:远程错误报告:从端口 55800 上的 [TCPROS 连接接收到一个不存在主题 [/clock] 的连接到 [127.0.0.1:58036 on socket 8]] [/forward]

无人机与 roslaunch cvg_sim_gazebo ardrone_testworld.launch 在 tumsimulator 中完美飞行。

我的包结构是这样的。catkin_ws/src/mycode/scripts/DroneFly.py

我该如何解决?

0 投票
1 回答
2772 浏览

python - roscpp客户端调用rospy服务失败

我正在尝试使用 roscpp 客户端来调用 rospy 服务器。不幸的是,即使我的服务器似乎运行正常且没有问题,我来自客户的呼叫也总是失败。我在下面包含了客户端和服务器的代码以及我收到的输出(我可以根据要求包含 CMakeList.txt 和 package.xml,但我很确定问题出在以下文件中)。

服务.py:

客户端.cpp:

启动文件:

启动文件的输出:

运行启动文件会导致服务调用失败(请参阅输出的最后一行)。我可以从终端成功调用rosservice call /a_new_service {},这让我相信我的客户做错了什么,但我不确定哪里出了问题。

--

编辑:因此,经过进一步调查,这似乎是启动文件的错误,因为我可以使用 rosrun 调用服务器和客户端并让它们成功通信。有谁知道为什么启动文件会导致调用错误?特别是考虑到 waitForService 调用表明服务器可用这一事实。

0 投票
0 回答
301 浏览

python - ROS 主题下无人机的运动不稳定

使用 rostopics 时,无人机的运动不稳定……我该怎么办?

我只需要起飞,上升并进入悬停模式,

起飞后,此代码使无人机后退并进行一些随机运动,然后上升并进入悬停模式。我怎样才能解决这个问题 ?

0 投票
2 回答
6482 浏览

python - 如何在 ROS 中发布/订阅 Python “列表列表”作为主题

我是 ROS 和 rospy 的新手,我不熟悉非简单数据类型作为主题。

我想构建一个 ROS 节点作为订阅者和发布者:它接收一个主题(两个列表float64),并使用一个函数(比如my_function)返回一个列表列表float64,然后将此列表列表作为主题发布。

为此,我构建了一个节点,如下所示:

我清楚地知道list在订阅者和发布者中不是消息数据,但我无法弄清楚如何修复它,因为它不是整数也不是整数列表。

0 投票
1 回答
1225 浏览

python - 如何在每次迭代时更新 matplotlib pyplot

我正在使用 rospy 获取我的机器人位置的数据并实时绘制它。

这就是我所拥有的:

不幸的是,这并没有抹去情节,而是覆盖了一切。所以我尝试使用

第一个给了我弃用错误,第二个给了我一个空白的情节出于某种原因。我正在使用 python2.7 和 rospy 库。

任何有关如何更新情节的建议将不胜感激。

0 投票
1 回答
1517 浏览

python-2.7 - 如何将生成器数据读取为 numpy 数组

我正在尝试将激光数据转换为 pointcloud2 数据,然后使用 matplotlib.pyplot 显示它们。我尝试遍历生成器中的各个点,但这需要很长时间。相反,我想将它们转换为一个 numpy 数组,然后绘制它。我该怎么做呢?

0 投票
2 回答
5237 浏览

python - ROS python错误“清单(格式版本2)不得包含以下标签:run_depend”

我一直在关注“使用 ROS 编程机器人:机器人操作系统的实用介绍”一书

在本书的“定义新消息”部分,我们创建了一个新的消息定义

所以我们需要修改 package.xml 并添加以下行:

但是当我在 catkin_ws 目录中运行 catkin_make 时,出现以下错误

我的版本:

这是完整的 package.xml 文件

0 投票
1 回答
1612 浏览

ros - actionlib.SimpleActionClient.cancel_all_goals 会阻塞直到完成吗?

假设我有以下内容:

以上是否保证True每次都打印?

换句话说,是SimpleActionClient.cancel_all_goals()在返回之前取消所有目标,还是只是发送指令取消目标而不等待目标真正取消?

0 投票
1 回答
1252 浏览

python - rospy rosaria AttributeError: 'list' 对象没有属性 'x'

我正在尝试使用 RosAria 向 Pioneer P3-AT(编辑:3-AT 或 P3-AT,两个名称都使用)发送命令。我知道 RosAria 可以工作,因为当我在终端时,我可以使用以下命令移动机器人:

我现在正在尝试使用带有 rospy 的 python 脚本移动机器人。这是我发布速度命令的部分:

这是错误消息(最重要的部分):

当我使用集合或 numpy 数组时,也会出现同样的错误。如果我尝试以另一种格式(不是两个列表)发布值,则会给出不期望格式的错误。从任一列表中添加或删除条目也不能解决此错误。

所以我现在的问题是为什么它说我没有 x 值?我是否需要使用向量(因为它们指定了 x、y 和 z 值)?

0 投票
2 回答
1571 浏览

python - rospy 中的实时 2D 激光扫描仪数据

我刚买了一台 Sick Tim 571激光扫描仪。因为我是 ROS 的新手,所以我想在一个简单的rospy实现中测试一些东西。

我认为下面的代码将向我展示激光测量的实时输出,就像在 Rviz 中一样(Rviz 对我来说很好)——但在 Python 中,并且可以在我自己的代码中使用测量。不幸的是,输出帧一遍又一遍地只显示一个静态测量值(从 Python 代码第一次启动时开始)。

如果我与这​​个 Python 代码并行运行 Rviz,我会得到测量区域的动态更新表示。

我认为.callback(data)每次都会使用一组新的激光扫描仪数据调用该函数。但似乎它不像我想象的那样工作。因此错误可能位于.laser_listener()调用回调函数的位置。


TL;博士

如何在 中使用动态更新的(实时)激光扫描仪测量rospy


[ EDIT_1 ]:

当我添加print(data.ranges[405])到回调函数时,我得到了这个输出。它略有变化。但这是错误的。我在测量中间覆盖了整个传感器。这些值仍然只适合程序启动的时间。

与上面相同,但反过来。我从一个有盖的传感器开始,并在测量过程中抬起了盖子。


[ EDIT_2 ]:

哦...如果我注释掉整个cv2部分,我会得到实时打印输出!所以cv2它减慢了很多,以至于我15Hz以更慢的速度显示测量值。

所以我现在的问题是:是否有替代方案cv2能够以更高的速度刷新?