注:

  1. 电脑是win10 + Ubuntu 16.04双系统
  2. 我们用Logitech g29方向盘的程序来模拟G920方向盘,所以接下来运行出现g29等字样,是没有问题的

1、jstest-gtk

1)描述:

jstest-gtk是一个基于Gtk +的简单操纵杆测试和配置工具。它为您提供了一个附加的操纵杆列表,一种显示按下按钮和轴的方法,一种重新映射轴和按钮的方法以及一种校准操纵杆的方法。即使你的操纵杆工作得很好,你也可以尝试一下,因为校准可以让你摆脱许多操纵杆使用的超大默认死区,这在一些游戏中是一个明显的问题。

2)用法:

jstest-gtk主要是一个图形界面,用于检查你的操纵杆和打击垫是否工作正常。您可以在每个轴上找到精确信息,您可以选择重新校准它并且可以改变映射。

如果你运行没有参数的程序,你会得到一个显示所有操纵杆的窗口系统中的设备(可以有多个)。当你双击其中一个,您将获得一个更新的窗口,其中包含有关其轴和按钮的详细信息。详细窗口中有两个按钮,称为“映射”和“校准”,即允许您重新指定设备。

如果您以设备作为参数运行程序(例如/ dev / input / js0),您将直接获取该设备的详细窗口,而无需获取整个列表系统中的操纵杆。

轴的校准包含在一个简单的窗口中,您可以在其中设置值直接进入操作系统配置,而不对它们进行任何更改。它们分为范围和死区(或中心)。在他们两个中你必须设置一个最小和最大。您还有一个用于反转轴的复选框。

在您修改它们的同一瞬间更改和应用值,没有必要用于单击任何位置或执行任何其他操作以应用更改。

3)安装:

在终端输入:

$ sudo apt-get update$ sudo apt-get install jstest-gtk

2、问题描述与解决:

注:若是没有遇到此类问题,或是jstest-gtk可以直接识别方向盘,可以忽略此条内容

1)描述:

在Ubuntu 16.04系统中,接入G920方向盘之后,打开jstest-gtk,结果显示不出来方向盘的信息。Joystick Preferences是jstest-gtk的显示面板,这时面板什么都没显示,说明出问题了。

图一

2)猜想:

A.Ubuntu系统是否支持Logitech G920 方向盘呢?

做法1:在终端输入lsusb,列出接入电脑端口的所有硬件设备,输出的信息有一行是:

ID 046D:c261 Logitech,Inc

这说明G920方向盘是接入到电脑端口了。

做法2:在终端输入dmesg(Linux的dmesg命令,显示Linux内核的环形缓冲区信息,可以从中获取诸如系统架构,CPU,挂载的硬件,RAM等多个运行级别的大量的系统信息。笼统地说,显示Linux系统设备启动项。)

对于Logitech G920的显示信息如下:

[  784.855156] usb 1-2: new full-speed USB device number 5 using xhci_hcd

[  785.004781] usb 1-2: New USB device found, idVendor=046d, idProduct=c261

[  785.004787] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[  785.004792] usb 1-2: Product: G920 Driving Force Racing Wheel for Xbox One

[  785.004796] usb 1-2: Manufacturer: Logitech

[  785.004800] usb 1-2: SerialNumber: 0000b450139a7734

以上两个做法,结果都说明G920方向盘是接入到系统的,但是jstest-gtk就是识别不出来。

B.可不可以线不用jstest-gtk测试方向盘,直接运行程序呢?

做法:服务器电脑Carla系统运行起来, 我们在终端输入:

$ cd Carla_Python_Client     $ ./manual_control_steeringwheel.py  --host <服务器电脑地址>

显示的信息;

Welcome to CARLA manual control with steering wheel Logitech G29.

To drive start by preshing the brake pedal.

Change your wheel_config.ini according to your steering wheel.

To find out the values of your steering wheel use jstest-gtk in Ubuntu.

WARNING: Version mismatch detected: You are trying to connect to a simulator that might be incompatible with this API

WARNING: Client API version     = 0.9.4-84-g889b998-dirty

WARNING: Simulator API version  = 0.9.4-118-g3c18dee-dirty

Traceback (most recent call last):

File "./manual_control_steeringwheel.py", line 859, in <module>

main()

File "./manual_control_steeringwheel.py", line 851, in main

game_loop(args)

File "./manual_control_steeringwheel.py", line 781, in game_loop

controller = DualControl(world, args.autopilot)

File "./manual_control_steeringwheel.py", line 225, in __init__

self._joystick = pygame.joystick.Joystick(0)

pygame.error: Invalid joystick device number

最后一行,pygame.error: Invalid joystick device number,说明操纵杆设备号无效,这说明程序也识别不到方向盘。

3)解决方案:

A.网上搜索,有些人说只是把方向盘从电脑上拔掉,再插上,反复多试几次,jstest-gtk就可以识别方向盘了。但是我这样试了很多次都无果。

