Skip to content

Commit b75e7df

Browse files
port fsds_ros_bridge to galactic
1 parent b0dafb6 commit b75e7df

25 files changed

Lines changed: 3063 additions & 0 deletions

ros2/src/fs_msgs/CMakeLists.txt

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
cmake_minimum_required(VERSION 3.5)
2+
project(fs_msgs)
3+
4+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
5+
add_compile_options(-Wall -Wextra -Wpedantic)
6+
endif()
7+
8+
find_package(ament_cmake REQUIRED)
9+
find_package(builtin_interfaces REQUIRED)
10+
find_package(rosidl_default_generators REQUIRED)
11+
find_package(std_msgs REQUIRED)
12+
find_package(geometry_msgs REQUIRED)
13+
14+
set(msg_files
15+
msg/ControlCommand.msg
16+
msg/FinishedSignal.msg
17+
msg/GoSignal.msg
18+
msg/Track.msg
19+
msg/Cone.msg
20+
msg/ExtraInfo.msg
21+
)
22+
23+
set(srv_files
24+
srv/Reset.srv
25+
)
26+
27+
28+
if(BUILD_TESTING)
29+
find_package(ament_lint_auto REQUIRED)
30+
ament_lint_auto_find_test_dependencies()
31+
endif()
32+
33+
rosidl_generate_interfaces(${PROJECT_NAME}
34+
${msg_files}
35+
${srv_files}
36+
DEPENDENCIES builtin_interfaces std_msgs geometry_msgs
37+
ADD_LINTER_TESTS
38+
)
39+
ament_export_dependencies(rosidl_default_runtime)
40+
ament_package()
41+
42+

ros2/src/fs_msgs/msg/Cone.msg

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
geometry_msgs/Point location #x,y,z [m] wrt to the car start location (origin)
2+
uint8 color # use the enum below
3+
# Constants
4+
uint8 BLUE=0
5+
uint8 YELLOW=1
6+
uint8 ORANGE_BIG=2
7+
uint8 ORANGE_SMALL=3
8+
uint8 UNKNOWN=4
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
std_msgs/Header header
2+
float64 throttle # [-] range : (0, 1)
3+
float64 steering # [-] range : (-1, 1)
4+
float64 brake # # [-] range : (0, 1)

ros2/src/fs_msgs/msg/ExtraInfo.msg

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# The number of Down Or Out cones during the run
2+
uint32 doo_counter
3+
4+
# The number of finished laps driven by the vehicle
5+
float32[] laps
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
std_msgs/Header header
2+
bool placeholder

ros2/src/fs_msgs/msg/GoSignal.msg

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
std_msgs/Header header
2+
string mission
3+
string track

ros2/src/fs_msgs/msg/Track.msg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
fs_msgs/Cone[] track

ros2/src/fs_msgs/package.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0"?>
2+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
3+
<package format="3">
4+
<name>fs_msgs</name>
5+
<version>0.1.0</version>
6+
<description>
7+
Common Formula Student ROS messages
8+
</description>
9+
<maintainer email="davidoort@hotmail.com">David Oort Alonso</maintainer>
10+
<maintainer email="sijmenhuizenga@gmail.com">Sijmen Huizenga</maintainer>
11+
<license>Apache-License-2.0</license>
12+
<buildtool_depend>ament_cmake</buildtool_depend>
13+
<buildtool_depend>rosidl_default_generators</buildtool_depend>
14+
15+
<depend>builtin_interfaces</depend>
16+
<depend>std_msgs</depend>
17+
<depend>geometry_msgs</depend>
18+
19+
<exec_depend>rosidl_default_runtime</exec_depend>
20+
21+
<member_of_group>rosidl_interface_packages</member_of_group>
22+
<export>
23+
<build_type>ament_cmake</build_type>
24+
<architecture_independent/>
25+
</export>
26+
</package>

ros2/src/fs_msgs/srv/Reset.srv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
bool wait_on_last_task
2+
---
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
cmake_minimum_required(VERSION 3.10.0)
2+
project(fsds_ros2_bridge)
3+
4+
# set this to path to AirSim root folder if you want your catkin workspace in a custom directory
5+
set(AIRSIM_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../../AirSim/)
6+
7+
add_subdirectory("${AIRSIM_ROOT}/cmake/rpclib_wrapper" rpclib_wrapper)
8+
add_subdirectory("${AIRSIM_ROOT}/cmake/AirLib" AirLib)
9+
10+
set(CMAKE_CXX_STANDARD 11)
11+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread")
12+
set(CXX_EXP_LIB "-nostdinc++ -I/usr/include/c++/8 -I/usr/include/x86_64-linux-gnu/c++/8 -nodefaultlibs
13+
-l/usr/lib/x86_64-linux-gnu/libc++.so -l/usr/lib/x86_64-linux-gnu/libc++abi.so
14+
-lm -lc -lgcc_s -lgcc
15+
-lstdc++fs -fmax-errors=10 -Wnoexcept -Wstrict-null-sentinel")
16+
17+
set(RPC_LIB_INCLUDES " ${AIRSIM_ROOT}/external/rpclib/rpclib-2.2.1/include")
18+
set(RPC_LIB rpc) # name of .a file with lib prefix
19+
message(STATUS "found RPC_LIB_INCLUDES=${RPC_LIB_INCLUDES}")
20+
21+
# find dependencies
22+
find_package(ament_cmake_auto REQUIRED)
23+
ament_auto_find_build_dependencies()
24+
25+
find_package( OpenCV REQUIRED )
26+
include_directories( ${OpenCV_INCLUDE_DIRS} )
27+
28+
include_directories(
29+
include
30+
${AIRSIM_ROOT}/AirLib/deps/eigen3
31+
${AIRSIM_ROOT}/AirLib/include
32+
${RPC_LIB_INCLUDES}
33+
)
34+
35+
find_package( PkgConfig REQUIRED)
36+
pkg_check_modules( libcurl REQUIRED libcurl )
37+
38+
ament_auto_add_library(airsim_ros src/airsim_ros_wrapper.cpp)
39+
target_link_libraries(airsim_ros yaml-cpp AirLib)
40+
41+
ament_auto_add_executable(fsds_ros2_bridge src/fsds_ros2_bridge.cpp)
42+
target_link_libraries(fsds_ros2_bridge airsim_ros AirLib ${libcurl_LIBRARIES})
43+
44+
ament_auto_add_executable(fsds_ros2_bridge_camera src/fsds_ros2_bridge_camera.cpp)
45+
target_link_libraries(fsds_ros2_bridge_camera AirLib ${OpenCV_LIBS})
46+
47+
# install(TARGETS
48+
# #list of shared libraries
49+
# airsim_ros
50+
# # pd_position_controller_simple
51+
# ARCHIVE DESTINATION lib/${PROJECT_NAME}/
52+
# LIBRARY DESTINATION lib/${PROJECT_NAME}/
53+
# )
54+
55+
# install(FILES
56+
# #list of necessary files (xml...)
57+
# README.md
58+
# # settings.json
59+
# # nodelet_plugins.xml
60+
# DESTINATION share/${PROJECT_NAME}/
61+
# )
62+
63+
ament_auto_package(INSTALL_TO_SHARE launch)
64+

0 commit comments

Comments
 (0)