///////////////////////////////////////////////
// Antler configuration block
ProcessConfig = ANTLER
{
MSBetweenLaunches = 200
ExecutablePath =
//crucial processes
Run = MOOSDB @ NewConsole =true
Run = pGenericSensor @ NewConsole=true ~ LASER_FRONT
Run = pGenericSensor @ NewConsole=false ~ LASER_REAR
Run = pGenericSensor @ NewConsole=true ~ KINECT
// Run = pGenericSensor @ NewConsole=false ~ LASER_BOTTOM
// Run = pGenericSensor @ NewConsole=true ~ SONAR_RIG
// Run = pGenericSensor @ NewConsole=false ~ IR_RIG
Run = pMobileRobot_Pioneer @ NewConsole=true
// Run = pMobileRobot_Simul @ NewConsole =false
// Run = pVision @ NewConsole =false
Run = iRobotGUI2010 @ NewConsole =false
// Run = pLookAtPoint @ NewConsole=false
Run = pLocalizationPF @ NewConsole =true
Run = pLocalizationFusion @ NewConsole =true
//Run = pJoystickControl @ NewConsole =false
Run = pNavigatorReactivePTG @ NewConsole =true
// Run = pNeck @ NewConsole=true
//Run = pDomotics_IpPower @ NewConsole=false
// MOOS-Scope: Visualizer of MOOS-DB
//Run = uMS @ NewConsole=false
}
ProcessConfig = pMobileRobot_Pioneer
{
CommsTick = 15
AppTick = 15
driver = CActivMediaRobotBase
robotPort_WIN = COM9
robotPort_LIN = /dev/ttyUSB0
robotBaud = 115200
enableSonars = 1 ; 0:Disabled (default), 1: Enabled
}
ProcessConfig = pLocalizationFusion
{
CommsTick = 30
AppTick = 30
}
ProcessConfig = pMobileRobot_Simul
{
CommsTick = 15
AppTick = 15
enable_laser = true
laser_fov_deg = 320 // FOV of the laser, in degrees
// Sensors to emulate on the robot
// ---------------------------------------------------------
show_3d = true // Whether to show the 3D window or not
// The map used to simulate laser scanners and/or sonars:
// ---------------------------------------------------------
// If "simplemap_file" is present, the other map entries are ignored.
simplemap_file = 26_MAY_2009_sancho_lab_seminario_pasillo.simplemap
//gridmap_image_file = newmapa.png
gridmap_image_res = 0.1 // 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.
}
ProcessConfig = pLocalizationPF
{
CommsTick = 2
AppTick = 2
// The map used as a reference for localization
// ---------------------------------------------------------
// If "simplemap_file" is present, the other map entries are ignored.
//simplemap_file = granada_22MAR2010.simplemap
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=20000
// 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.10
// 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 = LASER_FRONT
{
CommsTick = 100
AppTick = 200
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 = COM11
COM_port_LIN = ttyACM_FRONT
// 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 = 110 // Deg
exclusionAngles1_end =-110 // Deg
}
ProcessConfig = KINECT
{
CommsTick = 100
AppTick = 200
driver = CKinect
process_rate = 90 ; Hz
grab_decimation = 3
sensorLabel = KINECT1
pose_x = 0.19 ; Laser range scaner 3D position in the robot (meters)
pose_y = 0
pose_z = 1.09
pose_yaw = 0 ; Angles in degrees
pose_pitch = 0
pose_roll = 0
grab_image = flase // Grab the RGB image channel? (Default=true)
grab_depth = false // Grab the depth channel? (Default=true)
grab_3D_points = true // Grab the 3D point cloud? (Default=true) If disabled, points can be generated later on.
grab_IMU = false // Grab the accelerometers? (Default=true)
rows_to_include =[240 210 180 150 270 300 330 360]
only_one_of_each = 5
//COM_port_WIN = COM11
//COM_port_LIN = ttyACM_FRONT
}
ProcessConfig = LASER_REAR
{
CommsTick = 100
AppTick = 200
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 = COM12
COM_port_LIN = ttyACM_REAR
exclusionAngles1_ini = 90 // Deg
exclusionAngles1_end =-90 // Deg
}
ProcessConfig = LASER_BOTTOM
{
CommsTick = 100
AppTick = 200
driver = CHokuyoURG
process_rate = 90 ; Hz
grab_decimation = 4
sensorLabel = LASER3
pose_x = 0.15 ; Laser range scaner 3D position in the robot (meters)
pose_y = 0.17
pose_z = 0.02
pose_yaw = 0 ; Angles in degrees
pose_pitch = 0
pose_roll = 180
COM_port_WIN = COM6
COM_port_LIN = ttyACM_BOTTOM
exclusionAngles1_ini = 56 // Deg
exclusionAngles1_end =-130 // Deg
// 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
}
ProcessConfig = iRobotGUI2010
{
CommsTick = 4
AppTick = 4
// The 3D model of the robot (empty: default model)
//robot_3DS_model_file = ./mapir_sancho_robot.3ds.gz
}
ProcessConfig = pNavigatorReactivePTG
{
CommsTick = 10
AppTick = 10
obseravations_window_temporal_size = 3
// [xs...; ys...; zs...]
virtual_obstacles_file = lab_virtual_obs.txt
//[ROBOT_NAME]
Name=SANCHO
//[GLOBAL_CONFIG]
// 0: VFF, 1: ND
HOLONOMIC_METHOD=1
debugWindows=1
save_log = true
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.20 // 0.15
TARGET_SLOW_APPROACHING_DISTANCE=0.25
TOO_CLOSE_OBSTACLE=0.05 //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.7
//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.1
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.8
PTG0_w_max_gps=40 Run = pNeck @ NewConsole=false
PTG0_K=1.0
PTG1_Type=1
PTG1_nAlfas=300
PTG1_v_max_mps=0.4
PTG1_w_max_gps=40
PTG1_K=-1.0
// a-A type PTGs:
// ------------------------------------
PTG2_Type=2
PTG2_nAlfas=300
PTG2_v_max_mps=0.7
PTG2_w_max_gps=40
PTG2_cte_a0v_deg=30
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]
RobotModel_shape2D_xs=[-0.35, 0.35, 0.4, 0.35, -0.35]
RobotModel_shape2D_ys=[0.3, 0.3, 0, -0.3, -0.3]
}
ProcessConfig = pNeck
{
CommsTick = 10
AppTick = 10
filterDepth = 2
truncateFactor = 0.5
}
ProcessConfig = SONAR_RIG
{
CommsTick = 10
AppTick = 10
driver = CBoardSonars
process_rate = 10 ; Hz
sensorLabel = SONAR1
USB_serialNumber = SONAR001
gain = 5 // Value between 0 and 16, for analog gains between 40 and 700.
maxRange = 7.0 // In meters, used for device internal timer.
minTimeBetweenPings = 0.15 // 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 11 2 4 3 5 1 10 6 8 7 9
// The individual gains of the sonars, indexed by their I2C addresses [0x00, 0x16] Typical: 0x05
// Up to 16 devices, but you can put any number of devices (from 1 to 16).
sonarGains=5 5 5 5 5 5 3 3 3 3 5 5
// The poses of the sonars: x[m] y[m] z[m] yaw[deg] pitch[deg] roll[deg]
// Up to 16 devices, but you can put any number of devices (from 1 to 16).
pose0 = 0.2 -0.16 0.76 -10 0 0
pose1 = 0.2 0.16 0.76 10 0 0
pose2 = 0.2 -0.16 0.56 -5 0 0
pose3 = 0.2 0.16 0.56 5 0 0
pose4 = -0.03 0.2 0.76 90 0 0
pose5 = -0.03 -0.2 0.76 -90 0 0
pose6 = 0.2 0.19 0.12 2 0 0
pose7 = 0.2 -0.19 0.12 -2 0 0
pose8 = -0.27 -0.13 0.11 180 0 0
pose9 = -0.27 0.13 0.11 180 0 0
pose10 = -0.27 -0.13 0.55 180 0 0
pose11 = -0.27 0.13 0.55 180 0 0
}
ProcessConfig = IR_RIG
{
CommsTick = 20
AppTick = 20
driver = CBoardIR
process_rate = 10 ; Hz
sensorLabel = INFRARED1
COM_port_WIN = COM1
COM_port_LIN = ttyUSB1
baudRate = 4800
// The poses of the IR sensors: x[m] y[m] z[m] yaw[deg] pitch[deg] roll[deg]
// Up to 6 devices, but you can put any number of devices (from 1 to 16).
pose0 = -0.2 -0.1 0.05 180 0 0
pose1 = -0.2 +0.1 0.05 180 0 0
pose2 = 0.23 0.21 0.05 0 0 0
pose3 = 0.33 0.05 0.05 0 0 0
pose4 = 0.33 -0.05 0.05 0 0 0
pose5 = 0.23 -0.21 0.05 0 0 0
}
ProcessConfig = pDomotics_IpPower
{
CommsTick = 10
AppTick = 10
// IP address of the IP Power server
IP = 192.168.0.200
user = admin
password =
}
ProcessConfig = pLookAtPoint
{
CommsTick = 10
AppTick = 10
maxRotationSpeed = 120
maxAngleNeck = 10
}
ProcessConfig = pVision
{
CommsTick = 20
AppTick = 40
// If desired, some vision sub-modules can be set to be enabled at start-up
// (default is all disabled at start-up).
// One or more names, separated by spaces and/or commas, from this list:
// DISPLAY_IMAGE
// CAMSHIFT
active_modules =
//DISPLAY_IMAGE //DISPLAY_IMAGE //, CAMSHIFT
// -----------------------------------------------------------------
// MRPT's CCameraSensor-compatible configuration block to select
// which video source to open:
// -----------------------------------------------------------------
driver = CCameraSensor
sensorLabel = CAMERA1
grab_decimation = 3
//bumblebee_frame_width = 640
//bumblebee_frame_height = 480
// Type of camera driver:
grabber_type = opencv
// grabber_type = bumblebee
// grabber_type = ffmpeg
cv_camera_index = 0 // [opencv] Number of camera to open
// ffmpeg_url = /media/ALMACENAMIENTO/Videos/Bienvenidos.Al.Norte.avi // [ffmpeg] The video file or IP camera to open
// =============== Params for DISPLAY_IMAGE ====================
// =============== Params for CAMSHIFT ====================
// =============== Params for FACEDETECTOR ====================
cascadeName = ./haarcascade_frontalface_alt.xml
nestedCascadeName = ./haarcascade_eye_tree_eyeglasses.xml
useNestedCascade = 0
framesRepeatDetect = 200
scale = 1
thresholdSameFace = 1
scaleSearchFace = 0.6
numGeneralSearch = 4
displayMode = 1
traceMode = 1
thresholdExistFace = 3
minSizeDetector = 3
cameraIndex = 0
cameraWidth = 640
cameraHeight = 480
saveVideo = 0
neckTrackMode = true
neckMovFreq = 1
}
ProcessConfig = pCommon
{
num_actions = 11;;18
actions_names = SAY@MOVE@SAY_TIME@PAUSE_MOVE@RESUME_MOVE@TRACK_OBJECT@STOP_TRACK_OBJECT@PLAY_ITEM@HELLO@START@FIN@WAIT_TO_START@WAIT_TO_PRESENT@PRESENT@SAY_JOKES@END_SAY_JOKES@WAIT_TO_GO@LOOK_AT@PRESENCE_ALERT
num_elements = 1 //here by now, it should be published by the world model module
}