README.md 1.79 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
* Compile torcs:
..* Install dependencies: `libopenal-dev libalut-dev libplib-dev libvorbis-dev`
Svetlana's avatar
Svetlana committed
15
16
..* cd to torcs directory and run: `./configure --prefix/opt/torcs && make -j && sudo make install && sudo makeinstall`
..* Test if it runs by starting `/opt/torcs/bin/torcs`
Svetlana's avatar
Svetlana committed
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

* 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)
33
34

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

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

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

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

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