OpenRacing

From SpaceElevatorWiki.com
Jump to navigationJump to search

Intro

OpenRacing is a racing game, but it is also a simulator which aims to develop better artificial intelligence for human-driving assistance and driverless cars. It is based on the Torcs codebase, but is being methodically re-written into C#, ported to leverage the graphics engine Ogre, the physics engine ODE, the input system OIS, the widget API MyGui (which now has C# wrappers, at our request), and extended with a more general track model.

Then, we will have a clean and 10x smaller codebase for building smarter autonomous vehicles which can handle the complexities of urban scenarios, and can eventually navigate via the use of a vision recognition engine and simulated sensors like radar and GPS.

Current Status

The work in progress is here.

OpenRacing Universal Track Interface

Building OpenRacing

OpenRacing hosted in Launchpad / Bzr

Source, etc. is here: Launchpad

Install the dependencies

These instructions assume Ubuntu. If you are running something else, your steps will vary slightly. Instructions here

Compile OpenRacing

Go into openracing's directory.

./autogen.sh

The script installs a few missing files and generate the usual configure script.

Then launch configure.

$ ./configure --with-ogredotnet=/full/path/to/ogredotnet-read-only/bin --with-myguinet=/full/path/to/mygui-or/Bin/Debug --with-tao=/full/path/to/tao/bin
$ make

If everything got right, an openracing script should have been generated. You can launch it immediately or install OpenRacing into the system.

$ sudo make install

And launch!

openracing

If it doesn't work, please complain to us so we can fix the bugs!

Using the Monodevelop project

For developers, a monodevelop project is now available, allowing to edit and launch C# parts of OpenRacing from a nice all-integrated GUI.

First, you must compile openracing as shown above. The compilation process generated for you a monodevelop.sh script.

But before to launch it there is a little hack to do...

Go to the src/ directory. A create link to Ode, OgreDotNet and MyGUI's DLLs. This is what I did on my system, please adapt it to yours:

$ ln -s /home/jeko/Sources/deps/taoframework-2.1.0/bin/Tao.Ode.dll
$ ln -s /home/jeko/Sources/deps/ogredotnet/bin/Math3D.dll   
$ ln -s /home/jeko/Sources/deps/ogredotnet/bin/OgreDotNet.dll
$ ln -s /home/jeko/Sources/deps/MyGUI-OR/Bin/Debug/MyGUI.dll

This makes sure monodevelop will find the necessary references needed to compile OpenRacing. (I tried hard to make this better, but it seems impossible)..

Then you can launch:

./monodevelop.sh

The scripts sets some environment variables (so that uninstalled shared libraries from OgreDotNet and MyGUI can be found for execution). Last hack before you're done: you must edit Config.cs file (which appears at the end of the file list):

replace:

public static string OPENRACING_DATA_PATH = "/home/jeko/Sources/openracing/data";

by:

public static string OPENRACING_DATA_PATH = "/full/path/to/openracing/data";

You're done, happy hacking!