M-File Help: RangeBearingSensor View code for RangeBearingSensor

RangeBearingSensor

Range and bearing sensor class

A concrete subclass of the Sensor class that implements a range and bearing angle sensor that provides robot-centric measurements of point features in the world. To enable this it has references to a map of the world (Map object) and a robot moving through the world (Vehicle object).

Methods

reading range/bearing observation of random feature
h range/bearing observation of specific feature
Hx Jacobian matrix dh/dxv
Hxf Jacobian matrix dh/dxf
Hw Jacobian matrix dh/dw
g feature positin given vehicle pose and observation
Gx Jacobian matrix dg/dxv
Gz Jacobian matrix dg/dz

Properties (read/write)

W measurement covariance matrix (2x2)
interval valid measurements returned every interval'th call to reading()

Reference

Robotics, Vision & Control, Chap 6, Peter Corke, Springer 2011

See also

Sensor, Vehicle, Map, EKF


RangeBearingSensor.RangeBearingSensor

Range and bearing sensor constructor

s = RangeBearingSensor(vehicle, map, w, options) is an object representing a range and bearing angle sensor mounted on the Vehicle object vehicle and observing an environment of known landmarks represented by the map object map. The sensor covariance is R (2x2) representing range and bearing covariance.

Options

'range', xmax maximum range of sensor
'range', [xmin xmax] minimum and maximum range of sensor
'angle', TH detection for angles betwen -TH to +TH
'angle', [THMIN THMAX] detection for angles betwen THMIN and THMAX
'skip', I return a valid reading on every I'th call
'fail', [TMIN TMAX] sensor simulates failure between timesteps TMIN and TMAX

See also

Sensor, Vehicle, Map, EKF


RangeBearingSensor.g

Compute landmark location

p = S.g(xv, z) is the world coordinate (1x2) of a feature given the sensor observation z (1x2) and vehicle state xv (3x1).

See also

RangeBearingSensor.Gx, RangeBearingSensor.Gz


RangeBearingSensor.Gx

Jacobian dg/dx

J = S.Gx(xv, z) is the Jacobian dg/dxv (2x3) at the vehicle state xv (3x1) for sensor observation z (2x1).

See also

RangeBearingSensor.g


RangeBearingSensor.Gz

Jacobian dg/dz

J = S.Gz(xv, z) is the Jacobian dg/dz (2x2) at the vehicle state xv (3x1) for sensor observation z (2x1).

See also

RangeBearingSensor.g


RangeBearingSensor.h

Landmark range and bearing

z = S.h(xv, J) is a sensor observation (1x2), range and bearing, from vehicle at pose xv (1x3) to the map feature K.

z = S.h(xv, xf) as above but compute range and bearing to a feature at coordinate xf.

z = s.h(xv) as above but computer range and bearing to all map features. z has one row per feature.

Notes

See also

RangeBearingSensor.Hx, RangeBearingSensor.Hw, RangeBearingSensor.Hxf


RangeBearingSensor.Hw

Jacobian dh/dv

J = S.Hw(xv, k) is the Jacobian dh/dv (2x2) at the vehicle state xv (3x1) for map feature k.

See also

RangeBearingSensor.h


RangeBearingSensor.Hx

Jacobian dh/dxv

J = S.Hx(xv, k) returns the Jacobian dh/dxv (2x3) at the vehicle state xv (3x1) for map feature k.

J = S.Hx(xv, xf) as above but for a feature at coordinate xf.

See also

RangeBearingSensor.h


RangeBearingSensor.Hxf

Jacobian dh/dxf

J = S.Hxf(xv, k) is the Jacobian dh/dxv (2x2) at the vehicle state xv (3x1) for map feature k.

J = S.Hxf(xv, xf) as above but for a feature at coordinate xf (1x2).

See also

RangeBearingSensor.h


RangeBearingSensor.reading

Landmark range and bearing

[z,k] = S.reading() is an observation of a random landmark where z=[R,THETA] is the range and bearing with additive Gaussian noise of covariance R (specified to the constructor). k is the index of the map feature that was observed. If no valid measurement, ie. no features within range, interval subsampling enabled or simulated failure the return is z=[] and k=NaN.

See also

RangeBearingSensor.h


 

© 1990-2012 Peter Corke.