Mission file: missions/mapir_sancho_demo_lab236/sancho_pf_reactive_gui.moos



Mission file Short description Modules
missions/mapir_sancho_demo_lab236/sancho_pf_reactive_gui.moos (no description) GenericSensor , JoystickControl , LocalizationFusion, LocalizationPF, MobileRobot_Pioneer , MOOSDB, NavigatorReactivePTG , Neck , RobotGUI2010

Mission modules graph:

Raw file contents:

/////////////////////////////////////////////////////////////////////////////
// Antler configuration  block
//
// This file is part of the OpenMORA (Open MObile Robotics Arquitecture)
//   http://babel.isa.uma.es/mora/
/////////////////////////////////////////////////////////////////////////////



ProcessConfig = ANTLER
{
	MSBetweenLaunches 	= 200
	ExecutablePath		= 
	
	//crucial processes

	Run = MOOSDB        @  NewConsole = false

	Run = pGenericSensor       @	NewConsole=false ~ LASER_FRONT
	Run = pGenericSensor       @	NewConsole=false ~ LASER_REAR
	Run = pGenericSensor       @	NewConsole=false ~ LASER_VERT
//	Run = pGenericSensor       @	NewConsole=true ~ SONAR_RIG
	Run = pMobileRobot_Pioneer @	NewConsole=false

	Run = pLocalizationPF        @   NewConsole =false
	Run = pLocalizationFusion     @   NewConsole =false

	Run = pJoystickControl     @   NewConsole =false
	Run = pNavigatorReactivePTG  @   NewConsole =false
	Run = pNeck       @       NewConsole=false

	Run = iRobotGUI2010     @   NewConsole =false
	
	// MOOS-Scope: Visualizer of MOOS-DB	
//	Run = uMS       @       NewConsole=false
}

ProcessConfig = pMobileRobot_Pioneer
{
	CommsTick = 15
	AppTick = 15

	driver			= CActivMediaRobotBase

	robotPort_WIN 		= COM1
	robotPort_LIN 		= /dev/ttyUSB0
	robotBaud		= 115200

	enableSonars        	= 1     ; 0:Disabled (default), 1: Enabled
}

ProcessConfig = pLocalizationFusion
{
	CommsTick = 30
	AppTick = 30
}

ProcessConfig = pLocalizationPF
{
	CommsTick = 4
	AppTick = 3

	// The map used as a reference for localization
	// ---------------------------------------------------------
	// If "simplemap_file" is present, the other map entries are ignored.
	simplemap_file = 26_MAY_2009_sancho_lab_seminario_pasillo.simplemap

	//gridmap_image_file	= example_map1.png
	//gridmap_image_res	= 0.05		// Resolution: Size of each pixel (meters)
	//gridmap_image_cx	= 100		// Pixel coordinates of the origin (0,0)
	//gridmap_image_cy	= 100		//  If not present, use the image center.

	// Initial uniform distribution:
	X_MIN		= -2
	X_MAX		= 2
	Y_MIN		= -2
	Y_MAX		= 2

	// Number of initial particles
	sampleSize=200000

	// The Particle Filter algorithm:
	//	0: pfStandardProposal	  ***
	//	1: pfAuxiliaryPFStandard
	//	2: pfOptimalProposal    
	//	3: pfAuxiliaryPFOptimal	  ***
	//
	PF_algorithm=0

	// The Particle Filter Resampling method:
	//	0: prMultinomial
	//	1: prResidual
	//	2: prStratified
	//	3: prSystematic
	resamplingMethod=0

	// Set to 1 to enable KLD adaptive sample size:
	adaptiveSampleSize=1

	// Only for algorithm=3 (pfAuxiliaryPFOptimal)
	pfAuxFilterOptimal_MaximumSearchSamples=250

	// Resampling threshold
	BETA=0.5

	// KLD-sampling
	KLD_binSize_PHI_deg=2.5
	KLD_binSize_XY=0.07
	KLD_delta=0.01
	KLD_epsilon=0.01
	KLD_maxSampleSize=40000
	KLD_minSampleSize=150

	// ====================================================
	//            MULTIMETRIC MAP CONFIGURATION
	// ====================================================
//	[MetricMap]
	// Creation of maps:
	occupancyGrid_count = 1 
	gasGrid_count       = 0
	landmarksMap_count  = 0
	pointsMap_count     = 0
	beaconMap_count     = 0

	// Selection of map for likelihood: (fuseAll=-1,occGrid=0, points=1,landmarks=2,gasGrid=3)
	likelihoodMapSelection=-1

	// ====================================================
	//   MULTIMETRIC MAP: OccGrid #00
	// ====================================================
	// Creation Options for OccupancyGridMap 00:
	//	[MetricMap_occupancyGrid_00_creationOpts]
	resolution=0.05

	// Insertion Options for OccupancyGridMap 00:
	//	[MetricMap_occupancyGrid_00_insertOpts]
	mapAltitude=0
	useMapAltitude=0
	maxDistanceInsertion=15
	maxOccupancyUpdateCertainty=0.55
	considerInvalidRangesAsFreeSpace=0
	minLaserScanNoiseStd=0.001

	// Likelihood Options for OccupancyGridMap 00:
	//	[MetricMap_occupancyGrid_00_likelihoodOpts]
	likelihoodMethod=4		// 0=MI, 1=Beam Model, 2=RSLC, 3=Cells Difs, 4=LF_Trun, 5=LF_II

	LF_decimation=20
	LF_stdHit=0.20
	LF_maxCorrsDistance=0.30
	LF_zHit=0.95
	LF_zRandom=0.05
	LF_maxRange=80
	LF_alternateAverageMethod=0
}


