This is a ROS implementation of the client and driver from the TORCS SCR C++ client. For the code in this repository to work you need a patched version of torcs1.3.7. This has only been tested with Ubuntu 16.04 and ROS Kinetic
- Install the patched version of torcs1.3.7 according to its installation instructions
- Install opencv
- Install ROS according to the installation insctructions and create a catkin workspace.
- Clone this repository into your catkin workspace and build it
- Run TORCS:
torcs
ortorcs -noisy
if you want noisy sensors (see the SCR-Manual for details) - Run the ROS components in this repository:
roslaunch torcs_ros_bringup torcs_ros.launch
. If you want to use your own driver instead of the simple driver intorcs_ros_drive_ctrl
, runroslaunch torcs_ros_bringup torcs_ros.launch driver:=false
(make sure you remap your topics correctly).
this package publishes the current game image received via shared memory. For this package to work you need opencv
this package holds custom message files for torcs, namely TORCSCtrl
and TORCSSensors
this package holds config and launch files to start the whole ROS machinery
this is a ROS implementation of the original SRC C++ client. However, this client only publishes data received from the game and subscribes to ctrl messages. It does not generate driving commands itself.
this is a separated implementation of the SimpleDriver contained in the original SRC C++ client. It subscribes to the sensor messsage published by the torcs_ros_client
, generates simple drive commands and publishes them as TORCSCtrl
messages.