B.这时我想到了Windows,因为G920 方向盘接入Windows系统时,需要下载对应的驱动,也就是Logitech游戏软件,才得以让方向盘在电脑上正常使用。

重启电脑,进入Windows系统,打开之前下载好的Logitech游戏软件,因为下载了这个软件,进行一些识别与设置,方向盘才可以在Windows系统里正常使用。软件在Logitech官网上有,下载方向盘对应的版本即可。

图二

图一显示的是软件主界面,踏板和方向盘。

我点开方向盘,继续摸索,也从网上查资料,谨慎设置,改变参数或者属性,其实设置之后可以恢复默认设置的,不用担心改了之后回不来默认。

图三

图三显示的是打开方向盘之后的详细信息,鼠标移到哪个操作按钮上,对应按钮会凸出亮起图三就是鼠标移动到方向盘,然后方向盘亮起。双击亮起的方向盘按钮,如图四:

图四

图四是我改的是灵敏度和方向盘移动范围,启用力回馈游戏中的中心弹力和中心弹力10%是默认的。其他的选项根据自己需要来更改或是默认,然后我在BeamNG.drive.v0.8.0.1游戏里测试方向盘。

其他的没有说明可设置的了,重启电脑,进入Ubuntu系统。喜出望外,jstest-gtk识别出来方向盘了。如图五:

图五

图六

图五中双击识别的方向盘,显示Mapping和Calibration,分别点击他们,就可以来调校方向盘。

注:比较有意思的是,在jstest-gtk识别出方向盘后,在终端输入lsusb,结果输出为:

ID 046D:c262 Logitech,Inc

3、运行方向盘程序

1)问题:

服务器电脑运行Carla。

在终端输入:

$ cd Carla_Python_Client         $ ./manual_control_steeringwheel.py  --host <服务器地址>

运行结果出错,错误信息为:

Welcome to CARLA manual control with steering wheel Logitech G29.

To drive start by preshing the brake pedal.

Change your wheel_config.ini according to your steering wheel.

To find out the values of your steering wheel use jstest-gtk in Ubuntu.

WARNING: Version mismatch detected: You are trying to connect to a simulator that might be incompatible with this API

WARNING: Client API version     = 0.9.4-84-g889b998-dirty

WARNING: Simulator API version  = 0.9.5-1-g4d1230e-dirty

Traceback (most recent call last):

File "./manual_control_steeringwheel.py", line 863, in <module>

main()

File "./manual_control_steeringwheel.py", line 855, in main

game_loop(args)

File "./manual_control_steeringwheel.py", line 790, in game_loop

world.tick(clock)

File "./manual_control_steeringwheel.py", line 180, in tick

self.hud.tick(self, clock)

File "./manual_control_steeringwheel.py", line 426, in tick

'Map:     % 20s' % world.world.map_name,

AttributeError: 'World' object has no attribute 'map_name'

这是因为:

map_name was removed from world, use world.get_map().name

同时,也需要根据测试的方向盘来设置wheel_config.ini的参数。

2)解决方案:

Ctrl+Alt+t 打开新的终端

在终端输入:

$ cd Carla_Python_Client          $ gedit manual_control_steeringwheel.py         $ gedit wheel_config.ini           

图七是我根据jstest-gtk测试的来的参数,其中reverse和handbrake是默认的,steering,throttle和brake是分别对应于jstest-gtk的Axis 0,Axis 1和Axis 2.。

图七

在manual_control_steeringwheel.py第424行,将world.world.map_name改为world.world.get_map().name

当前终端再输入:

$ ./manual_control_steeringwheel.py  --host <服务器地址>

成功,如图七,此时可以用方向盘控制车子了。

图八

此时控制车子的面板左边,显示的是当前客户端、服务器的fps,以及油门,刹车,方向盘,倒挡,手刹的各项信息,我们需要根据其显示的限度来调整自己的方向盘驾驶车辆。

注:补充我这些天发现的一点问题。

当把方向盘从电脑上拔下来,

1、三天以上未连接到电脑

2、连接到另外一台电脑,但是这台电脑没有经过前面的操作,读不出来方向盘

这时候,再将方向盘插回到原先的电脑,Ubuntu系统读不出来方向盘了。

解决方法:

重启到电脑到Windows系统下,打开Logitech 游戏软件,进行参数修改,然后再改回来,刷新一下。再重启系统到Ubuntu,这下就可以识别方向盘了。但是有时候,在Windows下通过Logitech游戏软件设置的方向盘旋转角度,一次重启后方向盘还是会恢复到默认的900度,虽然游戏软件显示的仍然是我设置的450度,重新启动Windows和Ubuntu系统一两遍,解决问题。

