我正在尝试使用 iOS App 连接到 ROS Machine 我正在使用 RBSManager
it's A Swift-native library for handling the WebSocket connection to a Robot Operating System (ROS) master running ROSBridge for Controll your robots with a mobile phone
.
但每次我尝试连接到 ROS 机器时都会出现错误:
The operation couldn't be completed. (Starscream.WSError error 1.)
我使用 swift 4 作为编程语言,使用 xcode 10 作为 IDE。
我尝试连接的主机是:“192.168.69.155:11311”。
最佳答案
您可能需要解决两件事才能使其目前正常工作。
1) 使用默认端口 9090 而不是 11311 假设您没有特别更改它。在 RBSManager 示例应用程序的主机文本输入中,键入 ws://192.168.69.155:9090
(如果您愿意,可以省略 ws://
)。端口 11311 是默认端口,如果这是 ROS < > ROS 连接(例如,同一子网上运行 ROS 的两台 Ubuntu 计算机),则将使用该端口。 ROS Bridge 提供了一个不同的功能,除了数据以 JSON 格式传输之外。
2) 如果您在尝试让 RBSManager 与 ROS Kinetic(在 Ubuntu 16.04 上)一起工作时遇到错误,那么似乎其中一个库有问题,tornado
on ROS 动力学方面。尝试从版本 5.1.1 降级到 4.5.3。这样做为我解决了这个问题。此解决方案来自 After tornado upgraded to version 5.0, websocket disconnects immediately after connection #353
命令如下:
pip uninstall tornado
,
pip install tornado==4.5.3
最后,相同的 RBSManager 示例应用程序无需任何调整即可在 Ubuntu 18.04 上使用 ROS Melodic 运行 tornado。
关于ios - 无法完成操作。 (Starscream.WSError 错误 1.) RBSManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53225857/