【问题标题】:Interaction XBOX Controller with Simulink Model带有 Simulink 模型的交互 XBOX 控制器
【发布时间】:2020-10-04 17:08:24
【问题描述】:

我正在一个项目中工作,我必须使用 XBOX 控制器控制机器人(我已经将它作为 Simulink 模型)。

直到现在我都找不到一个好的例子或好主意来让这两个交互。

我想用 XBOX 控制器的按钮更改一些变量(输入),然后获得反馈(例如:振动反馈)(输出)。

是否可以使用 ROS 和 Simulink 做到这一点?这样我就可以使用 ros_joy,然后在我的 Simulink 模型中实现它?

当我在这里得到一些建议时会很有帮助。

非常感谢。

【问题讨论】:

  • 你是用windows还是ubuntu?这有很大的不同。 ROS(生态系统)目前真的只支持 ubuntu。
  • 我使用的是 Ubuntu 18.04 LTS。
  • 只要您将控制器识别为操纵杆,它就应该向前移动

标签: simulink ros robot xbox


【解决方案1】:

我无法对此进行测试,但我从 ubuntu jstest 和 jstest-gtk(更好的 gui 界面)可以通过 apt 安装,以检查和配置任何游戏杆/游戏手柄,并且它可以工作好吧。然后你将把你的游戏手柄作为/dev/ 下的设备。 (例如:/dev/js0/dev/input/js0)。并且该文件句柄易于使用,具有许多支持 3rd 方/一次性库(如果您不想/不需要,则不必使用所有 ros)。

我从 matlab 知道有一些方法可以破解解决方案,但他们自己的第一方解决方案是 vrjoystick,它采用基于 1 的数字 id。这应该意味着您的游戏手柄显示为js0,并且id 应该是1:id = 1; joy = vrjoystick(id,'forcefeedback');

【讨论】:

  • 非常感谢。这很有帮助。我会尝试测试一下。我只有一个问题:你所说的“是什么意思?那个文件句柄很容易使用,有许多支持 3rd 方/一次性库(如果你不想/不需要,你不必使用所有的 ros到)。” ?当您的方法有效时,我将不再需要 ROS 还是我错了? (我之所以提到 ROS,是因为我认为没有它就没有解决方案,但有了你的它可以工作)
  • ROS 可以说是三样东西:消息传递/帧转换/+构建系统;符合该消息系统的软件包/可执行文件生态系统; & 开发实践。如果您没有将一堆与机器人相关的软件捆绑在一起,那么它就没有用。它只包装底层程序。 rosjoycalls low-level C functions on that filehandle, and bundles it in ROS msgs。你可以 google/github 搜索通用的游戏杆/游戏手柄库,有很多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-24
  • 1970-01-01
  • 2015-09-18
  • 1970-01-01
相关资源
最近更新 更多