Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

likelihoodFieldSensorModel

Créer un modèle de capteur de plage de champ de vraisemblance

Depuis R2019b

Description

L'objet likelihoodFieldSensor crée un objet modèle de capteur de champ de vraisemblance pour les capteurs de distance. Cet objet contient des paramètres de modèle de capteur spécifiques. Vous pouvez utiliser cet objet pour spécifier les paramètres du modèle dans un objet monteCarloLocalization .

Création

Description

exemple

lf = likelihoodFieldSensorModel crée un objet modèle de capteur de champ de vraisemblance pour les capteurs de distance.

Propriétés

développer tout

Grille d'occupation représentant la carte, spécifiée comme un objet binaryOccupancyMap . Cet objet représente l'environnement du véhicule sous forme de grille avec des valeurs binaires indiquant les obstacles comme true (1) et les emplacements libres comme false (0).

Pose du capteur de distance par rapport au référentiel du véhicule, spécifié sous la forme d'un vecteur à trois éléments, [x y theta].

Portée minimale et maximale du capteur, spécifiée sous forme de vecteur à deux éléments en mètres.

Nombre de faisceaux utilisés pour le calcul de vraisemblance, spécifié sous forme de scalaire. L'efficacité du calcul peut être améliorée en spécifiant un nombre de faisceaux inférieur au nombre réel disponible auprès du capteur.

Écart type du bruit de mesure, spécifié sous forme de scalaire.

Pondération de la probabilité de mesure aléatoire, spécifiée sous forme scalaire. Ce scalaire est la probabilité que la mesure ne soit pas précise en raison d'interférences aléatoires.

Pondération de la probabilité de mesure attendue, spécifiée sous forme de scalaire. Le poids est la probabilité d'obtenir une mesure de distance correcte dans les limites de bruit spécifiées dans la propriété MeasurementNoise .

Distance maximale pour trouver les obstacles les plus proches, spécifiée sous forme de scalaire en mètres.

Exemples

réduire tout

Créez un objet monteCarloLocalization . Définissez la propriété UseLidarScan sur true.

mcl = monteCarloLocalization;
mcl.UseLidarScan = true;

Créez un objet likelihoodFieldSensorModel pour un capteur de distance. Attribuez le modèle de capteur avec une carte de grille d'occupation à l'objet monteCarloLocalization .

sm = likelihoodFieldSensorModel;
p = zeros(200,200);
sm.Map = occupancyMap(p,20);
mcl.SensorModel = sm;

Créez un exemple de données de numérisation laser.

ranges = 10*ones(1,300);
ranges(1,130:170) = 1.0;
angles = linspace(-pi/2,pi/2,300);
odometryPose = [0 0 0];

Créez un objet lidarScan en spécifiant les plages et les angles.

scan = lidarScan(ranges,angles);

Estimez la pose et la covariance du véhicule.

[isUpdated,estimatedPose,covariance] = mcl(odometryPose,scan)
isUpdated = logical
   1

estimatedPose = 1×3

    0.0350   -0.0126    0.0280

covariance = 3×3

    0.9946   -0.0012         0
   -0.0012    0.9677         0
         0         0    0.9548

Limites

Si vous changez de modèle de capteur après l'avoir utilisé avec l'objet monteCarloLocalization , appelez au préalable la fonction release sur cet objet. Par exemple:

mcl = monteCarloLocalization; 
[isUpdated,pose,covariance] = mcl(ranges,angles); 
release(mcl) 
mcl.SensorModel.NumBeams = 120;

Historique des versions

Introduit dans R2019b