当前位置:   article > 正文

Ubuntu 22.04编译安装ROS noetic_ubuntu 22.04安装ros-noetic

ubuntu 22.04安装ros-noetic

1. 背景

ROS noetic是ROS1的最后一个发行版,它适配了Ubuntu 20.04官方软件源,此后只有ROS2适配Ubuntu的官方软件源。虽然ROS2对ROS1有一定的兼容,但不够完善,例如不再兼容catkin_make,所以安装ROS1还是一种需求。如果此后的Ubuntu发行版想安装ROS1,那只能自己行编译安装。

2. 安装

2.1. 添加ROS2

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-get/sources.list.d/ros2.list > /dev/null
sudo apt-get update

2.2. 安装依赖

sudo apt-get install -y python3-pip python3-rosinstall-generator python3-vcstools 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
sudo apt-get install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libccd-dev libfltk1.3-dev libqhull-dev libbullet-dev libsdl1.2-dev libsdl-image1.2-dev libpcl-dev gazebo libgazebo-dev
sudo apt-get install -y libboost-all-dev uuid-dev python3-nose google-mock libgtest-dev libbz2-dev libgpgme-dev libssl-dev python3-coverage libboost-program-options-dev python3-psutil python3-opengl python3-pygraphviz python3-pydot qt5-qmake sbcl libapr1-dev libaprutil1-dev libboost-regex-dev liblog4cxx-dev python3-matplotlib libpyside2-dev libshiboken2-dev pyqt5-dev python3-pyqt5 python3-pyqt5.qtsvg python3-pyside2.qtsvg python3-sip-dev shiboken2 lm-sensors graphviz python3-paramiko python3-pycryptodome python3-gnupg python3-defusedxml python3-pyqt5.qtopengl libcurl4-openssl-dev libpoco-dev libogre-1.9-dev libassimp-dev libogre-1.9.0v5 libyaml-cpp-dev libgl1-mesa-dev libglu1-mesa-dev libqt5opengl5 libqt5opengl5-dev libopencv-dev python3-opencv python3-pykdl tango-icon-theme liborocos-kdl-dev libtinyxml-dev libtinyxml2-dev liburdfdom-headers-dev python3-numpy python3-empy libboost-filesystem-dev libboost-thread-dev python3-pygraphviz python3-pygraphviz python3-mock libboost-date-time-dev libboost-system-dev liburdfdom-dev libboost-chrono-dev libboost-dev libqt5core5a libqt5gui5 libqt5widgets5 qtbase5-dev  libconsole-bridge-dev liblz4-dev python3-pyqt5.qtwebkit exfatprogs

2.3. 下载ros_noetic

git clone https://github.com/tinkerfuroc/ros_noetic_on_jammy

2.4. 编译ros_noetic

cd ros_noetic_on_jammy
./install.sh
./devel/bin/catkin_make_isolated
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release

2.5. 添加环境

bash:

  1. echo "source ~/ros_noetic_on_jammy/install_isolated/setup.bash" >> ~/.bashrc
  2. source ~/.bashrc

zsh:

  1. echo "source ~/ros_noetic_on_jammy/install_isolated/setup.zsh" >> ~/.zshrc
  2. source ~/.zshrc

3. 编译ROS代码

需要到编译路径中寻找catkin_make

~/ros_noetic_on_jammy/src/catkin/bin/catkin_make

也可以在.bashrc或.zshrc中设置catkin_make

alias catkin_make="~/ros_noetic_on_jammy/src/catkin/bin/catkin_make"

参考文献

https://github.com/tinkerfuroc/ros_noetic_on_jammy

ubuntu22.04+ROS noetic编译程序:error: ‘shared_mutex’ in namespace ‘std’ does not name a type_error: no member named 'random_shuffle' in namespa-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/1011256
推荐阅读
相关标签
  

闽ICP备14008679号