Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brunodmt/ets_ros2
ETS2 (Euro Truck Simulator 2) & ATS (American Truck Simulator) SDK plug-in to publish telemetry data using ROS2
https://github.com/brunodmt/ets_ros2
american-truck-simulator euro-truck-simulator euro-truck-simulator-2 eurotruck eurotrucksimulator robot-operating-system ros ros2
Last synced: 3 months ago
JSON representation
ETS2 (Euro Truck Simulator 2) & ATS (American Truck Simulator) SDK plug-in to publish telemetry data using ROS2
- Host: GitHub
- URL: https://github.com/brunodmt/ets_ros2
- Owner: brunodmt
- License: apache-2.0
- Created: 2019-05-08T14:13:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-06-09T19:23:19.000Z (over 5 years ago)
- Last Synced: 2024-06-15T05:35:09.332Z (5 months ago)
- Topics: american-truck-simulator, euro-truck-simulator, euro-truck-simulator-2, eurotruck, eurotrucksimulator, robot-operating-system, ros, ros2
- Language: C++
- Homepage:
- Size: 1.99 MB
- Stars: 22
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - brunodmt/ets_ros2 - ETS2 (Euro Truck Simulator 2) & ATS (American Truck Simulator) SDK plug-in to publish telemetry data using ROS2 (C++)
README
# Euro Truck Simulator 2 ROS2 Plugin
[ETS2 (Euro Truck Simulator 2)](https://eurotrucksimulator2.com/) & [ATS (American Truck Simulator)](https://americantrucksimulator.com/) SDK plug-in to publish telemetry data using [ROS2](https://index.ros.org/doc/ros2/).## Project Structure
* **ets_msgs**: Messages definitions
* **ets_plugin**: ETS/ATS plugin library
* **ets_cpp_client**: Sample C++ client## Supported Environment
This plugin has been developed in Ubuntu 18.04 using ROS2 Crystal and Euro Truck Simulator 2 (v1.34.0.34s). Instructions may vary when using different versions, but with some luck it should work anyway.Windows is not currently supported.
## Prerequisites
* Install **ROS2** following [Installing ROS2 via Debian Packages](https://index.ros.org/doc/ros2/Installation/Linux-Install-Debians/)
* Install **colcon** following [Colcon Tutorial](https://index.ros.org/doc/ros2/Tutorials/Colcon-Tutorial/)
* Install **ETS** or **ATS** using **Steam**## Building instructions
1. Create a ROS2 worskpace in a location of your choice: `mkdir -p ros2_ws/src`
2. Clone the repository inside `ros2_ws/src`: `git clone https://github.com/brunodmt/ets_ros2.git`
3. Source the ROS2 environment setup script, selecting the extension based on your shell: `source /opt/ros/crystal/setup.`.
4. From ros2_ws, build the project: `colcon build --symlink-install`.
In case you get an error like:
```
--- stderr: ets_msgs
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find FastRTPS (missing: FastRTPS_INCLUDE_DIR FastRTPS_LIBRARIES)
```
run `export CMAKE_PREFIX_PATH=$AMENT_PREFIX_PATH:$CMAKE_PREFIX_PATH` and try again.
5. Copy the generated plugin library to the ETS folder:
```
mkdir ~/.local/share/Steam/steamapps/common/Euro\ Truck\ Simulator\ 2/bin/linux_x64/plugins
cp install/ets_plugin/lib/ets_plugin/libetsros2.so ~/.local/share/Steam/steamapps/common/Euro\ Truck\ Simulator\ 2/bin/linux_x64/plugins/
```
or the ATS folder:
```
mkdir ~/.local/share/Steam/steamapps/common/American\ Truck\ Simulator/bin/linux_x64/plugins
cp install/ets_plugin/lib/ets_plugin/libetsros2.so ~/.local/share/Steam/steamapps/common/American\ Truck\ Simulator/bin/linux_x64/plugins/
```
6. Source the generated environment setup script, selecting the extension based on your shell: `source install/setup.`
7. Run the client with `./install/ets_cpp_client/bin/ets_cpp_client/ets_cpp_client`
8. Before running the game for the first time, the **Launch Options** in **Steam** need to be updated:
1. Right click the game in your Steam library
2. Select properties
3. Select `SET LAUNCH OPTIONS...`
4. Set it to:
```
LD_LIBRARY_PATH=/opt/ros/crystal/opt/yaml_cpp_vendor/lib:/opt/ros/crystal/opt/rviz_ogre_vendor/lib:/opt/ros/crystal/lib:/install/ets_msgs/lib:$LD_LIBRARY_PATH %command%
```
(making sure to replace `` with your ROS2 workspace path.
9. Run the game