TX2 配置xbox360无线手柄

        最近在TX2上面使用ROS时发现购买的XBOX360游戏手柄插入USB后,终端执行 ls /dev/input/ 并没有显示手柄的输入接口(js*) 于是就在TX2论坛、博客各个地方搜集解决方案,后来发现 TX2默认内核中Input并没有进行joystick的配置。

        一番探索,参考 http://www.jetsonhacks.com/2017/03/25/build-kernel-and-modules-nvidia-jetson-tx2/ 重新进行了内核的编译,编译成功后可以正确识别手柄。


   1.首先在TX2安装xbox360手柄驱动:

    参考链接:http://www.ncnynl.com/archives/201610/916.html

  sudo apt-add-repository ppa:rael-gc/ubuntu-xboxdrv
  sudo apt-get update && sudo apt-get install ubuntu-xboxdrv

  本人使用的是北通阿修罗TE无线手柄,将USB接收器插到TX2上,P+X灯亮(系统进入360模式),在360模式下可以正常使用。

有了驱动,但是默认TX2的内核并没有启用joystick,需要通过编译内核进行配置。

  2.接下来开始配置TX2内核:

    (1)下载编译构建Jetson TX2 内核的脚本文件

$ sudo nvpmodel -m 0
编译过程中发热会重一点,建议打开TX2上面的散热扇 sudo ./jetson_clocks.sh


$ git clone https://github.com/jetsonhacks/buildJetsonTX2Kernel.git 
$ cd buildJetsonTX2Kernel 


这时需要查看你现在的内核版本 打开新的终端 输入 uname -r 
如果显示“4.4.15-tegra”,则说明版本是L4T 27.1;“4.4.38-tegra”,说明版本是L4T 28.1;
对于L4T 27.1,需要单独进行分支选择:
$ git checkout vL4T27.1


   (2)获得源码
$ ./getKernelSources.sh


源码下载解压完成后脚本将在内核配置文件中打开一个编辑器,我们需要在编辑器中配置修改内核。
首先修改Genral Setup->Local version - append to kernel release 双击在文本框内输入-jetsonbot-v0.1,输入完后记得回车;设置完成后如图所示:




然后在Device Drivers中找到Input device support 点击后在右侧列表中找到Joystick interface 在前面的方框中打勾,注意:显示的是打勾不是小圆点 。如图所示:




然后在列表下面找到Joysticks/Gamepads 双击 将其中设置为如图所示:




设置完成后 记得保存! 然后退出。


   (3)编译修改完的内核
$ ./makeKernel.sh

  (4)替换Image和zImage

$ ./copyImage.sh


到此步骤,TX2内核编译完成。

接着用ROS开源的代码进行测试,ros wiki上的步骤很详细,看着一步一步敲命令即可。如果可以看到小乌龟可以跑起来,那恭喜你,手柄可以正常使用啦!(http://wiki.ros.org/joy/Tutorials/WritingTeleopNode)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值