swarmsim.agent.control.HumanController#

Human Controller class.

class swarmsim.agent.control.HumanController.HumanController(agent=None, parent=None, joystick=0, keys='wasd', speed_range=(-0.3, 0.3), turn_range=(-1.5, 1.5), key_speed_mult=0.01, key_turn_mult=0.1, joy_speed_map=None, joy_turn_map=None, joy_deadzone=0.1, trigger_deadzone=0.03)[source]#

Controller taking input from a joystick or keyboard.

Parameters:
  • joystick (int, default=0) – Index of the controller to use. Set to None to disable.

  • keys (str, default='wasd') – The keys to use for movement. Can be None, ‘wasd’, ‘arrowkeys’, or ‘ijkl’.

  • speed_range (tuple, default=(-0.3, 0.3)) – The minimum and maximum speeds to map the joystick to.

  • turn_range (tuple, default=(-1.5, 1.5)) – The minimum and maximum angular velocities to map the joystick to.

  • key_speed_mult (float, default=0.01) – The speed multiplier for the keyboard keys.

  • key_turn_mult (float, default=0.1) – The turn multiplier for the keyboard keys.

  • joy_speed_map (None | tuple[tuple, tuple], default=None)

  • joy_turn_map (None | tuple[tuple, tuple], default=None)

  • joy_deadzone (float, default=0.1) – Deadzone for the joystick, between 0 and 1.

  • trigger_deadzone (float, default=0.03) – Deadzone for the trigger, between 0 and 1, where 0 is fully released.

Attributes:
joy_id
joy_speed_map
joy_turn_map
speed_range
turn_range

Methods

as_config_dict

draw

get_actions

handle_controller

handle_key_press

set_agent

set_parent

get_actions(agent)[source]#
handle_controller()[source]#
handle_key_press()[source]#
property joy_id[source]#
property joy_speed_map[source]#
property joy_turn_map[source]#
property speed_range[source]#
property turn_range[source]#
swarmsim.agent.control.HumanController.decay(x, decay=0.1)[source]#
swarmsim.agent.control.HumanController.trigger_remap(x)[source]#

Functions

decay(x[, decay])

Classes

HumanController([agent, parent, joystick, ...])

Controller taking input from a joystick or keyboard.