/////////////////////////////////////////////////////////////////////////////
// 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
}