我正在尝试使用iOS App连接到ROS Machine,我正在使用 RBSManager
这是一个Swift原生库,用于处理与WebSocket的连接 运行ROSBridge进行控制的机器人操作系统(ROS)主设备 您的机器人和手机
。
但是每次我尝试连接到ROS计算机时,我都会收到一个Errore:
The operation couldn't be completed. (Starscream.WSError error 1.)
我正在使用swift 4作为编程语言,并使用xcode 10作为IDE。
我要连接的主机是:“ 192.168.69.155:11311”。
答案 0 :(得分:0)
要使此功能正常工作,可能需要修复两件事。
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上),则似乎其中一个库ROS Kinetic上的tornado
存在问题侧。尝试从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对龙卷风进行任何调整而无需任何调整。