Exemplo n.º 1
0
        /// <summary>
        /// load a robot design file
        /// </summary>
        /// <param name="filename"></param>
        public void LoadRobot(String filename)
        {
            if (rob.Load(filename))
            {
                motionModel motion_model = rob.GetBestMotionModel();

                txtName.Text                       = rob.Name;
                txtTotalMass.Text                  = Convert.ToString(rob.TotalMass_kg);
                txtNoOfThreads.Text                = Convert.ToString(rob.GetMappingThreads());
                txtBodyWidth.Text                  = Convert.ToString(rob.BodyWidth_mm);
                txtBodyLength.Text                 = Convert.ToString(rob.BodyLength_mm);
                txtBodyHeight.Text                 = Convert.ToString(rob.BodyHeight_mm);
                cmbBodyShape.SelectedIndex         = Convert.ToInt32(rob.BodyShape);
                cmbPropulsion.SelectedIndex        = rob.propulsionType;
                txtWheelBase.Text                  = Convert.ToString(rob.WheelBase_mm);
                txtWheelBaseForward.Text           = Convert.ToString(rob.WheelBaseForward_mm);
                txtWheelDiameter.Text              = Convert.ToString(rob.WheelDiameter_mm);
                cmbWheelFeedback.SelectedIndex     = rob.WheelPositionFeedbackType;
                txtGearRatio.Text                  = Convert.ToString(rob.GearRatio);
                txtCountsPerRev.Text               = Convert.ToString(rob.CountsPerRev);
                txtMotorNoLoadSpeedRPM.Text        = Convert.ToString(rob.MotorNoLoadSpeedRPM);
                txtMotorTorque.Text                = Convert.ToString(rob.MotorTorqueKgMm);
                txtCameraBaseline.Text             = Convert.ToString(rob.head.calibration[0].baseline);
                txtCameraFOV.Text                  = Convert.ToString(rob.head.calibration[0].leftcam.camera_FOV_degrees);
                txtRollAngle.Text                  = Convert.ToString(rob.head.calibration[0].positionOrientation.roll * 180.0f / (float)Math.PI);
                cmbHeadType.SelectedIndex          = rob.HeadType;
                txtHeadSize.Text                   = Convert.ToString(rob.HeadSize_mm);
                cmbHeadShape.SelectedIndex         = rob.HeadShape;
                txtHeadHeightFromGround.Text       = Convert.ToString(rob.head.z);
                txtHeadPositionLeft.Text           = Convert.ToString(rob.head.x);
                txtHeadPositionForward.Text        = Convert.ToString(rob.head.y);
                txtNoOfCameras.Text                = Convert.ToString(rob.head.no_of_stereo_cameras);
                cmbCameraOrientation.SelectedIndex = rob.CameraOrientation;

                txtGridLevels.Text                  = Convert.ToString(rob.LocalGridLevels);
                txtGridWidth.Text                   = Convert.ToString(rob.LocalGridDimension * rob.LocalGridCellSize_mm);
                txtGridHeight.Text                  = Convert.ToString(rob.LocalGridDimensionVertical * rob.LocalGridCellSize_mm);
                txtGridCellDimension.Text           = Convert.ToString(rob.LocalGridCellSize_mm);
                txtGridInterval.Text                = Convert.ToString(rob.LocalGridInterval_mm);
                txtMappingRange.Text                = Convert.ToString(rob.LocalGridMappingRange_mm);
                txtLocalGridLocalisationRadius.Text = Convert.ToString(rob.LocalGridLocalisationRadius_mm);
                txtTrialPoses.Text                  = Convert.ToString(motion_model.survey_trial_poses);
                txtCullingThreshold.Text            = Convert.ToString(motion_model.cull_threshold);
                chkEnableScanMatching.Checked       = rob.EnableScanMatching;

                updateSensorModelStatus();
            }
        }