ProcessConfig = pJoystickControl
{
	CommsTick = 10
	AppTick = 10

	max_v	= 0.3	// Maximum linear speed (m/s)
	max_w	= 40	// Maximum angular speed (deg/s)
}

ProcessConfig = SONAR_RIG
{
	CommsTick = 10
	AppTick = 10

	driver			= CBoardSonars
	process_rate		= 10		; Hz

	sensorLabel  		= SONAR1

	USB_serialNumber	= SONAR001
	gain			= 6	; Value between 0 and 16, for analog gains between 40 and 700.
	maxRange		= 4.0	; In meters, used for device internal timer.
	minTimeBetweenPings	= 0.3  ; In seconds

	; The order in which sonars will be fired, indexed by their I2C addresses [0,15]
	;  Up to 16 devices, but you can put any number of devices (from 1 to 16).
	firingOrder=0 1 2 3
}


ProcessConfig = LASER_FRONT
{
	CommsTick = 100
	AppTick = 100


	driver			= CHokuyoURG
	process_rate		= 90		; Hz
	grab_decimation		= 3

	sensorLabel  		= LASER1
	pose_x			= 0.14	; Laser range scaner 3D position in the robot (meters)
	pose_y			= 0
	pose_z			= 0.29
	pose_yaw		= 0	; Angles in degrees
	pose_pitch		= 0
	pose_roll		= 0

	COM_port_WIN	= COM6
	COM_port_LIN	= ttyACM1

	// Optional: Exclusion zones to avoid the robot seeing itself:
	//exclusionZone1_x = -0.0.20 0.30 0.30 0.20
	//exclusionZone1_y = 0.20 0.30 0.30 0.20

	// Optional: Exclusion zones to avoid the robot seeing itself:
	exclusionAngles1_ini = 120  // Deg
	exclusionAngles1_end =-120  // Deg

}

ProcessConfig = LASER_REAR
{
	CommsTick = 100
	AppTick = 100

	driver			= CHokuyoURG
	process_rate		= 90		; Hz
	grab_decimation		= 3

	sensorLabel  		= LASER2
	pose_x			= -0.23	; Laser range scaner 3D position in the robot (meters)
	pose_y			= 0
	pose_z			= 0.29
	pose_yaw		= 180	; Angles in degrees
	pose_pitch		= 0
	pose_roll		= 0

	COM_port_WIN	= COM7
	COM_port_LIN	= ttyACM2

	exclusionAngles1_ini = 90  // Deg
	exclusionAngles1_end =-90  // Deg
}

ProcessConfig = LASER_VERT
{
	CommsTick = 100
	AppTick = 100


	driver			= CHokuyoURG
	process_rate		= 90		; Hz
	grab_decimation		= 3

	sensorLabel  		= LASER3
	pose_x			= 0.22	; Laser range scaner 3D position in the robot (meters)
	pose_y			= 0
	pose_z			= 0.85
	pose_yaw		= 0	; Angles in degrees
	pose_pitch		= 69
	pose_roll		= 0

	COM_port_WIN	= COM6
	COM_port_LIN	= ttyACM0

}


