Institut de Robòtica i Informàtica Industrial

DS_CO_ObsModel

PURPOSE ^

DS_CO_ObsModel constructor.

SYNOPSIS ^

function OM=DS_CO_ObsModel(varargin)

DESCRIPTION ^

   DS_CO_ObsModel constructor.

   Constructor of observation models (p(o|s))  with continuous state 
   spaces and discrete observation spaces.

   Parameters
     S: Discrete state space.
     O: Continuous observation space.
     p: One GMixture (in 'o') for each state.
   
   None of the experiments actually use this observatio model so it might
   include bugs. This is to be used when replication Hoey's IJCAI'05 work

CROSS-REFERENCE INFORMATION ^

This function calls:
  • size Returns the size of a policy.
  • ObsModel ObsModel constructor.
  • dim Dimensionality of a continuous space.
  • dim Dimensionality of a discrete space.
This function is called by:

SOURCE CODE ^

0001 function OM=DS_CO_ObsModel(varargin)
0002 %   DS_CO_ObsModel constructor.
0003 %
0004 %   Constructor of observation models (p(o|s))  with continuous state
0005 %   spaces and discrete observation spaces.
0006 %
0007 %   Parameters
0008 %     S: Discrete state space.
0009 %     O: Continuous observation space.
0010 %     p: One GMixture (in 'o') for each state.
0011 %
0012 %   None of the experiments actually use this observatio model so it might
0013 %   include bugs. This is to be used when replication Hoey's IJCAI'05 work
0014 
0015   switch nargin
0016     case 1
0017       if isa(varargin{1},'DS_CO_ObsModel')
0018         OM=varargin{1};
0019       else
0020         error('Wrong parameter type in DS_CO_ObsModel constructor');
0021       end
0022     case 3
0023       if isa(varargin{1},'DSpace')
0024         OM.S=varargin{1};
0025       else
0026         error('Wrong parameter type in DS_CO_ObsModel constructor');
0027       end
0028       if isa(varargin{2},'CSpace')
0029         OM.O=varargin{2};
0030       else
0031         error('Wrong parameter type in DS_CO_ObsModel constructor');
0032       end
0033       if isa(varargin{3},'cell')
0034         OM.p=varargin{3};
0035       else
0036         error('Wrong parameter type in DS_CO_ObsModel constructor');
0037       end
0038       
0039       if dim(OM.S)~=size(OM.p,2) 
0040         error('Size missmatch in DS_CO_ObsModel constructor');
0041       end
0042       
0043       OMBase=ObsModel();
0044       
0045       OM=class(OM,'DS_CO_ObsModel',OMBase);
0046       
0047     otherwise
0048       error('Wrong number of parameters in DS_CO_ObsModel constructor');
0049   end
0050


Institut de Robòtica i Informàtica Industrial

Generated on Wed 05-Aug-2009 15:05:21 by m2html © 2003