-
Notifications
You must be signed in to change notification settings - Fork 98
Installation for ROS Noetic
Martin Pecka edited this page Dec 9, 2024
·
3 revisions
This is a WIP tutorial. If you face issues, please report them.
Installing Linux and SubT from Scratch on Ubuntu 20.04 & ROS Noetic
Install Ubuntu 20.04 LTS
Install Graphics Drives:
sudo ubuntu-drivers autoinstall
Install Simulator
sudo apt-get update && sudo apt-get install lsb-release wget
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
sudo apt-get update
sudo apt-get -y install build-essential cmake libusb-dev libccd-dev libfcl-dev pkg-config python3 ignition-fortress ros-noetic-desktop \\
ros-noetic-tf2-sensor-msgs ros-noetic-robot-localization ros-noetic-ros-control ros-noetic-control-toolbox ros-noetic-twist-mux ros-noetic-joy \\
python3-vcstool python3-colcon-common-extensions git python3-rosdep ros-noetic-image-transport-plugins ros-noetic-pcl-ros pcl-tools libpcl-conversions-dev python3-catkin-tools
sudo apt-get upgrade
sudo rosdep init && rosdep update
mkdir -p ~/subt_ws/src && cd ~/subt_ws/src
git clone https://github.com/osrf/subt -b fortress-noetic
git clone https://github.com/ignitionrobotics/ros_ign -b noetic
git clone -n --depth=1 –filter=tree:0 https://github.com/ethz-asl/rotors_simulator && cd rotors_simulator && git sparse-checkout set --no-cone rotors_control && git checkout && cd ..
git clone https://github.com/ethz-asl/mav_comm
Fix tracked vehicles and wheel slip
git clone https://github.com/gazebo-forks/dart -b release-6.10
mkdir dart/build
cd dart/build
sudo apt install coinor-libipopt-dev libnlopt-cxx-dev
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/dart6.10 -DCMAKE_BUILD_TYPE=Release
make -j12 && sudo make -j12 install
cd ../..
git clone https://github.com/gazebosim/gz-physics -b ign-physics5
mkdir gz-physics/build
cd gz-physics/build
CMAKE_PREFIX_PATH=/opt/dart6.10/share/dart/cmake:$CMAKE_PREFIX_PATH cmake .. -DCMAKE_INSTALL_PREFIX=/opt/ign-physics5 -DCMAKE_BUILD_TYPE=RelWithDebInfo
make -j12 && sudo make -j12 install
# Now this is ugly hack but there is no way to convince gz::common::SystemPaths to prefer a custom engine named the same as a preinstalled one.
sudo ln -sf /opt/ign-physics5/lib/ign-physics-5/engine-plugins/libignition-physics-dartsim-plugin.so /usr/lib/x86_64-linux-gnu/ign-physics-5/engine-plugins/libignition-physics-dartsim-plugin.so
echo 'export LD_LIBRARY_PATH=/opt/ign-physics5/lib:/opt/dart6.10/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
**After -- **
# Source ROS distro's setup.bash**
source /opt/ros/noetic/setup.bash
# Build and install into workspace
cd ~/subt_ws/
export IGNITION_VERSION=fortress
rosdep install --from-paths src --ignore-src -r
catkin init
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin config --install --extend /opt/ros/noetic
catkin build
Rest of Simulator
Fuel Files
Create model cache symlink from the new address of Fuel server to the old one:
mkdir -p ~/.ignition/fuel
rm -rf ~/.ignition/fuel/fuel.ignitionrobotics.org
ln -s ~/.ignition/fuel/fuel.gazebosim.org ~/.ignition/fuel/fuel.ignitionrobotics.org
Downloaded using
ign fuel download -v 4 -j 8 --type model -u "https://fuel.gazebosim.org/OpenRobotics/collections/SubT Tech Repo"
**Solving the error: **
../src/intel/isl/isl.c:2105: FINISHME:
../src/intel/isl/isl.c:isl_surf_supports_ccs: CCS for 3D textures is disabled, but a workaround is available.
.
# Update Mesa driver
# sudo add-apt-repository ppa:kisak/turtle
# sudo apt dist-upgrade
Upgrade kernel to get newest Intel GPU drivers (doesn't work with nvidia GPUs)
cd ~
git clone https://github.com/peci1/kumk/ -b devel
sudo kumk/kumk install 6.8.7 # or any other recently released kernel version; do not use 'latest' -- it doesn't work anymore
reboot and look into dmesg to see if you're not missing some firmware... if you do, download it from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 into folder /lib/firmware/i915/