/torcs_ros

Code for interfacing torcs1.3.7 with ROS

Primary LanguageC++

Repo for interfacing TORCS with ROS

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

Installation

Usage

  • Run TORCS: torcs or torcs -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 in torcs_ros_drive_ctrl, run roslaunch torcs_ros_bringup torcs_ros.launch driver:=false (make sure you remap your topics correctly).

Description of individual packages

torcs_img_publisher

this package publishes the current game image received via shared memory. For this package to work you need opencv

torcs_msgs

this package holds custom message files for torcs, namely TORCSCtrl and TORCSSensors

torcs_ros_bringup

this package holds config and launch files to start the whole ROS machinery

torcs_ros_client

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.

torcs_ros_drive_ctrl

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.