Carla中的joystick(wheel)方向盘控制

 

init()  —  初始化 ,将会扫描系统上所有的游戏杆设备。
quit()  —  卸载
get_init()  —  如果 joystick 模块已经初始化,返回 True

get_name()  —  获得 Joystick 系统名称

get_id()  —  获得Joystick ID,每个joystick都是一个插入PC的设备
get_count()  —  获取游戏杆的数量

pygame.joystick.init()
joysticks = [pygame.joystick.Joystick(x) for x in range(pygame.joystick.get_count())]

 

axes是表示8个方向的方向杆还是wheel方向盘?带有轴的方向盘、脚踏板等
get_numaxes()  —  获得 Joystick 操纵轴的数量
get_axis()  —  获得操纵轴的当前坐标,一般有两个操纵轴用来表示坐标(rudders 和 throttles ),JOYAXISMOTION 的值是从 -1. 0到 1.0,0.0 表示轴在中间

numAxes = self._joystick.get_numaxes()

jsInputs = [float(self._joystick.get_axis(i)) for i in range(numAxes)]

 

从jsInput上下文可以看出,Axes表示带有轴的输入:

jsInputs[self._steer_idx]

jsInputs[self._throttle_idx]

jsInputs[self._brake_idx]

Custom function to map range of inputs [1, -1] to outputs [0, 1] i.e 1 from inputs means nothing is pressed

方向盘

y = tan(1.1 x)

油门、刹车

y = 1.6 + (2.05 log10(-0.7 * x + 1.4) - 1.2) / 0.92

y = 0 if y <= 0

y = 1 if y > 1

Carla中的joystick(wheel)方向盘控制_第1张图片
get_numbuttons()  —  获得 Joystick 上按钮的数量
get_button()  —  获得当前按钮状态

jsButtons = [float(self._joystick.get_button(i)) for i in range(self._joystick.get_numbuttons())]


hat(帽键)是指左侧的4向方向按键,还是像帽子一样的8向方向杆?像帽子一样的方向杆

每个帽键有两个轴作为输入,x 对应左右, y 对应上下。

Carla中的joystick(wheel)方向盘控制_第2张图片
get_numhats()  —  获得 Joystick 上帽键的数量
get_hat()  —  获得 的位置

(0, 0) 代表中间

(-1, 0) 代表左

(1, 0) 代表右

(0, 1) 代表上

(1, 1) 代表右上

 

 

 

你可能感兴趣的:(自动驾驶,Carla)