在Ubuntu 16.04系统中,将Logitech G920方向盘连接到Carla服务器相关推荐

  1. linux下如何安装自带编译器的codeblocks,在Ubuntu 16.04系统中使用PPA源安装Code Blocks的方法...

    本文介绍在Ubuntu 16.04操作系统中使用PPA源安装Code Blocks的方法,可以先参考在Ubuntu系统中安装Code::Blocks的方法一文. 使用PPA源安装Code Blocks ...

  2. Ubuntu 16.04系统中利用CUDA安装更新NVIDIA显卡驱动程序的方法

    严正声明:本文系作者davidhopper原创,未经许可,不得转载. 在ThinkPad系列笔记本电脑中使用过Ubuntu 16.04系统的同学都知道,NVIDIA显卡驱动程序特别难安装.以我使用的T ...

  3. linux升级安装失败,更新Ubuntu 16.04系统中安装Adobe Flash更新失败的解决

    最近在更新 Ubuntu 16.04系统的时候,发现总是在安装 Adobe Flash更新的时候失败,提示如下信息: 正在处理用于 update-notifier-common (3.168.5) 的 ...

  4. ubuntu 16.04系统中nvidai、cuda、cudnn安装及注意事项

    一.NVIDAI driver显卡驱动安装 首先看一下笔记本显卡型号 lspci |grep VGA 在命令行敲过这个命令后,有些台式机或笔记本会显示nvidia显卡,如下所示: 但是我的笔记本电脑 ...

  5. Ubuntu 16.04系统中编译安装FFmpeg 4.2.1(Android NDK r20)

    1.下载FFmpeg 4.2.1的源码,下载Android NDK r20,安装yasm sudo apt-get install yasm 2.解压缩源码包和Android NDK 3.修改ffmp ...

  6. xmpp安装到Linux服务器,在Ubuntu 18.04/16.04系统中安装Ejabberd XMPP Server的方法

    本文介绍在Ubuntu 18.04.Ubuntu 16.04系统中安装Ejabberd XMPP Server的方法,我们将从二进制安装程序安装ejabberd,它提供了一个功能齐全的ejabberd ...

  7. linux终端装什么系统下载软件,在Ubuntu 18.04系统中下载安装Termite终端的方法

    以下介绍在Ubuntu 18.04系统或是Ubuntu 16.04系统中安装Termite终端的方法,目前Termite在默认存储库中不可用,必须从源代码安装.Termite是一个以键盘为中心的基于V ...

  8. Ubuntu 16.04系统下CUDA8.0配置Caffe教程

    由于最近安装了Ubuntu 16.04,本文教程的特点是不需要降级gcc的版本,毕竟cuda8.0已经支持gcc5以上(默认不支持,实际支持). 本文是在参考caffe官网教程以及http://www ...

  9. 关于Ubuntu 16.04系统挂载硬盘以及迁移MYSQL数据存储目录的操作步骤

    转载链接 : 关于Ubuntu 16.04系统挂载硬盘以及迁移MYSQL数据存储目录的操作步骤 :https://www.jianshu.com/p/58093888ee25 本文背景: 现有项目系统 ...

最新文章

  1. mysql语句_Mysql语句
  2. 大整数乘法(POJ2389)
  3. 点击Result list里product ID出现白屏的又一原因及分析
  4. LeetCode 第 21 场双周赛(779/1913,前40.7%)
  5. springMVC接受参数总结
  6. WCF Error: 客户端配置部分中,找不到引用协定{0}的默认终结点元素……
  7. 解决ajax请求返回Json无法解析\字符的问题
  8. python递增文件名_python-文件存在时文件名中的数字递增
  9. SRMD:Learning a Single Convolutional Super-Resolution Network for Multiple Degradations
  10. android管理交换机,用手机android超级终端 如何开启交换机端口
  11. 一个440MHz的 VGA电路设计与仿真
  12. Gerrit用户登录显示Forbidden
  13. smartbi连接mysql数据库_数据源连接 - Smartbi V7 帮助中心 - Smartbi 在线知识中心
  14. 软考分类精讲-知识产权与标准化
  15. 企立方:拼多多开店能不能赚钱
  16. LM2596 负载增大,电压降低的问题
  17. Android窗口Window的创建(悬浮窗)
  18. 找完数 ,格式为“完数 = 因子1 + 因子2 + ... + 因子k”
  19. CleanMyMac X激活码免费版安装包MAC清理工具
  20. 从MYSQL 数据库归档 到 归档设计

热门文章

  1. mac + iterm + 远程开发 快捷键和工具--戴上手套搬砖
  2. 过来人对于在校生找工作的一点看法
  3. 【RAC】参数CLUSTER_INTERCONNECTS
  4. Java程序员该如何规划自己的职业发展方向
  5. Ijkplay视频播放简单快速集成
  6. 痞子衡嵌入式:RT-MFB - 一种灵活的i.MXRT下多串行NOR Flash型号选择的量产方案
  7. csv文件转换为txt格式
  8. AndroidStudio 格式化代码
  9. 欧洲首发G5实现自我破局第一步,雅迪开始走出“舒适区”
  10. 基于springboot的自动排课系统