[親測有效]Ubuntu20.04安裝ROS1和ROS2


[親測有效]Ubuntu20.04安裝ROS1和ROS2

 

參考鏈接:https://www.guyuehome.com/35421

https://blog.csdn.net/qq_41276366/article/details/108810777#commentBox

 

在Ubuntu中打開“軟件更新”,選擇前四個。

配置網絡,選擇最佳服務器。

安裝預備環境

1 sudo apt-get install python
2 sudo apt-get install  g++

 

1. ROS1安裝

添加sources.list

1  sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

國內中國科技大學的源

1   sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

添加Keys

1 sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

安裝ROS1桌面完整版

1 sudo apt update
2 sudo apt install ros-noetic-desktop-full

注意:在安裝源的選擇上,可以選擇最佳的服務器或者usta源都可以,親測有效。

環境測試

1 source /opt/ros/noetic/setup.bash

補全rosdep

1 sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
2 sudo apt install python3-rosdep
3 sudo rosdep init
4 rosdep update

2. ROS2安裝

確保系統要支持 UTF-8:

1 sudo locale-gen en_US en_US.UTF-8
2 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8

設置軟件源

 1 sudo apt update
 2 sudo apt install curl gnupg2 lsb-release
 3 
 4 # 下面這條語句,我的輸出錯誤: gpg: no valid OpenPGP data found
 5 # curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
 6 # 解決上面的問題,可以換成下面這條語句:
 7 $ curl http://repo.ros2.org/repos.key | sudo apt-key add - 
 8 
 9 # 之后再添加源(自己電系統里選擇的源):
 
sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

安裝ROS2 package

 1 # 進入文件夾並修改ros2-latest.list文件
 2 cd /etc/apt/sources.list.d
 3 sudo vim ros2-latest.list
 4 
 5 # 打開文本后出現
 6 deb http://packages.ros.org/ros2/ubuntu bionic main
 7 # 在deb后插入[arch=amd64]
 8 deb [arch=amd64] http://packages.ros.org/ros2/ubuntu bionic main
 9 
10 # 保存並關閉,然后更新
11 sudo apt update
12 # 最后就可以進行安裝了
13 sudo apt install ros-foxy-desktop
sudo apt install python3-colcon-common-extensions

注意:解決:dpkg: 錯誤: 另外一個進程已經為 dpkg frontend lock 加鎖

1 $ ps -e | grep apt
2    8925 pts/0    00:00:01 apt-get
3 
4 $ sudo kill 8925

*(非必須)注意:如果ROS2缺失很多依賴,可以考慮卸載重新安裝,卸載ROS2

1 sudo apt-get remove ros-foxy-*
2 sudo apt autoremove

安裝rosdep和相關依賴:

1 rosdep install --from-path /opt/ros/foxy/src --ignore-src -r -y

環境測試

1 ource /opt/ros/foxy/setup.bash

自動補全工具

1 sudo apt update
2 sudo apt install python3-argcomplete
3 sudo apt update
4 sudo apt install ros-foxy-rmw-connext-cpp  #(這句命令FQ后重新安裝好ros2后,就可以運行成功了)

安裝ros1轉換bridge

1 sudo apt update
2 sudo apt install ros-foxy-ros1-bridge 

3.ROS1和ROS2混合配置

1 sudo gedit ~/.bashrc

 

打開.bashrc文本文件后在末尾加上如下代碼,完成環境變量設置。

1 #source /opt/ros/noetic/setup.bash
2 echo "ros noetic(1) or ros2 foxy(2)?"
3 read edition
4 if [ "$edition" -eq "1" ];then
5   source /opt/ros/noetic/setup.bash
6 else
7   source /opt/ros/foxy/setup.bash
8 fi

4.ROS1和ROS2差異

編譯

1 catkin_make --> colcon build
2 
3 catkin_make -DCATKIN_WHITELIST_PACKAGES="" --> colcon build --packages-select  PACKAGE_NAME

bashrc存入

1 echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc --> echo "source ~/colcon_ws/install/setup.bash" >> ~/.bashrc

terminal 命令

1 rosrun --> ros2 run
2 rosnode --> ros2 node
3 roslaunch --> ros2 launch
4 rosparam --> ros2 param
5 rospkg --> ros2 pkg
6 rosservice --> ros2 service 
7 rossrv --> ros2 srv
8 rostopic --> ros2 topic
9 rosaction --> ros2 action

注意:ROS2相比ROS1在語法上有了很大的改變,在編程思路還是一樣。

 

參考鏈接:https://www.guyuehome.com/35421

https://blog.csdn.net/qq_41276366/article/details/108810777#commentBox

https://blog.csdn.net/weixin_48370221/article/details/115876753#commentBox

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM