This is the mono repo for the outdoor SLAM and Autonomous Navigation project at Drexel University. The project is a collaboration between Drexel Wireless Systems Lab and Zhou Robotics Lab at Drexel College of Engineering.
- Ubuntu 22.04 + ROS2 Humble
- Ubuntu 20.04 + ROS2 Rolling
- Architecture: x86_64 (amd64), aarch64 (experimental) and Mac M1/Apple Silicon (all
plannning/*
targets) - Bazel >= 5.0
-
Run the
ros-humble-install.sh
for installing all the prereqs needed! -
To build:
bazel build <target>
and to runbazel run <target>
; For more please read the Bazel documentation. For building the whole repo, runbazel build ...
-
[Optional/Skip unless you know what you are doing] If you want to create an overlay ROS2 workspace and use the that. You can use
outdoor.repos
to pull in the required packages via the following steps-mkdir -p outdoor_ws/src cd outdoor_ws vcs import < `path_to_this_repo`/outdoor.repos src sudo apt-get update rosdep init #(if not already done) rosdep update rosdep install --from-paths src --ignore-src -r -y colcon build --symlink-install
- Bind a local ROS 2 workspace underlay in your WORKSPACE (given in the root of this project):
NOTE: Multiple ROS workspaces can be added and just need to be added as a string in a
ros2_local_repository( name = "ros2", workspace = ["/opt/ros/<distro>", "<path_to_your_outdoor_ws>/install"], )
workspace
list as shown.
- Bind a local ROS 2 workspace underlay in your WORKSPACE (given in the root of this project):
- Created an
example
directory to show how to pull in and build external useful libs like drake-ros, drake, OpenCV and use it in your project for bothPython
andC++
targets. - This package uses Bazel ROS2 rules from drake-ros
- List of external packages being pulled in currently and available to use:
- drake
- drake-ros
- Mujoco
- via bazel-deps:
- opencv
- ffmpeg (and many codecs)
- gstreamer (and many of its plugins, including X output)
- eigen
- boost
- fmt
- Python3 (3.10) packages: See requirements.txt
- Adeeb Abbas: @adeeb10abbas