问题标签 [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.
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
我该如何解决?
python - roscpp客户端调用rospy服务失败
我正在尝试使用 roscpp 客户端来调用 rospy 服务器。不幸的是,即使我的服务器似乎运行正常且没有问题,我来自客户的呼叫也总是失败。我在下面包含了客户端和服务器的代码以及我收到的输出(我可以根据要求包含 CMakeList.txt 和 package.xml,但我很确定问题出在以下文件中)。
服务.py:
客户端.cpp:
启动文件:
启动文件的输出:
运行启动文件会导致服务调用失败(请参阅输出的最后一行)。我可以从终端成功调用rosservice call /a_new_service {},这让我相信我的客户做错了什么,但我不确定哪里出了问题。
--
编辑:因此,经过进一步调查,这似乎是启动文件的错误,因为我可以使用 rosrun 调用服务器和客户端并让它们成功通信。有谁知道为什么启动文件会导致调用错误?特别是考虑到 waitForService 调用表明服务器可用这一事实。
python - ROS 主题下无人机的运动不稳定
使用 rostopics 时,无人机的运动不稳定……我该怎么办?
我只需要起飞,上升并进入悬停模式,
起飞后,此代码使无人机后退并进行一些随机运动,然后上升并进入悬停模式。我怎样才能解决这个问题 ?
python - 如何在 ROS 中发布/订阅 Python “列表列表”作为主题
我是 ROS 和 rospy 的新手,我不熟悉非简单数据类型作为主题。
我想构建一个 ROS 节点作为订阅者和发布者:它接收一个主题(两个列表float64
),并使用一个函数(比如my_function
)返回一个列表列表float64
,然后将此列表列表作为主题发布。
为此,我构建了一个节点,如下所示:
我清楚地知道list
在订阅者和发布者中不是消息数据,但我无法弄清楚如何修复它,因为它不是整数也不是整数列表。
python - 如何在每次迭代时更新 matplotlib pyplot
我正在使用 rospy 获取我的机器人位置的数据并实时绘制它。
这就是我所拥有的:
不幸的是,这并没有抹去情节,而是覆盖了一切。所以我尝试使用
第一个给了我弃用错误,第二个给了我一个空白的情节出于某种原因。我正在使用 python2.7 和 rospy 库。
任何有关如何更新情节的建议将不胜感激。
python-2.7 - 如何将生成器数据读取为 numpy 数组
我正在尝试将激光数据转换为 pointcloud2 数据,然后使用 matplotlib.pyplot 显示它们。我尝试遍历生成器中的各个点,但这需要很长时间。相反,我想将它们转换为一个 numpy 数组,然后绘制它。我该怎么做呢?
python - ROS python错误“清单(格式版本2)不得包含以下标签:run_depend”
我一直在关注“使用 ROS 编程机器人:机器人操作系统的实用介绍”一书
在本书的“定义新消息”部分,我们创建了一个新的消息定义
所以我们需要修改 package.xml 并添加以下行:
但是当我在 catkin_ws 目录中运行 catkin_make 时,出现以下错误
我的版本:
这是完整的 package.xml 文件
ros - actionlib.SimpleActionClient.cancel_all_goals 会阻塞直到完成吗?
假设我有以下内容:
以上是否保证True
每次都打印?
换句话说,是SimpleActionClient.cancel_all_goals()
在返回之前取消所有目标,还是只是发送指令取消目标而不等待目标真正取消?
python - rospy rosaria AttributeError: 'list' 对象没有属性 'x'
我正在尝试使用 RosAria 向 Pioneer P3-AT(编辑:3-AT 或 P3-AT,两个名称都使用)发送命令。我知道 RosAria 可以工作,因为当我在终端时,我可以使用以下命令移动机器人:
我现在正在尝试使用带有 rospy 的 python 脚本移动机器人。这是我发布速度命令的部分:
这是错误消息(最重要的部分):
当我使用集合或 numpy 数组时,也会出现同样的错误。如果我尝试以另一种格式(不是两个列表)发布值,则会给出不期望格式的错误。从任一列表中添加或删除条目也不能解决此错误。
所以我现在的问题是为什么它说我没有 x 值?我是否需要使用向量(因为它们指定了 x、y 和 z 值)?
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
能够以更高的速度刷新?