System overview
Table of contents
We use the git
subtree
functionality to embed third-party libraries (repositories) as subdirectories within our repositories. This allows us to import them in our ROS packages.
In the navigator
Repository
- We bring in our own navigator_msgs repository. This allow us to modify the ROS messages in that repository in one place and have them be used in several of our repositories:
# To make the subtree for navigator_msgs: git subtree add --prefix=src/msg/navigator_msgs --squash https://github.com/Nova-UTD/navigator_msgs.git main # To pull new changes: git subtree pull --prefix=src/msg/navigator_msgs --squash https://github.com/Nova-UTD/navigator_msgs.git main
- Similarly, we also bring in ROS’ CARLA messages:
# To make the subtree for ros-carla-msgs: git subtree add --prefix=src/msg/ros-carla-msgs --squash https://github.com/carla-simulator/ros-carla-msgs.git master # To pull new changes: git subtree pull --prefix=src/msg/ros-carla-msgs --squash https://github.com/carla-simulator/ros-carla-msgs.git master
- The
ros2_numpy
repository facilitates translating between ROS messages and numpy:# To make the subtree for ros2_numpy: git subtree add --prefix=src/tools/ros2_numpy --squash https://github.com/Box-Robotics/ros2_numpy.git humble # To pull new changes: git subtree pull --prefix=src/tools/ros2_numpy --squash https://github.com/Box-Robotics/ros2_numpy.git humble
In the carla_interface
Repository
- As before, we bring in Nova’s
navigator_msgs
repository:git subtree add --prefix=src/msg/navigator_msgs --squash https://github.com/Nova-UTD/navigator_msgs.git main git subtree pull --prefix=src/msg/navigator_msgs --squash https://github.com/Nova-UTD/navigator_msgs.git main
- As before, we bring in the
ros2_numpy
repository (note that the carla_interface uses ROS2foxy
):git subtree add --prefix=src/tools/ros2_numpy --squash https://github.com/Box-Robotics/ros2_numpy.git foxy-devel git subtree pull --prefix=src/tools/ros2_numpy --squash https://github.com/Box-Robotics/ros2_numpy.git foxy-devel
In the vehicle_interface
Repository
- This repository also uses the
ros2_numpy
repository:git subtree add --prefix=src/tools/ros2_numpy --squash https://github.com/Box-Robotics/ros2_numpy.git humble git subtree pull --prefix=src/tools/ros2_numpy --squash https://github.com/Box-Robotics/ros2_numpy.git humble