Reference Source Test
public class | source

InfraredDriver

Extends:

src/drivers/motion/MotionDriverSimulator.js~EventEmitter → InfraredDriver

Uses data from infrared sensors to determine where is an enemy robot and other obstacles.

Constructor Summary

Public Constructor
public

constructor(name: *)

Make instance of InfraredDriver.

Method Summary

Public Methods
public

Disable sensor

public

enable()

Enable sensor

Private Methods
private

processDetection(buffer: *)

Process detected obstacle

Public Constructors

public constructor(name: *) source

Make instance of InfraredDriver.

Check image bellow to understand sensorAngle, sensorX & sensorY
 s1   s2   s3
  \   |   /
 |---------|
 |  Robot  |
 |_|

 Sensor s1 params: sensorAngle~=110, sensorY~10, sensorX~=10
 Sensor s2 params: sensorAngle~=90, sensorY~=0, sensorX~=10
 Sensor s3 params: sensorAngle~=60, sensorY~=-10, sensorX~=10
 

Params:

NameTypeAttributeDescription
name *

{String} - Unique driver name

config.infraredMaxDistance *

{Number} - Maximum distance when driver detects an object

config.sensorAngle *

{Number} - Angle relative to the robot (look at the picture above)

config.sensorX *

{Number} - Sensor translated on x coordinate

config.sensorY *

{Number} - Sensor translated on y coordinate

config.cid *

{Number} - Function ID for CAN driver

config.objectSize *

{Number} - Approximation coefficient for obstacle size. Distance between edges and point of interest,

config['@dependencies'] *

{String} - ID of Driver can provide communication between core and electronics

Public Methods

public disable() source

Disable sensor

public enable() source

Enable sensor

Private Methods

private processDetection(buffer: *) source

Process detected obstacle

Params:

NameTypeAttributeDescription
buffer *

{Boolean} - Object is detected or not