FCW车辆安全距离算法

信息处理模块

信息处理模块的功能是对环境感知信息和本车信息进行实时处理,并进行车辆危险程度评估。

目前FCW系统危险程度评估算法大多采用三段式距离判定方法和TTC碰撞事件判别方法,其中三段式距离判定方法应用更多,具体为:第一部分为预警距离(驾驶员反应时间内的距离);第二部分为制动距离(利用运动学公式,表征系统加速作用距离);第三部分为预制安全距离(制动结束后本车与前车预留的安全距离,可通过本车速度或相对速度查表)。

距离判别公式如下:

​​​​​​​

式中:Vhost —— 本车车速;Vrel —— 相对车速(前车 – 本车);Tw —— 预警延时1;Thw —— 预警延时2;Tpr —— 升压延时;Aw —— FCW强制动加速度;Safe —— 安全距离;Dis —— 预设距离。

MATLAB中的FCW算法

Find the Most Important Object and Issue a Forward Collision Warning

The most important object (MIO) is defined as the track that is in the ego lane and is closest in front of the car, i.e., with the smallest positive x value. To lower the probability of false alarms, only confirmed tracks are considered.

Once the MIO is found, the relative speed between the car and MIO is calculated. The relative distance and relative speed determine the forward collision warning. There are 3 cases of FCW:

  1. Safe (green): There is no car in the ego lane (no MIO), the MIO is moving away from the car, or the distance to the MIO remains constant.

  2. Caution (yellow): The MIO is moving closer to the car, but is still at a distance above the FCW distance. FCW distance is calculated using the Euro NCAP AEB Test Protocol. Note that this distance varies with the relative speed between the MIO and the car, and is greater when the closing speed is higher.

  3. Warn (red): The MIO is moving closer to the car, and its distance is less than the FCW distance, .

Euro NCAP AEB Test Protocol defines the following distance calculation:

where:

d FCW is the forward collision warning distance.

 v rel is the relative velocity between the two vehicles.

 a max is the maximum deceleration, defined to be 40% of the gravity acceleration.

    function mostImportantObject = findMostImportantObject(confirmedTracks,egoLane,positionSelector,velocitySelector)

        % Initialize outputs and parameters
        MIO = [];               % By default, there is no MIO
        trackID = [];           % By default, there is no trackID associated with an MIO
        FCW = 3;                % By default, if there is no MIO, then FCW is 'safe'
        threatColor = 'green';  % By default, the threat color is green
        maxX = 1000;  % Far enough forward so that no track is expected to exceed this distance
        gAccel = 9.8; % Constant gravity acceleration, in m/s^2
        maxDeceleration = 0.4 * gAccel; % Euro NCAP AEB definition
        delayTime = 1.2; % Delay time for a driver before starting to brake, in seconds

        positions = getTrackPositions(confirmedTracks, positionSelector);
        velocities = getTrackVelocities(confirmedTracks, velocitySelector);

        for i = 1:numel(confirmedTracks)
            x = positions(i,1);
            y = positions(i,2);

            relSpeed = velocities(i,1); % The relative speed between the cars, along the lane

            if x < maxX && x > 0 % No point checking otherwise
                yleftLane  = polyval(egoLane.left,  x);
                yrightLane = polyval(egoLane.right, x);
                if (yrightLane <= y) && (y <= yleftLane)
                    maxX = x;
                    trackID = i;
                    MIO = confirmedTracks(i).TrackID;
                    if relSpeed < 0 % Relative speed indicates object is getting closer
                        % Calculate expected braking distance according to
                        % Euro NCAP AEB Test Protocol
                        d = abs(relSpeed) * delayTime + relSpeed^2 / 2 / maxDeceleration;
                        if x <= d % 'warn'
                            FCW = 1;
                            threatColor = 'red';
                        else % 'caution'
                            FCW = 2;
                            threatColor = 'yellow';
                        end
                    end
                end
            end
        end
        mostImportantObject = struct('ObjectID', MIO, 'TrackIndex', trackID, 'Warning', FCW, 'ThreatColor', threatColor);
    end

猜你喜欢

转载自blog.csdn.net/m0_66159157/article/details/129647692