Exemple #1
0
        /// <summary>
        /// Read the initial state for this feature from the Settings. This reads the
        /// state \vct{y}_i  and the robot position from which it was first
        /// observed, \vct{x}_p^{orig} . These are not stored in the class, so are
        /// returned as parameters.
        /// </summary>
        /// <param name="settings">The Settings class from which to read the data</param>
        /// <param name="yi">To be filled in with the initial feature state,  \vct{y}_i .</param>
        /// <param name="xp_orig">To be filled in with the robot position from which the feature was first observed,  \vct{x}_p^{orig} .</param>
        public void read_initial_state(Settings.Section section, Vector yi, Vector xp_orig)
        {
            ArrayList values;

            yi.Resize(FEATURE_STATE_SIZE);
            values = section.get_entry("yi");
            yi.ReadASCII((String)values[0]);

            uint size = get_motion_model().POSITION_STATE_SIZE;
            xp_orig.Resize(size);
            values = section.get_entry("xp_orig");
            xp_orig.ReadASCII((String)values[0]);
        }
Exemple #2
0
        /// <summary>
        /// Read the initial state vector and covariance from a stream. 
        /// Since state \f$ x_v \f$ and covariance \f$ P_{xx} \f$ are not stored in 
        /// the class, these are passed by reference to be filled in by this function.
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="initial_xv"></param>
        /// <param name="initial_Pxx"></param>
        public void read_initial_state(BinaryReader stream,
                                       ref Vector initial_xv,
                                       ref MatrixFixed initial_Pxx)
        {
            // Make sure the vector and matrix are the correct sizes
            initial_xv.Resize(STATE_SIZE);
            initial_Pxx.Resize(STATE_SIZE, STATE_SIZE);

            initial_xv.Fill(0.0f);
            initial_Pxx.Fill(0.0f);

            for (int r = 0; r < STATE_SIZE; r++)
                initial_xv[r] = stream.ReadSingle();

            for (int r = 0; r < STATE_SIZE; r++)
                for (int c = 0; c < STATE_SIZE; c++)
                    initial_Pxx[r, c] = stream.ReadSingle();
        }