getting_started:ros
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
getting_started:ros [2017/11/20 16:37] – graf | getting_started:ros [2021/03/26 14:27] – [Preparations and Building] ursgraf | ||
---|---|---|---|
Line 8: | Line 8: | ||
===== Using ROS through EEROS HAL ===== | ===== Using ROS through EEROS HAL ===== | ||
- | EEROS can communicate with the underlying hardware through its [[eeros_architecture: | + | EEROS can communicate with the underlying hardware through its [[eeros_architecture: |
- | [{{ : | + | [{{ : |
- | When using | + | The EEROS HAL signals can be comprised of digital or analog inputs or outputs. They are specified in a JSON file. \\ |
+ | If you want to test your application with a [[http:// | ||
+ | It is also possible to use ROS-topics alongside real hardware. You could determine a motor position by reading an encoder and set a control value for a motor. In parallel, you could publish the same values to ROS topics to visualize the state of the robot with [[http:// | ||
===== Preparations and Building ===== | ===== Preparations and Building ===== | ||
ROS needs to be installed on the developer machine as well as on the target machine. | ROS needs to be installed on the developer machine as well as on the target machine. | ||
- | Before a ROS application can be started, you need to run the '' | + | Before a ROS application can be started, you need to run the '' |
+ | < | ||
+ | source / | ||
+ | </ | ||
The same applies for building the EEROS library with ROS support and for building an EEROS application with ROS support. \\ | The same applies for building the EEROS library with ROS support and for building an EEROS application with ROS support. \\ | ||
IMPORTANT If an integrated development environment such as '' | IMPORTANT If an integrated development environment such as '' | ||
+ | |||
+ | === Building the EEROS library with ROS === | ||
+ | If you build the library with cmake, make sure you use the -DUSE_ROS=TRUE switch. | ||
+ | An example of a cmake call could look like this:\\ | ||
+ | '' | ||
+ | Our build scripts already include this switch. | ||
+ | |||
+ | |||
+ | === Building an EEROS application with ROS functionality === | ||
The CMAKE file for the EEROS application using ROS has to be expanded as follows: | The CMAKE file for the EEROS application using ROS has to be expanded as follows: | ||
< | < | ||
- | cmake_minimum_required(VERSION | + | cmake_minimum_required(VERSION |
project(testProject) | project(testProject) | ||
+ | set(CMAKE_CXX_STANDARD 14) | ||
+ | |||
## ROS | ## ROS | ||
message(STATUS " | message(STATUS " | ||
Line 44: | Line 61: | ||
include_directories(${EEROS_INCLUDE_DIR}; | include_directories(${EEROS_INCLUDE_DIR}; | ||
link_directories(${EEROS_LIB_DIR}; | link_directories(${EEROS_LIB_DIR}; | ||
- | |||
- | set(CMAKE_CXX_FLAGS " | ||
add_executable(testProject main.cpp) | add_executable(testProject main.cpp) |
getting_started/ros.txt · Last modified: 2023/02/09 12:04 by ursgraf