Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS Jazzy

This repository contains a prebuilt ROS2 Jazzy workspace for the soda-sim-ros2 plugin.
It also includes extra ROS packages:

Usually you will not have to rebuild this package, but if this is necessary, then below are the steps on how to build this.

How to Build for Windows

Note

It is very important that the chosen path is short, due to the short default Windows path limits (260 characters). Even enabling the "Long Path" policy does not help to solve all the problems. Therefore, In any case, the compilation should be done along the shortest path, for example C:\ros2

Note

You should remove the FastDDS libraries if you have them installed.

  • Perfom all step from Original Manuale till to Install additional DDS implementations (optional). OpenCV, RQt dependencies, and QT5 installation steps can be skipped.
  • Remove rosidl_python, rclpy, and rosidl_runtime_py:
    RMDIR /S /Q src\ros2\rosidl_python src\ros2\rclpy src\ros2\rosidl_runtime_py
    
  • Clone additional repos to src/soda folder:
    git clone -b ros2 https://github.com/ros-drivers/ackermann_msgs.git
    git clone https://github.com/soda-auto/ros-ue-wrapper.git
    git clone https://github.com/soda-auto/ros-soda-msgs.git
    
  • Open x64 Native Tools Command Prompt for VS 2022 and build ROS2:
    colcon build ^
      --install-base <PATH_TO_THIS_REPO>/Source/ROSJazzy/Win64 ^
      --merge-install ^
      --event-handlers console_direct+ ^
      --packages-up-to rclcpp rclcpp_action geometry_msgs sensor_msgs tf2_msgs rosgraph_msgs statistics_msgs nav_msgs ackermann_msgs soda_msgs ros2_ue_wrapper ros2_ue_wrapper_common_msgs ^
      --cmake-args "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DCOMPILE_TOOLS=OFF -DBENCHMARK_ENABLE_TESTING=OFF"
    
  • Copy all .dll from C:/Program Files/OpenSSL-Win64/bin/ to <PATH_TO_THIS_REPO>/Source/ROSJazzy/Win64/bin/
  • Copy C:/ProgramData/chocolatey/lib/tinyxml2/lib/tinyxml2.dll to <PATH_TO_THIS_REPO>/Source/ROSJazzy/Win64/bin/

Note

Rebuild only SODA packages:

colcon build ^
  --install-base <PATH_TO_THIS_REPO>/Source/ROSJazzy/Win64 ^
  --merge-install ^
  --event-handlers console_direct+ ^
  --packages-select soda_msgs ros2_ue_wrapper ^
  --cmake-args "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DCOMPILE_TOOLS=OFF -DBENCHMARK_ENABLE_TESTING=OFF"

How to Build for Linux

Tested on Ubuntu 24.04, UE5.7 and v26_clang-20.1.8-rockylinux8.

  • $ export UE_ENGINE=<PATH_TO_UE>/Engine
  • $ cd <REPO_ROOT>/ros2-build-scripts/
  • Perfom all step from Original Manuale till to Install additional DDS implementations (optional). Clone all ros repos to ros2-build-scripts/src folder.
  • Clone additional repos to ros2-build-scripts/src/soda folder:
    git clone -b ros2 https://github.com/ros-drivers/ackermann_msgs.git
    git clone https://github.com/soda-auto/ros-ue-wrapper.git
    git clone https://github.com/soda-auto/ros-soda-msgs.git
    
  • Build ROS2:
    $ ./vcpkg-linux.sh
    $ ./BuildForLinux.sh
    

Note

After the first run of the BuildForLinux.sh script, it will crash with the error std::atomic. To fix this, you need to remove the line include(cmake/atomic.cmake) in the file build\foonathan_memory_vendor\foo_mem-ext-prefix\src\foo_mem-ext\CMakeLists.txt and run BuildForLinux.sh again. TODO: make a patch file.

Note

For rebuild only soda packages use RebuildSodaPackages.sh script

Note

TODO: try to build ROS2 for Linux from Windows

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages