Skip to content

Latest commit

 

History

History
52 lines (46 loc) · 2.73 KB

README.md

File metadata and controls

52 lines (46 loc) · 2.73 KB

Outdoor SLAM and Autonomous Navigation

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.

Supported Configurations:

  • 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

Steps to build and run the projects

  • Run the ros-humble-install.sh for installing all the prereqs needed!

  • To build: bazel build <target> and to run bazel run <target>; For more please read the Bazel documentation. For building the whole repo, run bazel 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):
      ros2_local_repository(
          name = "ros2",
          workspace = ["/opt/ros/<distro>", "<path_to_your_outdoor_ws>/install"],
      )
      NOTE: Multiple ROS workspaces can be added and just need to be added as a string in a workspace list as shown.

Features

  • 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 both Python and C++ targets.
  • This package uses Bazel ROS2 rules from drake-ros
  • List of external packages being pulled in currently and available to use:

Maintainers: