Data Sheets =========== - `ROS2 Cheat Sheet `__ - `Jackal Specification Sheet `__ - `Ouster Data Sheets `__ Documentations ============== - `Jackal User Manual `__ - `Jackal ROS2 Tutorials `__ - `Jackal Docs `__ - `Ouster ROS Docs `__ - `Ouster ROS2 Docs `__ - `Jackal Navigation `__ - `Jackal Simulation `__ - `Jackal Github `__ ROS2 Installation ================= .. _ROS2 Foxy: https://docs.ros.org/en/foxy/Installation.html .. _Ubuntu 20.04: https://releases.ubuntu.com/focal/ .. .. figure:: media/pictures/foxy.png .. :width: 70% .. :align: center .. warning:: Care should be taken when installing ROS so that it matches with your CPU's architecture (i.e. armhf, amd64, arm6, etc.) .. note:: All the ROS related software should be installed/run on remote PC/Raspberry Pi/Nvidia board, nothing needed to be installed on robots control board if bought with the ROS pkg. PC Setup -------- `ROS2 Foxy`_ installation requires **Ubuntu 20.04**. 1. Download `Ubuntu 20.04`_ 2. Follow the `Ubuntu 20.04 installation guide `_ ROS Foxy Installation --------------------- The ROS driver provided can be run either on a remote PC or on board robot computer. Typically, the on-board computer already has a pre-installed ROS distribution, so the instructions below will be applicable to a remote computer. You may execute the following commands to install ROS Foxy, or you can simply follow the `instructions `_ from the ROS Wiki. .. figure:: media/pictures/foxy.png :width: 70% :align: center Set Locale ---------- Ensure that your system supports :code:`UTF-8` locale. Verify your locale settings with the following command: .. code-block:: bash locale If necessary, set up a :code:`UTF-8` locale: .. code-block:: bash sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 Setup Sources ------------- Add the ROS2 apt repository to your system. First, make sure that the `Ubuntu Universe repository `_ is enabled: .. code-block:: bash sudo apt install software-properties-common sudo add-apt-repository universe Next, add the ROS2 GPG key with apt: .. code-block:: bash sudo apt update && sudo apt install curl -y sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc -o /usr/share/keyrings/ros-archive-keyring.gpg Then, add the repository to your sources list: .. code-block:: bash echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(./etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null Install ROS2 Packages --------------------- Update your apt repository caches after setting up the repositories: .. code-block:: bash sudo apt update Ensure your system is up to date before installing new packages: .. code-block:: bash sudo apt upgrade .. _ros-foxy-desktop: Desktop Install (Recommended) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Install ROS, RViz, demos, and tutorials: .. code-block:: bash sudo apt install ros-foxy-desktop python3-argcomplete ROS-Base Install (Bare Bones) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Install communication libraries, message packages, and command line tools without GUI tools: .. code-block:: bash sudo apt install ros-foxy-ros-base python3-argcomplete Development Tools ----------------- Install compilers and other tools to build ROS packages: .. code-block:: bash sudo apt install ros-dev-tools Environment Setup ----------------- Source the setup script to set up your environment: .. code-block:: bash # Replace ".bash" with your shell if you're not using bash # Possible values are: setup.bash, setup.sh, setup.zsh source /opt/ros/foxy/setup.bash Try Some Examples ----------------- If you installed :ref:`ros-foxy-desktop` above, try some examples: Run a C++ :code:`talker` in one terminal: .. code-block:: bash source /opt/ros/foxy/setup.bash ros2 run demo_nodes_cpp talker Run a Python :code:`listener` in another terminal: .. code-block:: bash source /opt/ros/foxy/setup.bash ros2 run demo_nodes_py listener This verifies both the C++ and Python APIs are working properly. Next Steps After Installing --------------------------- Continue with the `tutorials and demos `_ to configure your environment, create your own workspace and packages, and learn ROS2 core concepts. Using the ROS1 Bridge ---------------------- Connect topics from ROS1 to ROS2 and vice-versa using the ROS1 bridge. See the dedicated `documentation `_ on how to build and use the ROS1 bridge. Additional RMW Implementations (Optional) ----------------------------------------- ROS2 uses `Fast-RTPS` as the default middleware (RMW), but you can replace it at runtime. See the `guide `_ on how to work with multiple RMWs. Troubleshooting --------------- Refer to the troubleshooting techniques found `here `_ if you encounter any issues. Uninstall --------- If you need to uninstall ROS2 or switch to a source-based install once you have already installed from binaries, run the following command: .. code-block:: bash sudo apt remove ~nros-foxy-* && sudo apt autoremove You may also want to remove the repository: .. code-block:: bash sudo rm /etc/apt/sources.list.d/ros2.list sudo apt update sudo apt autoremove # Consider upgrading for packages previously shadowed. sudo apt upgrade