|
During the AI course and in preparation of the Thruns forthcoming course on self driving cars, I asked myself the question on what driving simulation software exist, and especially if there is anything free. The idea I had is that it would be nice to have a platform for writing driving software similar to the Berkeley pac-man projects where you did not need to worry about the graphics and inputs, but could just concentrate on the algorithms. Unfortunately I did not find anything like that. All that I found are two competing open road description formats and two commercial vendors that write road and driving simulations:
Did I miss something? Is there other free software available? Does anybody know what software was used by prof. Thrun for the demo videos that he produced during the corse, and whether it is open/free? |
|
Hi, There is a self driving miniature car simulator that you could control using HTTP available at: http://www.hightechdreams.com/IARRC_Sim/ If it gets popularly used, it will be developed more but it is already worth looking into if you are using Windows. Have you used this? It looks interesting, but I did not see any detailed information on the web site. 1
Actually, I made it. The design is fairly simple and could be used for what you are asking. Basically, it lets you control a car's speed, steering. Sensor data can be collected from simulated LiDAR range finders, infared distance sensors, and two cameras(1 camera mounted on a miniature drone helicopter). All the collection of data and sending of car driving controls is done using HTTP requests. It is difficult to do this in real-time but HTTP is a fairly popular and well understood protocol to work with which frees developers of driving software to use virtually any programming language. The sensor layout and obstacle course can be edited in the window in two separate modes. A lot can also be done through its web-browser interface. The web browser interface documents its HTTP interface API and gives you some ways to view sensor data/control the car from a web browser. Here are some videos made by composing outputs of the 2 cameras and its LiDAR sensor: http://www.youtube.com/watch?v=FinJBCtvCvw Here is another video made from the miniature car's main camera: http://www.youtube.com/watch?v=ReNeC07z1Ok Very cool. Thank you for sharing! Are you familiar with the Udacity CS373 online class? This sounds like just the sort of thing they need. I wonder what Sebastian Thrun is planning to use. I saw these links: Can you recommend any other places to learn more? I heard about 373, am signed up, and am anxious to start the course. I want to see what he uses for simulation too. My guess is Robot OS inside Ubuntu and Windows users could access Ubuntu through VirtualBox. I was a member of a team in that IARRC competition but have to admit that other teams beat us. Waterloo seems to consistently have the most reliable solutions to complex obstacle courses and the most funding to buy useful hardware. The International Autonomous Robot Racing Challenge(IARRC) technical manuals are online for anyone interested in ideas developed by competitors. What programming language(s) have you used? Did you study programming or computer science? It should help to approach the problem with the mindset that the software has a certain level of quality that improves as you learn more about data structures, algorithms, and AI. Also, a simulator like my IARRC Simulator can help put ideas to practice and testing.
Are you familiar with tree and graph data structures, path finding, breadth first search, A* search? Voronoi diagrams can be useful when planning paths that maximize distances from obstacles. My background is training in both CS and EE and a number of years programming circuit simulation tools (mostly analog and mixed signal). I've programmed professionally in C, Pascal, C++, and Perl with some experience in other languages. I took the AI and ML online classes a few months ago so have recent exposure and some implementation experience with most of the AI concepts you mentioned. The AI class discussed Voronoi diagrams, but I don't think I could do anything meaningful with them without more learning. What I'm thinking is I'll follow the 373 curriculum until I feel like I know enough to take a meaningful look at your simulator. I would expect some more people on aiqus would be interested. Hopefully they will post as well. |
It will be interesting to see what Udacity uses for its CS373 programming assignments. If you look at the syllabus, week 6 is "putting it all together - programming a self driving car". It seems to me they will have to use something like you are asking for. Are you signed up for CS373?