ProcessConfig = iRobotGUI2010
{
	CommsTick = 15
	AppTick = 15

}


ProcessConfig = pNavigatorReactivePTG
{
	CommsTick = 10
	AppTick = 10

	//[ROBOT_NAME]

	Name=SANCHO

	//[GLOBAL_CONFIG]
	// 0: VFF,  1: ND
	HOLONOMIC_METHOD=1
	debugWindows=0
	ALARM_SEEMS_NOT_APPROACHING_TARGET_TIMEOUT=100

	// ----------------------------------------------------
	//	Parameters for the "Nearness diagram" Holonomic method
	// ----------------------------------------------------
	//[ND_CONFIG]
	factorWeights=[1.0,0.5,2.0,0.4]
	// 1: Free space
	// 2: Dist. in sectors
	// 3: Closer to target (euclidean)
	// 4: Hysteresis

	WIDE_GAP_SIZE_PERCENT=0.50
	MAX_SECTOR_DIST_FOR_D2_PERCENT=0.25
	RISK_EVALUATION_SECTORS_PERCENT=0.25
	RISK_EVALUATION_DISTANCE=0.15		
	TARGET_SLOW_APPROACHING_DISTANCE=1.00
	TOO_CLOSE_OBSTACLE=0.02	

	// ----------------------------------------------------
	//	Parameters for the navigation on the ROBOT
	// ----------------------------------------------------
	//[THE_ROBOT]
	weights=[0.5, 0.05, 0.5, 2.0, 0.5, 0.1]
	// 1: Free space
	// 2: Dist. in sectors			
	// 3: Heading toward target
	// 4: Closer to target (euclidean)
	// 5: Hysteresis
	// 6: Security Distance

	DIST_TO_TARGET_FOR_SENDING_EVENT=1.25	
	// Minimum. distance to target for sending the end event. Set to 0 to send it just on navigation end

	MinObstaclesHeight=0.08
	// Minimum coordinate in the "z" axis for an obstacle to be taken into account.

	MaxObstaclesHeight=1.20 		
	//Maximum coordinate in the "z" axis for an obstacle to be taken into account.

	robotMax_V_mps=0.50			
	//Speed limits

	robotMax_W_degps=40

	ROBOTMODEL_DELAY=0			
	// The delay until motor reaction

	ROBOTMODEL_TAU=0			
	// The TAU time constant of a first order lowpass filter

	MAX_REFERENCE_DISTANCE=4.50
	WIDE_GAP_SIZE_PERCENT=0.40
	RISK_EVALUATION_DISTANCE=0.5
	RISK_EVALUATION_SECTORS_PERCENT=0.20
	MAX_SECTOR_DIST_FOR_D2_PERCENT=0.25
	RESOLUCION_REJILLA_X=0.03
	RESOLUCION_REJILLA_Y=0.03

	PTG_COUNT=3

	// 		C-PTGs:
	// ------------------------------------
	PTG0_Type=1
	PTG0_nAlfas=300
	PTG0_v_max_mps=0.5
	PTG0_w_max_gps=40	Run = pNeck       @       NewConsole=false

	PTG0_K=1.0

	PTG1_Type=1
	PTG1_nAlfas=300
	PTG1_v_max_mps=0.3
	PTG1_w_max_gps=40
	PTG1_K=-1.0

	//	     a-A type PTGs:
	// ------------------------------------
	PTG2_Type=2
	PTG2_nAlfas=300
	PTG2_v_max_mps=0.5
	PTG2_w_max_gps=40
	PTG2_cte_a0v_deg=10
	PTG2_cte_a0w_deg=40

	RobotModel_shape2D_xs=[-0.3, 0.22, 0.22, -0.3]
	RobotModel_shape2D_ys=[0.24, 0.24, -0.24, -0.24]

}


ProcessConfig = pNeck
{
	CommsTick = 4
	AppTick = 4

	filterDepth = 10
	truncateFactor = 0.5
}






Page generated by Mooxygen 1.1.0 at Mon May 26 00:30:12 2014
Valid HTML 4.01 Transitional