-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fb7758f
commit 7f172ee
Showing
6 changed files
with
190 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
--- | ||
last_modified_date: 26/02/2022 | ||
layout: default | ||
title: Install on Ubuntu 22.04 Jammy | ||
nav_order: 2 | ||
parent: Installation | ||
--- | ||
|
||
This tutorial is to install directly on **Ubuntu 22.04 Jammy**. | ||
|
||
## Install ROS Noetic on Ubuntu 22.04 [Ref](https://github.com/tinkerfuroc/ros_noetic_on_jammy) | ||
|
||
Since the ROS Noetic only officialy support Ubuntu 20.04, we need to add ROS 2 source. | ||
|
||
|
||
```bash | ||
sudo apt-get update && sudo apt-get install -y curl | ||
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg | ||
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 | ||
sudo apt-get update | ||
``` | ||
|
||
Install basic dependencies | ||
|
||
```bash | ||
sudo apt-get install -y python3-pip python3-rosdep python3-rosinstall-generator python3-vcstools python3-vcstool build-essential python3-numpy | ||
sudo pip3 install -U rosdep rosinstall_generator vcstool | ||
sudo pip3 install --upgrade setuptools | ||
sudo apt-get install -y build-essential | ||
sudo apt-get install -y cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libfltk1.3-dev | ||
``` | ||
|
||
Prepare rosdep and installation workspace | ||
|
||
```bash | ||
# Initiate Rosdep | ||
rosdep init | ||
rosdep update | ||
# Make workspace | ||
mkdir ~/ros_catkin_ws | ||
cd ~/ros_catkin_ws | ||
# Download source script | ||
rosinstall_generator desktop_full --rosdistro noetic --deps --tar > noetic-desktop-full.rosinstall | ||
# Download sources from source script | ||
mkdir ./src | ||
vcs import --input noetic-desktop-full.rosinstall ./src | ||
``` | ||
|
||
Patch source code and install dependencies | ||
|
||
```bash | ||
# Patch source | ||
sed -i -e s/"<run_depend>hddtemp<\/run_depend>"/"<\!-- <run_depend>hddtemp<\/run_depend> -->"/g ./src/diagnostics/diagnostic_common_diagnostics/package.xml | ||
# Install dependencies with rosdep | ||
rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic -y | ||
``` | ||
|
||
Patch source code to compile | ||
|
||
```bash | ||
sed -i -e s/"COMPILER_SUPPORTS_CXX11"/"COMPILER_SUPPORTS_CXX17"/g ./src/geometry/tf/CMakeLists.txt | ||
sed -i -e s/"c++11"/"c++17"/g ./src/geometry/tf/CMakeLists.txt | ||
sed -i -e s/"CMAKE_CXX_STANDARD 14"/"CMAKE_CXX_STANDARD 17"/g ./src/kdl_parser/kdl_parser/CMakeLists.txt | ||
sed -i -e s/"CMAKE_CXX_STANDARD 11"/"CMAKE_CXX_STANDARD 17"/g ./src/laser_geometry/CMakeLists.txt | ||
sed -i -e s/"c++11"/"c++17"/g ./src/resource_retriever/CMakeLists.txt | ||
sed -i -e s/"COMPILER_SUPPORTS_CXX11"/"COMPILER_SUPPORTS_CXX17"/g ./src/robot_state_publisher/CMakeLists.txt | ||
sed -i -e s/"c++11"/"c++17"/g ./src/robot_state_publisher/CMakeLists.txt | ||
sed -i -e s/"c++11"/"c++17"/g ./src/rqt_image_view/CMakeLists.txt | ||
sed -i -e s/"CMAKE_CXX_STANDARD 14"/"CMAKE_CXX_STANDARD 17"/g ./src/urdf/urdf/CMakeLists.txt | ||
|
||
sed -i -e s/"CMAKE_CXX_STANDARD 14"/"CMAKE_CXX_STANDARD 17"/g ./src/perception_pcl/pcl_ros/CMakeLists.txt | ||
sed -i -e s/"c++14"/"c++17"/g ./src/perception_pcl/pcl_ros/CMakeLists.txt | ||
sed -i -e s/"CMAKE_CXX_STANDARD 11"/"CMAKE_CXX_STANDARD 17"/g ./src/laser_filters/CMakeLists.txt | ||
``` | ||
|
||
Replace rosconsole | ||
|
||
```bash | ||
rm -rf ./src/rosconsole | ||
cd src | ||
git clone https://github.com/tatsuyai713/rosconsole | ||
cd .. | ||
``` | ||
|
||
Build (This could take upto 30 minutes) | ||
|
||
```bash | ||
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release | ||
``` | ||
|
||
Source it to use it. You may add this at `~/.bashrc` to set it as default. | ||
|
||
```bash | ||
source ~/ros_catkin_ws/install_isolated/setup.bash | ||
``` |
Oops, something went wrong.