CREATE TABLE table_name_22 (constructor VARCHAR(255), driver VARCHAR(255), time_retired VARCHAR(255), grid VARCHAR(255))
Which constructor had a Time/Retired of collision, where the grid number was less than 18 and Nick Heidfeld was the driver?
    
SQL: SELECT constructor FROM table_name_22 WHERE time_retired = "collision" AND grid < 18 AND driver = "nick heidfeld"