README.md 1.67 KB
Newer Older
Svetlana's avatar
Svetlana committed
1
*TorcsClient* is a C++ application that connects to Torcs and receives images via shared memory (FreeImage library is used to read and store images).
2

Svetlana's avatar
Svetlana committed
3
*EMAM2RosCpp* <https://github.com/EmbeddedMontiArc/EMAM2RosCpp> and *EMAM2RosMsg* <https://github.com/EmbeddedMontiArc/EMAM2RosMsg> are used to generate ROS code from EmbeddedMontiArc.
4
5


Svetlana's avatar
Svetlana committed
6
## Prerequisites
7

Svetlana's avatar
Svetlana committed
8
9
* Ubuntu 16.04
* ROS lunar
10

Svetlana's avatar
Svetlana committed
11
## TorcsClient
12

Svetlana's avatar
Svetlana committed
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
* Compile torcs:
..* Install dependencies: `libopenal-dev libalut-dev libplib-dev libvorbis-dev`
..* cd to torcs directory and run: `./configure && make`

* Install `libfreeimage-dev`

## ROS

* libarmadillo-dev package
`sudo ln -s /usr/include/armadillo /usr/include/armadillo.h`	

* Follow ROS installation instructions on <http://wiki.ros.org/lunar/Installation/Ubuntu>

* Follow instructions to create a package on <http://wiki.ros.org/ROS/Tutorials/CreatingPackage>

We use `RosWorkspace/` as the ROS workspace directory and `RosWorkspace/src/torcs2` as the package directory example.

* Generate sources via EMAMRosCpp
* Copy sources into created package src directory (RosWorkspace/src/torcs2/src)
32
33

Find string:
Svetlana's avatar
Svetlana committed
34
`# add_executable(${PROJECT_NAME}_node src/torcs2_node.cpp)`
35
in the RosWorkspace/src/torcs2/CMakeLists.txt file, uncomment and change to:
Svetlana's avatar
Svetlana committed
36
`add_executable(${PROJECT_NAME} src/torcs2.cpp)`
37
38

Find and uncomment in the same file:
Svetlana's avatar
Svetlana committed
39
```
40
41
42
target_link_libraries(${PROJECT_NAME}_node
  ${catkin_LIBRARIES}
)
Svetlana's avatar
Svetlana committed
43
```
44

Svetlana's avatar
Svetlana committed
45
46
and remove _node suffix to get:
```
47
48
49
target_link_libraries(${PROJECT_NAME}
  ${catkin_LIBRARIES}
)
Svetlana's avatar
Svetlana committed
50
```
51

Svetlana's avatar
Svetlana committed
52
53
* Run `catkin_make` and `catkin_make install` as described in tutorial.
Check that package is now available: `rospack list | grep torcs`
54

Svetlana's avatar
Svetlana committed
55
* Run node with the package: `rosrun torcs torcs`
56