コード例 #1
0
pylonDetection::pylonDetection(const tChar* __info) : cFilter(__info)
{
    targetPylon = Point2d(0,-1000);
//    pylonCertainty = 0;
    pylonLost = 0;
    sign = -1;

    turn_around = false;
    flip_sign = false;
    is_turning = false;

    type_sign  = -1;

    car_angle = 0.0;
    pylonDetectionCounter = 0;
    signDetectionCounter = 0;
    frameCounter = 0;
    SetPropertyStr("Color Calibration Parameters","/home/odroid/AADC/calibration_files/pylonCalibration.xml");
    SetPropertyBool("Color Calibration Parameters" NSSUBPROP_FILENAME, tTrue);
    SetPropertyStr("Color Calibration Parameters" NSSUBPROP_FILENAME NSSUBSUBPROP_EXTENSIONFILTER, "XML Files (*.xml)");
    SetPropertyStr("Camera Calibration Parameters","/home/odroid/AADC/calibration_files/cameraParameters.xml");
    SetPropertyBool("Camera Calibration Parameters" NSSUBPROP_FILENAME, tTrue);
    SetPropertyStr("Camera Calibration Parameters" NSSUBPROP_FILENAME NSSUBSUBPROP_EXTENSIONFILTER, "XML Files (*.xml)");
    SetPropertyInt("Debug Image",3);
    SetPropertyStr("Debug Image" NSSUBPROP_VALUELIST, "1@Threshold|2@Color|3@Model|4@Off|");

    SetPropertyInt("Speed turning",35);
    SetPropertyInt("Speed driving",35);
    SetPropertyFloat("Curvature Gain",1.0);
    SetPropertyFloat("Curvature Gain" NSSUBPROP_REQUIRED, tTrue);
    SetPropertyFloat("Angular Gain",2.0);
    SetPropertyFloat("Angular Gain" NSSUBPROP_REQUIRED, tTrue);
}
コード例 #2
0
ファイル: UltrasonicACC.cpp プロジェクト: FAUtonOHM/AADC_2016
UltrasonicACC::UltrasonicACC(const tChar* __info) : cFilter(__info) {


	/* create the filter properties */
	SetPropertyStr(USACC_CONFIG_DRIVING_FILE, "../../../../utilities/UltrasonicACC/UltrasonicACC.xml");
	SetPropertyBool(USACC_CONFIG_DRIVING_FILE NSSUBPROP_FILENAME, tTrue);
	SetPropertyStr(USACC_CONFIG_DRIVING_FILE NSSUBPROP_FILENAME NSSUBSUBPROP_EXTENSIONFILTER, "XML Files (*.xml)");
	SetPropertyStr(USACC_CONFIG_DRIVING_FILE NSSUBPROP_DESCRIPTION, "The XML defining the behaviour for the DRIVING MODE of the ACC has to be set here");

	SetPropertyStr(USACC_CONFIG_PARKING_FILE, "../../../../utilities/UltrasonicACC/UltrasonicACC_Parking.xml");
	SetPropertyBool(USACC_CONFIG_PARKING_FILE NSSUBPROP_FILENAME, tTrue);
	SetPropertyStr(USACC_CONFIG_PARKING_FILE NSSUBPROP_FILENAME NSSUBSUBPROP_EXTENSIONFILTER, "XML Files (*.xml)");
	SetPropertyStr(USACC_CONFIG_PARKING_FILE NSSUBPROP_DESCRIPTION, "The XML defining the behaviour for the PARKING MODE of the ACC has to be set here");

	SetPropertyBool(USACC_DEBUG_XML_BORDER_WARNING, tFalse);
	SetPropertyStr(USACC_DEBUG_XML_BORDER_WARNING NSSUBPROP_DESCRIPTION, "If enabled a warning is printed to console each time the border points of the given xml are reached");

	SetPropertyBool(USACC_DEBUG_PRINT_INITIAL_TABLE, tFalse);
	SetPropertyStr(USACC_DEBUG_PRINT_INITIAL_TABLE NSSUBPROP_DESCRIPTION, "If enabled the loaded points of the interpolation table of the XML are printed to console");

	SetPropertyInt(USACC_COUNTER_THRESHOLD_NOMOVE,3);//noMovementThreshold
	SetPropertyStr(USACC_COUNTER_THRESHOLD_NOMOVE NSSUBPROP_DESCRIPTION, "Defines the approximate time in seconds that should be waited until Feedback 'NoMovement' is sent");

	SetPropertyInt(USACC_COUNTER_THRESHOLD_MOVEAGAIN,1);//MovementAgainThreshold
	SetPropertyStr(USACC_COUNTER_THRESHOLD_MOVEAGAIN NSSUBPROP_DESCRIPTION, "Defines the approximate time in seconds that should be waited until Feedback 'MovingAgain' is sent");

	SetPropertyFloat(USACC_LOWERBOUND_SPEED,0.05); //modifiedSpeedLowerBound
	SetPropertyStr(USACC_LOWERBOUND_SPEED NSSUBPROP_DESCRIPTION,"Defines the remaining value of speed that is seen as 'no movement'.");

	SetPropertyInt(USACC_SENSOR_SCALING_FRONT,15);
	SetPropertyInt(USACC_SENSOR_SCALING_FRONT NSSUBPROP_MIN,15);
	SetPropertyInt(USACC_SENSOR_SCALING_FRONT NSSUBPROP_MAX,60);
	SetPropertyStr(USACC_SENSOR_SCALING_FRONT NSSUBPROP_DESCRIPTION, "With value 30, the sensor pointing in direction of current steering angle is weighted with '1', while the two sensors next to it are weighted with '0.5'; "
			"DECREASING this value leads to steeper slope of weighting function, that means sensors next to 'main'-sensor are weighted LESS, e.g. with 15: only main sensor is taken into account!");

	SetPropertyInt(USACC_SENSOR_SCALING_REAR,20);
	SetPropertyInt(USACC_SENSOR_SCALING_REAR NSSUBPROP_MIN,15);
	SetPropertyInt(USACC_SENSOR_SCALING_REAR NSSUBPROP_MAX,60);
	SetPropertyStr(USACC_SENSOR_SCALING_REAR NSSUBPROP_DESCRIPTION, "With value 30, the sensor pointing in direction of current steering angle is weighted with '1', while the two sensors next to it are weighted with '0.5'; "
			"DECREASING this value leads to steeper slope of weighting function, that means sensors next to 'main'-sensor are weighted LESS, e.g. with 15: only main sensor is taken into account!");

	SetPropertyFloat(USACC_SENSOR_FRONT_CHECK_LIMIT, 0.4);
	SetPropertyFloat(USACC_SENSOR_FRONT_CHECK_LIMIT NSSUBPROP_MIN,0.0);
	SetPropertyFloat(USACC_SENSOR_FRONT_CHECK_LIMIT NSSUBPROP_MAX,1.5);
	SetPropertyStr(USACC_SENSOR_FRONT_CHECK_LIMIT NSSUBPROP_DESCRIPTION, "US values greater this property are ignored, area should then be checked with 3D camera (values in meter)");

	SetPropertyBool(USACC_DEBUG_OUTPUT_TO_CONSOLE,tFalse);
	SetPropertyStr(USACC_DEBUG_OUTPUT_TO_CONSOLE NSSUBPROP_DESCRIPTION, "If enabled additional debug information is printed to the console (Warning: decreases performance)");

	SetPropertyBool(USACC_EXT_DEBUG_OUTPUT_TO_CONSOLE,tFalse);
	SetPropertyStr(USACC_EXT_DEBUG_OUTPUT_TO_CONSOLE NSSUBPROP_DESCRIPTION, "If enabled all US values are printed to the console (Warning: decreases performance)");


	m_bdebugModeEnabled = tFalse;
	m_bextendedDebugModeEnabled = tFalse;
	/* initialize to neutral mid-setting, corresponds to an angle of zero degree */
	tmp_steeringAngle.f32_value = 90;
}
コード例 #3
0
void TemporalImage::InitializeProperties()
{
    bufferSize = 5;
    method = METHOD_MEAN;

    SetPropertyInt(BUFFER_SIZE_PROPERTY, bufferSize);
    SetPropertyBool(BUFFER_SIZE_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(BUFFER_SIZE_PROPERTY NSSUBPROP_DESCRIPTION, "Buffer Size");
    SetPropertyInt(BUFFER_SIZE_PROPERTY NSSUBPROP_MIN, 0);
    SetPropertyInt(BUFFER_SIZE_PROPERTY NSSUBPROP_MAX, 255);

    SetPropertyInt(METHOD_PROPERTY, method);
    SetPropertyBool(METHOD_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(METHOD_PROPERTY NSSUBPROP_VALUELIST, "1@Mean|2@And|3@Or");
    SetPropertyStr(METHOD_PROPERTY NSSUBPROP_DESCRIPTION, "Defines method which is used to create the output image");
}
コード例 #4
0
cUserAttitudeFilter::cUserAttitudeFilter(const tChar* __info) : cFilter(__info)
{

	m_bDebugModeEnabled = tFalse;
	SetPropertyBool("DebugOutput",              m_bDebugModeEnabled);
	
	/*! total of 24 different euler systems. We support only one, yet. */
	m_EulerAnglesType = 0;
	SetPropertyInt("EulerAngles", m_EulerAnglesType);
	SetPropertyStr("EulerAngles" NSSUBPROP_VALUELISTNOEDIT, "0@YawPitchRoll");
	SetPropertyInt("EulerAngles"  NSSUBPROP_REQUIRED, tTrue);

	qX = .0;
	qY = .0;
	qZ = .0;
	qW = .0;
}
コード例 #5
0
// -------------------------------------------------------------------------------------------------
LaneFilter::LaneFilter(const tChar* __info) {
// -------------------------------------------------------------------------------------------------
  cMemoryBlock::MemSet(&input_format_, 0, sizeof(input_format_));
  
  SetPropertyBool("debug", false);
  SetPropertyBool("headlights_enabled", true);
  SetPropertyInt("scan_rate", 50);
  SetPropertyFloat("lum_threshold", 100);
}
コード例 #6
0
void StateControllerNew::InitializeProperties()
{
    controllerMode = tControllerMode::Manual;

    SetPropertyInt(CONTROLLER_MODE_PROPERTY, controllerMode);
    SetPropertyStr(CONTROLLER_MODE_PROPERTY NSSUBPROP_VALUELIST, "0@Manual|1@Jury");
    SetPropertyStr(CONTROLLER_MODE_PROPERTY NSSUBPROP_DESCRIPTION, "Defines which mode should be used.");

    SetPropertyInt(MANEUVER_PROPERTY, tManeuver::M_CROSSING_STRAIGHT);
    SetPropertyBool(MANEUVER_PROPERTY NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MANEUVER_PROPERTY NSSUBPROP_VALUELIST,
                   "100@Straight|101@Left|102@Right|103@Park_Cross|104@Park_Parallel|105@Pull_Out_Left|106@Pull_Out_Right|-100@Unknown");
    SetPropertyStr(MANEUVER_PROPERTY NSSUBPROP_DESCRIPTION, "Defines which Maneuver should be send in manual mode");

    SetPropertyInt(STATE_PROPERTY, carState);
    SetPropertyBool(STATE_PROPERTY NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(STATE_PROPERTY NSSUBPROP_VALUELIST, "0@StartUp|1@GetReady|2@Ready|3@Running|4@Completed|5@Error");
    SetPropertyStr(STATE_PROPERTY NSSUBPROP_DESCRIPTION, "Defines which State should be send in manual mode");
}
コード例 #7
0
Emergency::Emergency(const char *__info) : cFilter(__info)
{
    this->m_nLastMSTime = 0;
    this->m_nEmergencyDistanceFront = 8;
    this->m_nEmergencyDistanceRear = 8;
    this->m_nEmergencyDistanceFrontUss = 8;
    this->m_bEmergencybreak = true;

    this->steerAngle = 0;
    this->initSteerAngle = true;

    SetPropertyInt(PROPERTY_EMERGENCY_DISTANCE_FRONT, m_nEmergencyDistanceFront);
    SetPropertyBool(PROPERTY_EMERGENCY_DISTANCE_FRONT NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyInt(PROPERTY_EMERGENCY_DISTANCE_REAR, m_nEmergencyDistanceRear);
    SetPropertyBool(PROPERTY_EMERGENCY_DISTANCE_REAR NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyInt(PROPERTY_EMERGENCY_DISTANCE_FRONT_USS, m_nEmergencyDistanceFrontUss);
    SetPropertyBool(PROPERTY_EMERGENCY_DISTANCE_FRONT_USS NSSUBPROP_ISCHANGEABLE, tTrue);

    this->m_size=0;
}
コード例 #8
0
testPullOutFilter::testPullOutFilter(const tChar* __info) : 
QObject(),
cBaseQtFilter(__info)
{

    SetPropertyInt("Type",0);
    SetPropertyBool("Type" NSSUBPROP_REQUIRED, tTrue);
    SetPropertyBool("Type" NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr("Type" NSSUBPROP_DESCRIPTION, "pullOut type"); 

}
コード例 #9
0
ファイル: lpf.cpp プロジェクト: venkat1802/AADC_LeTHItDrive
LPFFilter::LPFFilter(const tChar* __info) :cFilter(__info)
{
	//write values with zero
	inputSample = 0;
        for (int i = 0 ; i<1000 ; i++) { buffer[i] = 0; }
        pointer = 0;
	outputSample = 0;

        SetPropertyInt("N", 4);
	SetPropertyBool("N" NSSUBPROP_ISCHANGEABLE, tTrue);
	
}
コード例 #10
0
void ROI::InitializeProperties()
{
    hoodScanLineNumber = 4;
    roomScanLineNumber = 4;
    maxHoodDetectionCount = 5;
    isHoodDetectionEnabled = true;
    isRoomDetectionEnabled = true;
    rgbVideoManipulation = VIDEO_NONE;
    depthVideoManipulation = VIDEO_NONE;
    roomHeightManipulation = 0.85f;

    SetPropertyInt(HOOD_SCANLINE_NUMBER_PROPERTY, hoodScanLineNumber);
    SetPropertyBool(HOOD_SCANLINE_NUMBER_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(HOOD_SCANLINE_NUMBER_PROPERTY NSSUBPROP_DESCRIPTION, "Number of hood scanlines");
    SetPropertyInt(HOOD_SCANLINE_NUMBER_PROPERTY NSSUBPROP_MIN, 0);

    SetPropertyFloat(ROOM_HEIGHT_MANIPULATION_PROPERTY, roomHeightManipulation);
    SetPropertyBool(ROOM_HEIGHT_MANIPULATION_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(ROOM_HEIGHT_MANIPULATION_PROPERTY NSSUBPROP_DESCRIPTION, "Reduces the room height by the given percentage");
    SetPropertyFloat(ROOM_HEIGHT_MANIPULATION_PROPERTY NSSUBPROP_MIN, 0);
    SetPropertyFloat(ROOM_HEIGHT_MANIPULATION_PROPERTY NSSUBPROP_MAX, 1);

    SetPropertyInt(ROOM_SCANLINE_NUMBER_PROPERTY, roomScanLineNumber);
    SetPropertyBool(ROOM_SCANLINE_NUMBER_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(ROOM_SCANLINE_NUMBER_PROPERTY NSSUBPROP_DESCRIPTION, "Number of room scanlines");
    SetPropertyInt(ROOM_SCANLINE_NUMBER_PROPERTY NSSUBPROP_MIN, 0);

    SetPropertyInt(MAX_HOOD_DETECTION_COUNT_PROPERTY, maxHoodDetectionCount);
    SetPropertyBool(MAX_HOOD_DETECTION_COUNT_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(MAX_HOOD_DETECTION_COUNT_PROPERTY NSSUBPROP_DESCRIPTION, "Max hood detection dount");
    SetPropertyInt(MAX_HOOD_DETECTION_COUNT_PROPERTY NSSUBPROP_MIN, 0);

    SetPropertyBool(DETECT_HOOD_PROPERTY, isHoodDetectionEnabled);
    SetPropertyBool(DETECT_HOOD_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(DETECT_HOOD_PROPERTY NSSUBPROP_DESCRIPTION, "Detect hood");

    SetPropertyBool(DETECT_ROOM_PROPERTY, isRoomDetectionEnabled);
    SetPropertyBool(DETECT_ROOM_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(DETECT_ROOM_PROPERTY NSSUBPROP_DESCRIPTION, "Detect room");

    SetPropertyInt(RGB_VIDEO_MANIPULATION_PROPERTY, rgbVideoManipulation);
    SetPropertyBool(RGB_VIDEO_MANIPULATION_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(RGB_VIDEO_MANIPULATION_PROPERTY NSSUBPROP_VALUELIST, "1@None|2@Crop|3@Rect");
    SetPropertyStr(RGB_VIDEO_MANIPULATION_PROPERTY NSSUBPROP_DESCRIPTION, "Defines method which is used to manipulate the RGB image");

    SetPropertyInt(DEPTH_VIDEO_MANIPULATION_PROPERTY, depthVideoManipulation);
    SetPropertyBool(DEPTH_VIDEO_MANIPULATION_PROPERTY NSSUBPROP_REQUIRED, tTrue);
    SetPropertyStr(DEPTH_VIDEO_MANIPULATION_PROPERTY NSSUBPROP_VALUELIST, "1@None|2@Crop|3@Rect");
    SetPropertyStr(DEPTH_VIDEO_MANIPULATION_PROPERTY NSSUBPROP_DESCRIPTION, "Defines method which is used to manipulate the Depth image");
}
コード例 #11
0
cJuryTransmitter::cJuryTransmitter(const tChar* __info) : 
    QObject(),
    cBaseQtFilter(__info),
    m_bDebugModeEnabled(false),
    m_last_entryId(-1)
{
    m_last_timestamp=0,
            m_last_entryId=0,
            SetPropertyBool("Debug Output to Console",false);

    SetPropertyInt("Send time interval in sec",1);

    SetPropertyStr("ManeuverFile", "");
    SetPropertyBool("ManeuverFile" NSSUBPROP_FILENAME, tTrue);
    SetPropertyStr("ManeuverFile" NSSUBPROP_FILENAME NSSUBSUBPROP_EXTENSIONFILTER, "XML Files (*.xml)");
}
コード例 #12
0
CarFollower::CarFollower(const tChar *info) : cFilter(info),m_hTimer(NULL),logger(OID_SR_CARFOLLOWER)
{
	m_firstTime = tTrue;


	SetPropertyInt(PROP_CYCLETIME, 500);
	SetPropertyBool(PROP_CYCLETIME NSSUBPROP_ISCHANGEABLE, tTrue);
	SetPropertyStr(PROP_CYCLETIME NSSUBPROP_DESCRIPTION, "The control step for the local sequence timer.");
	SetPropertyFloat(PROP_SPACING, 0.5);
	SetPropertyBool(PROP_SPACING NSSUBPROP_ISCHANGEABLE, tTrue);
	SetPropertyStr(PROP_SPACING NSSUBPROP_DESCRIPTION, "The spacing maximum between cars");
	SetPropertyFloat(PROP_SPEEDSPACING, 1.0);
	SetPropertyBool(PROP_SPEEDSPACING NSSUBPROP_ISCHANGEABLE, tTrue);
	SetPropertyStr(PROP_SPEEDSPACING NSSUBPROP_DESCRIPTION, "The speed to compensate distance between cars");

}
コード例 #13
0
ファイル: cJuryModule.cpp プロジェクト: acobus/OptiCar
cJuryModule::cJuryModule(const tChar* __info) : 
QObject(),
    cBaseQtFilter(__info),
    m_bDebugModeEnabled(tFalse),
    m_ilastEntryId(-1)
{
    m_last_timestamp=0,
        m_ilastEntryId=0,

        SetPropertyBool("Debug Output to Console",tFalse);
    SetPropertyStr("Debug Output to Console" NSSUBPROP_DESCRIPTION, "If enabled additional debug information is printed to the console (Warning: decreases performance)"); 


    SetPropertyInt("Send time interval in sec",1);    
    SetPropertyStr("Send time interval in sec" NSSUBPROP_DESCRIPTION, "Specifies the time between two send media samples in sec"); 

    SetPropertyStr("ManeuverFile", "");
    SetPropertyBool("ManeuverFile" NSSUBPROP_FILENAME, tTrue); 
    SetPropertyStr("ManeuverFile" NSSUBPROP_FILENAME NSSUBSUBPROP_EXTENSIONFILTER, "XML Files (*.xml)");    
    SetPropertyStr("ManeuverFile" NSSUBPROP_DESCRIPTION, "Here you have to set the maneuver file of type xml to be used in this filter. For further specification refer to the Manueal"); 
}
コード例 #14
0
tVoid CurveDetector::initProperties()
{
    // Canny threshold 1
    this->thresholdCanny1 = 100;
    SetPropertyInt(PROP_NAME_CANNY_THRESHOLD_1, this->thresholdCanny1);
    SetPropertyInt(PROP_NAME_CANNY_THRESHOLD_1 NSSUBPROP_MINIMUM, 0);
    SetPropertyInt(PROP_NAME_CANNY_THRESHOLD_1 NSSUBPROP_MAXIMUM, 255);
    SetPropertyBool(PROP_NAME_CANNY_THRESHOLD_1 NSSUBPROP_REQUIRED, tTrue);
    SetPropertyBool(PROP_NAME_CANNY_THRESHOLD_1 NSSUBPROP_ISCHANGEABLE, tTrue);

    // Canny threshold 2
    this->thresholdCanny2 = 150;
    SetPropertyInt(PROP_NAME_CANNY_THRESHOLD_2, this->thresholdCanny2);
    SetPropertyInt(PROP_NAME_CANNY_THRESHOLD_2 NSSUBPROP_MINIMUM, 0);
    SetPropertyInt(PROP_NAME_CANNY_THRESHOLD_2 NSSUBPROP_MAXIMUM, 255);
    SetPropertyBool(PROP_NAME_CANNY_THRESHOLD_2 NSSUBPROP_REQUIRED, tTrue);
    SetPropertyBool(PROP_NAME_CANNY_THRESHOLD_2 NSSUBPROP_ISCHANGEABLE, tTrue);
}
コード例 #15
0
ファイル: PIDController.cpp プロジェクト: FAUtonOHM/AADC_2016
PIDController::PIDController(const tChar* __info) : cFilter(__info), m_f64LastMeasuredError(0), m_f64SetPoint(0), m_lastSampleTime(0),m_f64LastSpeedValue(0)
{
    SetPropertyFloat(WSC_PROP_PID_KP,1.5);
    SetPropertyBool(WSC_PROP_PID_KP NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PID_KP NSSUBPROP_DESCRIPTION, "The proportional factor Kp for the PID Controller");

    SetPropertyFloat(WSC_PROP_PID_KI,1.5);
    SetPropertyBool(WSC_PROP_PID_KI NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PID_KI NSSUBPROP_DESCRIPTION, "The integral factor Ki for the PID Controller");

    SetPropertyFloat(WSC_PROP_PID_KD,1);
    SetPropertyBool(WSC_PROP_PID_KD NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PID_KD NSSUBPROP_DESCRIPTION, "The differential factor Kd for the PID Controller");

    SetPropertyFloat(WSC_PROP_PID_SAMPLE_TIME,0.025);
    SetPropertyBool(WSC_PROP_PID_SAMPLE_TIME NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PID_SAMPLE_TIME NSSUBPROP_DESCRIPTION, "The sample interval in msec used by the PID controller");

    SetPropertyFloat(WSC_PROP_PID_MAXOUTPUT,2.5);
    SetPropertyBool(WSC_PROP_PID_MAXOUTPUT NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PID_MAXOUTPUT NSSUBPROP_DESCRIPTION, "The maximum allowed output for the wheel speed controller (speed in m/sec^2)");

    SetPropertyFloat(WSC_PROP_PID_MINOUTPUT,-2.5);
    SetPropertyBool(WSC_PROP_PID_MINOUTPUT NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PID_MINOUTPUT NSSUBPROP_DESCRIPTION, "The minimum allowed output for the wheel speed controller (speed in m/sec^2)");

    SetPropertyInt(WSC_PROP_PID_WINDUP, 3);
    SetPropertyStr(WSC_PROP_PID_WINDUP NSSUBPROP_DESCRIPTION, "Method for Anti Windup (1: Off, 2: Reset integral term, 3: Stabilize integral term)");
    SetPropertyStr(WSC_PROP_PID_WINDUP NSSUBPROP_VALUELISTNOEDIT, "1@No|2@Reset|3@Stabilize");

    SetPropertyBool(WSC_PROP_PID_SETZERO, tTrue);
    SetPropertyBool(WSC_PROP_PID_SETZERO NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PID_SETZERO NSSUBPROP_DESCRIPTION, "True: When Setpoint is zero, Output is set to zero (AADC default True)");

    SetPropertyBool(WSC_PROP_PID_USEDIRINPUT, tTrue);
    SetPropertyBool(WSC_PROP_PID_USEDIRINPUT NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PID_USEDIRINPUT NSSUBPROP_DESCRIPTION, "True: Use car speed direction info based on set speed input, False: use measured input for direction info");

    SetPropertyBool(WSC_PROP_DEBUG_MODE, tFalse);
    SetPropertyStr(WSC_PROP_DEBUG_MODE NSSUBPROP_DESCRIPTION, "If true debug infos are plotted to registry");

    SetPropertyFloat(WSC_PROP_PT1_OUTPUT_FACTOR, 1);
    SetPropertyBool(WSC_PROP_PT1_OUTPUT_FACTOR NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PT1_OUTPUT_FACTOR NSSUBPROP_DESCRIPTION, "The factor to normalize the output value");

    SetPropertyFloat(WSC_PROP_PT1_TIMECONSTANT, 1.5);
    SetPropertyBool(WSC_PROP_PT1_TIMECONSTANT NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PT1_TIMECONSTANT NSSUBPROP_DESCRIPTION, "Time Constant for PT1 Controller");

    SetPropertyFloat(WSC_PROP_PT1_CORRECTION_FACTOR, 1.15);
    SetPropertyBool(WSC_PROP_PT1_CORRECTION_FACTOR NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PT1_CORRECTION_FACTOR NSSUBPROP_DESCRIPTION, "Correction factor for input set point");

    SetPropertyFloat(WSC_PROP_PT1_GAIN, 6);
    SetPropertyBool(WSC_PROP_PT1_GAIN NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(WSC_PROP_PT1_GAIN NSSUBPROP_DESCRIPTION, "Gain for PT1 Controller");

    SetPropertyInt("Controller Typ", 2);
    SetPropertyStr("Controller Typ" NSSUBPROP_VALUELISTNOEDIT, "1@P|2@PI|3@PID|4@PT1");

    //m_pISignalRegistry = NULL;
}
コード例 #16
0
// -------------------------------------------------------------------------------------------------
EmergencyFilter::EmergencyFilter(const tChar* __info) : adtf::cFilter(__info) {
// -------------------------------------------------------------------------------------------------
  SetPropertyBool("debug", false);
  SetPropertyBool("Send hazard lights", true);
  SetPropertyInt("Front distance threshold", 50);
}
コード例 #17
0
cMarkerDetectFilter::cMarkerDetectFilter(const tChar* __info):cFilter(__info)
{
    UCOM_REGISTER_TIMING_SPOT(cString(OIGetInstanceName()) + "::Process::Start", m_oProcessStart);

    flagtoreducespeed = tFalse;
    f32Areatoreducespeed = 400;
    var_lan_acc_input = 90.0f;
    var_lan_acc_output = 90.0f;
    global_i = 0;
    var_finish_flag = tTrue;
    FrameCount = 0;
    ManeuverJuryID = MANEUVER_INTERSECTION_DEFAULT;
    var_maneuver_id = TestArray[global_i];//(tFloat32)MANEUVER_INTERSECTION_RIGHT; //TestArray[global_i]; //global_i = 0;
    SetPropertyBool(MD_ENABLE_IMSHOW,tFalse);
    SetPropertyBool(MD_ENABLE_IMSHOW NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_ENABLE_IMSHOW NSSUBPROP_DESCRIPTION, "If true imshow will be enabled");

    SetPropertyBool(MD_ENABLE_IMSHOW_VER,tFalse);
    SetPropertyBool(MD_ENABLE_IMSHOW_VER NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_ENABLE_IMSHOW_VER NSSUBPROP_DESCRIPTION, "If true imshow will be enabled for vertical lines");

    SetPropertyBool("Debug Output to Console", tFalse);    
    SetPropertyStr("Debug Output to Console" NSSUBPROP_DESCRIPTION, "If enabled additional debug information is printed to the console (Warning: decreases performance)."); 

    //RETURN_NOERROR;
    SetPropertyStr("Dictionary File For Markers",""); 
    SetPropertyBool("Dictionary File For Markers" NSSUBPROP_FILENAME, tTrue); 
    SetPropertyStr("Dictionary File For Markers" NSSUBPROP_FILENAME NSSUBSUBPROP_EXTENSIONFILTER, "YML Files (*.yml)"); 
    SetPropertyStr("Dictionary File For Markers" NSSUBPROP_DESCRIPTION, "Here you have to set the dicitionary file which holds the marker ids and their content"); 

    SetPropertyStr("Calibration File for used Camera",""); 
    SetPropertyBool("Calibration File for used Camera" NSSUBPROP_FILENAME, tTrue); 
    SetPropertyStr("Calibration File for used Camera" NSSUBPROP_FILENAME NSSUBSUBPROP_EXTENSIONFILTER, "YML Files (*.yml)"); 
    SetPropertyStr("Calibration File for used Camera" NSSUBPROP_DESCRIPTION, "Here you have to set the file with calibration paraemters of the used camera"); 
    
    SetPropertyInt("Video Output Pin",1);
    SetPropertyStr("Video Output Pin" NSSUBPROP_VALUELIST, "1@None|2@Detected Signs|");
    SetPropertyStr("Video Output Pin" NSSUBPROP_DESCRIPTION, "If enabled the video stream with the highlighted markers is transmitted at the output pin (Warning: decreases performance)."); 

    SetPropertyFloat("Size of Markers",0.117f);
    SetPropertyStr("Size of Markers" NSSUBPROP_DESCRIPTION, "Size (length of one side) of markers in m"); 

    SetPropertyFloat(MD_REQUIRED_MARKER_SIZE, 900.0);
    SetPropertyBool(MD_REQUIRED_MARKER_SIZE NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_REQUIRED_MARKER_SIZE NSSUBPROP_DESCRIPTION, "MarkerDetection::The marker size above which manuevers processing starts");

    SetPropertyInt(MD_COUNT, 2);
    SetPropertyBool(MD_COUNT NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_COUNT NSSUBPROP_DESCRIPTION, "MarkerDetection::Minimum number of lines to be detected for markers to be considered");

    SetPropertyInt(MD_RANGE_ROWS_R1, 0);
    SetPropertyBool(MD_RANGE_ROWS_R1 NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_ROWS_R1 NSSUBPROP_DESCRIPTION, "MarkerDetection::The first row R1 to be taken (R1,) (R2,)");

    SetPropertyInt(MD_RANGE_ROWS_R2, 250);
    SetPropertyBool(MD_RANGE_ROWS_R2 NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_ROWS_R2 NSSUBPROP_DESCRIPTION,"MarkerDetection::The second row R2 to be taken (R1,) (R2,)");

    SetPropertyInt(MD_RANGE_COLS_C1, 0);
    SetPropertyBool(MD_RANGE_COLS_C1 NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_COLS_C1 NSSUBPROP_DESCRIPTION, "MarkerDetection::The first col C1 to be taken (,C1) (,C2)");

    SetPropertyInt(MD_RANGE_COLS_C2, 250);
    SetPropertyBool(MD_RANGE_COLS_C2 NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_COLS_C2 NSSUBPROP_DESCRIPTION, "MarkerDetection::The second col C2 to be taken (,C1) (,C2)");

    SetPropertyInt(MD_RANGE_ROWS_R1_L, 20);
    SetPropertyBool(MD_RANGE_ROWS_R1_L NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_ROWS_R1_L NSSUBPROP_DESCRIPTION, "LineDetection::The first row R1 to be taken (R1,) (R2,)");

    SetPropertyInt(MD_RANGE_ROWS_R2_L, 50);
    SetPropertyBool(MD_RANGE_ROWS_R2_L NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_ROWS_R2_L NSSUBPROP_DESCRIPTION,"LineDetection::The second row R2 to be taken (R1,) (R2,)");

    SetPropertyInt(MD_RANGE_COLS_C1_L, 90);
    SetPropertyBool(MD_RANGE_COLS_C1_L NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_COLS_C1_L NSSUBPROP_DESCRIPTION, "LineDetection::The first col C1 to be taken (,C1) (,C2)");

    SetPropertyInt(MD_RANGE_COLS_C2_L, 20);
    SetPropertyBool(MD_RANGE_COLS_C2_L NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_COLS_C2_L NSSUBPROP_DESCRIPTION, "LineDetection::The second col C2 to be taken (,C1) (,C2)");

    SetPropertyInt(MD_RANGE_ROWS_R1_VER, 30);
    SetPropertyBool(MD_RANGE_ROWS_R1_VER NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_ROWS_R1_VER NSSUBPROP_DESCRIPTION, "LineDetection_VER::Theq first row R1 to be taken (R1,) (R2,)");

    SetPropertyInt(MD_RANGE_ROWS_R2_VER, 60);
    SetPropertyBool(MD_RANGE_ROWS_R2_VER NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_ROWS_R2_VER NSSUBPROP_DESCRIPTION,"LineDetection_VER::Theq second row R2 to be taken (R1,) (R2,)");

    SetPropertyInt(MD_RANGE_COLS_C1_VER, 30);
    SetPropertyBool(MD_RANGE_COLS_C1_VER NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_COLS_C1_VER NSSUBPROP_DESCRIPTION, "LineDetection_VER::Theq first col C1 to be taken (,C1) (,C2)");

    SetPropertyInt(MD_RANGE_COLS_C2_VER, 60);
    SetPropertyBool(MD_RANGE_COLS_C2_VER NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_RANGE_COLS_C2_VER NSSUBPROP_DESCRIPTION, "LineDetection_VER::Theq second col C2 to be taken (,C1) (,C2)");

    SetPropertyInt(MD_GREY_TRESHOLD, 100);
    SetPropertyBool(MD_GREY_TRESHOLD NSSUBPROP_ISCHANGEABLE, tTrue);
    SetPropertyStr(MD_GREY_TRESHOLD NSSUBPROP_DESCRIPTION, "The threshold value for canny to detect lines.");

    UCOM_REGISTER_TIMING_SPOT(cString(OIGetInstanceName()) + "::Process::End", m_oProcessEnd);    
}
コード例 #18
0
tVoid cSimpleFusion::initProperties()
{
    //
    stateOfLongeRangeInputPin = 1;
    SetPropertyInt(PROP_NAME_IR_LONGE_RANGE_INPUT_PIN_ACTIVE, stateOfLongeRangeInputPin);
    SetPropertyStr(PROP_NAME_IR_LONGE_RANGE_INPUT_PIN_ACTIVE NSSUBPROP_VALUELISTNOEDIT, "1@1|2@0");
    SetPropertyStr(PROP_NAME_IR_LONGE_RANGE_INPUT_PIN_ACTIVE NSSUBPROP_DESCRIPTION, "Choose 1 for active/ 0 for inactive");
    SetPropertyBool(PROP_NAME_IR_LONGE_RANGE_INPUT_PIN_ACTIVE NSSUBPROP_ISCHANGEABLE, tTrue);

    //
    stateOfShortRangeInputPin1 = 1;
    SetPropertyInt(PROP_NAME_IR_SHORT_RANGE_1_INPUT_PIN_ACTIVE, stateOfShortRangeInputPin1);
    SetPropertyStr(PROP_NAME_IR_SHORT_RANGE_1_INPUT_PIN_ACTIVE NSSUBPROP_VALUELISTNOEDIT, "1@1|2@0");
    SetPropertyStr(PROP_NAME_IR_SHORT_RANGE_1_INPUT_PIN_ACTIVE NSSUBPROP_DESCRIPTION, "Choose 1 for active/ 0 for inactive");
    SetPropertyBool(PROP_NAME_IR_SHORT_RANGE_1_INPUT_PIN_ACTIVE NSSUBPROP_ISCHANGEABLE, tTrue);

    //
    stateOfShortRangeInputPin2 = 1;
    SetPropertyInt(PROP_NAME_IR_SHORT_RANGE_2_INPUT_PIN_ACTIVE, stateOfShortRangeInputPin2);
    SetPropertyStr(PROP_NAME_IR_SHORT_RANGE_2_INPUT_PIN_ACTIVE NSSUBPROP_VALUELISTNOEDIT, "1@1|2@0");
    SetPropertyStr(PROP_NAME_IR_SHORT_RANGE_2_INPUT_PIN_ACTIVE NSSUBPROP_DESCRIPTION, "Choose 1 for active/ 0 for inactive");
    SetPropertyBool(PROP_NAME_IR_SHORT_RANGE_2_INPUT_PIN_ACTIVE NSSUBPROP_ISCHANGEABLE, tTrue);

    //
    stateOfUSLeftInputPin = 1;
    SetPropertyInt(PROP_NAME_US_LEFT_INPUT_PIN_ACTIVE, stateOfUSLeftInputPin);
    SetPropertyStr(PROP_NAME_US_LEFT_INPUT_PIN_ACTIVE NSSUBPROP_VALUELISTNOEDIT, "1@1|2@0");
    SetPropertyStr(PROP_NAME_US_LEFT_INPUT_PIN_ACTIVE NSSUBPROP_DESCRIPTION, "Choose 1 for active/ 0 for inactive");
    SetPropertyBool(PROP_NAME_US_LEFT_INPUT_PIN_ACTIVE NSSUBPROP_ISCHANGEABLE, tTrue);
    //
    stateOfUSRightInputPin = 1;
    SetPropertyInt(PROP_NAME_US_RIGHT_INPUT_PIN_ACTIVE, stateOfUSRightInputPin);
    SetPropertyStr(PROP_NAME_US_RIGHT_INPUT_PIN_ACTIVE NSSUBPROP_VALUELISTNOEDIT, "1@1|2@0");
    SetPropertyStr(PROP_NAME_US_RIGHT_INPUT_PIN_ACTIVE NSSUBPROP_DESCRIPTION, "Choose 1 for active/ 0 for inactive");
    SetPropertyBool(PROP_NAME_US_RIGHT_INPUT_PIN_ACTIVE NSSUBPROP_ISCHANGEABLE, tTrue);

    // Schwellwerte IR-Longrange
    thresholdIRLongRange = 20;
    SetPropertyInt(PROP_NAME_IR_LONG_RANGE_THRESHOLD, thresholdIRLongRange);
    SetPropertyInt(PROP_NAME_IR_LONG_RANGE_THRESHOLD NSSUBPROP_MINIMUM, 0);
    SetPropertyInt(PROP_NAME_IR_LONG_RANGE_THRESHOLD NSSUBPROP_MAXIMUM, 255);
    SetPropertyBool(PROP_NAME_IR_LONG_RANGE_THRESHOLD NSSUBPROP_REQUIRED, tTrue);
    SetPropertyBool(PROP_NAME_IR_LONG_RANGE_THRESHOLD NSSUBPROP_ISCHANGEABLE, tTrue);

    // Schwellwerte IR-Shortrange
    thresholdIRShortRange = 8;
    SetPropertyInt(PROP_NAME_IR_SHORT_RANGE_THRESHOLD, thresholdIRShortRange);
    SetPropertyInt(PROP_NAME_IR_SHORT_RANGE_THRESHOLD NSSUBPROP_MINIMUM, 0);
    SetPropertyInt(PROP_NAME_IR_SHORT_RANGE_THRESHOLD NSSUBPROP_MAXIMUM, 255);
    SetPropertyBool(PROP_NAME_IR_SHORT_RANGE_THRESHOLD NSSUBPROP_REQUIRED, tTrue);
    SetPropertyBool(PROP_NAME_IR_SHORT_RANGE_THRESHOLD NSSUBPROP_ISCHANGEABLE, tTrue);

    // Schwellwerte Ultaschal sensor(US)
    thresholdUS = 20;
    SetPropertyInt(PROP_NAME_US_THRESHOLD, thresholdUS);
    SetPropertyInt(PROP_NAME_US_THRESHOLD NSSUBPROP_MINIMUM, 0);
    SetPropertyInt(PROP_NAME_US_THRESHOLD NSSUBPROP_MAXIMUM, 255);
    SetPropertyBool(PROP_NAME_US_THRESHOLD NSSUBPROP_REQUIRED, tTrue);
    SetPropertyBool(PROP_NAME_US_THRESHOLD NSSUBPROP_ISCHANGEABLE, tTrue);

    // Median for using by the median-filter
    lengthOfMedianVector = 7;
    SetPropertyInt(PROP_NAME_MEDIAN, lengthOfMedianVector);
    SetPropertyInt(PROP_NAME_MEDIAN NSSUBPROP_MINIMUM, 1);
    SetPropertyInt(PROP_NAME_MEDIAN NSSUBPROP_MAXIMUM, 20);
    SetPropertyBool(PROP_NAME_MEDIAN NSSUBPROP_REQUIRED, tTrue);
    SetPropertyBool(PROP_NAME_MEDIAN NSSUBPROP_ISCHANGEABLE, tTrue);
}
コード例 #19
0
Test::Test(const char *__info) : cFilter(__info)
{
	this->isFirstFrame = true;
	this->isStopLineFound = false;
	this->isConnectedToServer = false;
	this->crossroadDetector.reset(new CrossRoadDetector());
	this->driveAlgorithm.reset(new DriveAlgorithm());
	this->tcpClient.reset(new Client());
	this->stopOnStopLine = false;

	this->tcpServer.reset(new Server(60000));

	this->ip = "192.168.1.253";
	SetPropertyStr(PROP_NAME_IP, this->ip.c_str());
    SetPropertyBool(PROP_NAME_IP NSSUBPROP_REQUIRED, tTrue);
	SetPropertyBool(PROP_NAME_IP NSSUBPROP_ISCHANGEABLE, tTrue);

	this->numberOfStopLines = 20;
	SetPropertyInt(PROP_NAME_STOP_LINES, this->numberOfStopLines);
	SetPropertyInt(PROP_NAME_STOP_LINES NSSUBPROP_MIN, 1);
	SetPropertyInt(PROP_NAME_STOP_LINES NSSUBPROP_MAX, 1000);
	SetPropertyBool(PROP_NAME_STOP_LINES NSSUBPROP_REQUIRED, tTrue);
	SetPropertyBool(PROP_NAME_STOP_LINES NSSUBPROP_ISCHANGEABLE, tTrue);

	this->delay = 100000;
	SetPropertyInt(PROP_NAME_DELAY, this->delay);
	SetPropertyInt(PROP_NAME_DELAY NSSUBPROP_MIN, 1);
	SetPropertyInt(PROP_NAME_DELAY NSSUBPROP_MAX, 1000);
	SetPropertyBool(PROP_NAME_DELAY NSSUBPROP_REQUIRED, tTrue);
	SetPropertyBool(PROP_NAME_DELAY NSSUBPROP_ISCHANGEABLE, tTrue);

	this->driveSpeed = 30;
	SetPropertyInt(PROP_NAME_DRIVE_SPEED, this->driveSpeed);
	SetPropertyInt(PROP_NAME_DRIVE_SPEED NSSUBPROP_MIN, 1);
	SetPropertyInt(PROP_NAME_DRIVE_SPEED NSSUBPROP_MAX, 1000);
	SetPropertyBool(PROP_NAME_DRIVE_SPEED NSSUBPROP_REQUIRED, tTrue);
	SetPropertyBool(PROP_NAME_DRIVE_SPEED NSSUBPROP_ISCHANGEABLE, tTrue);

	this->smoothCurveValue = 7;
	SetPropertyInt(PROP_NAME_SMOOTH_CURVE_VALUE, this->smoothCurveValue);
	SetPropertyInt(PROP_NAME_SMOOTH_CURVE_VALUE NSSUBPROP_MIN, 1);
	SetPropertyInt(PROP_NAME_SMOOTH_CURVE_VALUE NSSUBPROP_MAX, 1000);
	SetPropertyBool(PROP_NAME_SMOOTH_CURVE_VALUE NSSUBPROP_REQUIRED, tTrue);
	SetPropertyBool(PROP_NAME_SMOOTH_CURVE_VALUE NSSUBPROP_ISCHANGEABLE, tTrue);

	this->ticksToStopLine = 10;
	SetPropertyInt(PROP_NAME_TICKS_TO_STOP_LINE, this->ticksToStopLine);
	SetPropertyInt(PROP_NAME_TICKS_TO_STOP_LINE NSSUBPROP_MIN, 1);
	SetPropertyInt(PROP_NAME_TICKS_TO_STOP_LINE NSSUBPROP_MAX, 1000);
	SetPropertyBool(PROP_NAME_TICKS_TO_STOP_LINE NSSUBPROP_REQUIRED, tTrue);
	SetPropertyBool(PROP_NAME_TICKS_TO_STOP_LINE NSSUBPROP_ISCHANGEABLE, tTrue);
}