private float[] findRobotForce() {
        float[] sum_f = new float[2];
        
        RodSensor rs = new RodSensor(id);
        rs.findVisibleRobots();
        float[] distances = rs.getDistances();
        float[] thetas    = rs.getBearings();
        int[]   ids       = rs.getIds();
        
        if (distances == null) {
            sum_f[0] = 0;
            sum_f[1] = 0;
            return sum_f;
        }

        for (int index = 0; index < distances.length; ++index) {  // For all the neighboring robots do:
            float theta = thetas[index];                          // get the bearing
            float r = distances[index];                           // and the distance
            
            float F = 0.0f;
            if (r <= 1.5 * R) {
                F = G / (r * r);           // Force law with p = 2.0
                if (F > FMAX) 
                    F = FMAX;
                if (r < R)
                    F = -F;                // Negates force vector
            }
            
            float fx = (float) (F * Math.cos(Math.toRadians(theta)));
            float fy = (float) (F * Math.sin(Math.toRadians(theta)));
            
            sum_f[0] += fx;
            sum_f[1] += fy;
        }
        
        return sum_f;
    }