目錄
一、設置語言環境
二、添加存儲庫
三、添加軟件源
四、安裝ROS2
五、配置環境
六、測試ROS2
七、安裝一些工具
7.1?terminator
7.2?colcon工具?
7.3 tf工具?
7.4?joint-state-publisher工具
7.5 urdf
八、安裝三方庫
8.1 Eigen
8.2 yaml-cpp
8.3?matplotlib
8.4 osqp和osqp-eigen
一、設置語言環境
檢查本地語言環境是否支持UTF-8編碼,在控制臺輸入如下命令檢查
locale
如下圖,每1條都含有“UTF-8”就表示支持UTF-8編碼
如果沒有上圖的輸出,就需要輸入如下指令使得系統支持UTF-8編碼
二、添加存儲庫
打開“軟件和更新”,勾選“社區維護的自由和開源軟件”
三、添加軟件源
1. 在控制臺中輸入如下指令,更新軟件源
sudo apt update
2. 輸入如下指令來利用apt
工具從 Ubuntu 的官方軟件源中下載并安裝curl
軟件包
sudo apt install curl -y
3. 輸入如下指令來安全地從 ROS 官方 GitHub 倉庫獲取 GPG 密鑰,并將其保存到系統的密鑰環目錄中。
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
4. 輸入如下指令,將ROS2的阿里云鏡像源配置添加到系統的軟件源列表中,同時指定架構、密鑰驗證和當前 Ubuntu 版本代號,確保后續apt
命令能從正確的源下載適合當前系統的 ROS 2 軟件包
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \
https://mirrors.aliyun.com/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | \
sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
輸入上面的命令后可以在“/etc/apt/sources.list.d/”中找到“ros2.list”
打開“ros2.list”可以看到ROS2下載的源已經設置了
四、安裝ROS2
輸入如下3個指令,從已配置的軟件源(之前添加的阿里云 ROS 2 鏡像源)中下載并安裝ROS2 Humble版本的桌面完整版
sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop
五、配置環境
輸入如下指令,可以幫助讓用戶在打開終端后,把ROS2的環境會自動配置好,用戶可以直接使用ros2
命令以及相關工具
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
輸入如下指令,Bash 會重新讀取并執行.bashrc
文件中的所有命令?,可以使修改立即生效
source ~/.bashrc
執行后可以在主頁按下Ctrl+H顯示主頁隱藏的文件夾,然后打開“.bashrc”
可以看到已經進行了配置。這樣每次打開新的終端窗口時,系統自動執行“.bashrc”中的每一條命令,也就把"source /opt/ros/humble/setup.bash"一起執行了。
六、測試ROS2
輸入如下指令,運行turtlesim
軟件包中的turtlesim_node
節點,從而啟動海龜仿真器。這個仿真器會創建一個圖形界面,界面中有一只海龜,用戶可以通過發布指令控制海龜在畫布上移動。
ros2 run turtlesim turtlesim_node
如下圖,表示我們已經成功安裝了ROS2?
此時我們再重新打開一個終端窗口,輸入如下指令,就可以通過鍵盤的前后左右鍵來控制小烏龜移動了。
ros2 run turtlesim turtle_teleop_key
七、安裝一些工具
7.1?terminator
輸入如下指令來安裝terminator
sudo apt install terminator
安裝terminator后,再次打開終端后,我們就可以對終端進行水平、垂直分割,方便看到多個窗口的內容。
水平和垂直分割后如下所示。
7.2?colcon工具?
輸入如下指令來安裝colcon工具。colcon
?是 ROS 2 中官方推薦的構建工具,用于編譯和管理 ROS 2 工作空間中的軟件包。它集成了 CMake 和 Python 的構建系統,提供了更高效、更靈活的工作流。
sudo apt install python3 && sudo apt install python3-colcon-common-extensions
7.3 tf工具?
輸入如下指令。
????????第1條指令用于安裝tf工具。TF2 是 ROS 2 中用于管理和處理坐標系變換的核心框架,它能夠跟蹤機器人各部分(如傳感器、關節、末端執行器等)之間的空間關系,并在不同坐標系之間進行實時轉換。TF2 在機器人導航、定位、運動規劃等任務中起著至關重要的作用。
????????第2條指令用于安裝pip。通過python3-pip
,用戶可以方便地管理 Python 包,為后續開發或使用 Python 應用程序奠定基礎。
????????第3條指令用于安裝transform3d。這是一個專注于三維空間變換的 Python 庫,提供了各種坐標變換、旋轉矩陣、四元數等計算功能。
sudo apt install ros-humble-tf2-tools ros-humble-tf-transformations
sudo apt install python3-pip
pip3 install transforms3d
7.4?joint-state-publisher工具
輸入如下指令來安裝“joint-state-publisher”和“joint-state-publisher-gui”軟件包。
joint-state-publisher:
????????自動生成機器人各關節的控制值(如角度)。
????????通過/joint_states
話題發布這些值,供其他節點(如 RViz、控制器)使用。
????????適用于沒有真實硬件的仿真環境,或需要手動控制關節的場景。
joint-state-publisher-gui是joint-state-publisher
的圖形化擴展,提供:
????????滑塊界面:通過拖動滑塊實時調整關節角度。
????????關節分組:可折疊 / 展開不同部位的關節(如手臂、腿部)。
????????自動生成:基于機器人模型自動識別可活動關節,并創建對應的控制滑塊。
sudo apt install ros-humble-joint-state-publisher
sudo apt install ros-humble-joint-state-publisher-gui
7.5 urdf
輸入如下指令來安裝urdf。Xacro 是 ROS 中用于簡化機器人模型描述的工具,它基于 XML 語法,允許使用變量、宏定義、條件語句等編程元素來創建更簡潔、更易維護的機器人模型文件。Xacro 文件通常具有.xacro
或.urdf.xacro
擴展名,最終會被編譯成標準的 URDF(Unified Robot Description Format)文件。
sudo apt install ros-humble-xacro
八、安裝三方庫
8.1 Eigen
訪問“https://eigen.tuxfamily.org/”,點擊“Eigen 3.4.0 released!”
點擊鏈接
這里下載第1個
在Windows系統下載該壓縮包后,這里通過共享文件夾的方式將壓縮包共享到Ubuntu中。
提取壓縮包
在“/home/chaochao/下載/”中打開終端窗口,然后輸入如下指令將提取后文件夾移動到系統軟件安裝的位置“/usr/local/include/”
sudo mv eigen-3.4.0/ /usr/local/include/
8.2 yaml-cpp
可以通過訪問https://github.com/jbeder/yaml-cpp下載源碼。或通過輸入如下指令安裝:
sudo apt update
sudo apt install libyaml-cpp-dev
8.3?matplotlib
可以通過訪問官網“Matplotlib — Visualization with Python”下載。或通過如下指令下載:
# 方式1:(apt安裝)
sudo apt update
sudo apt install python3-matplotlib# 方式2:(pip安裝)
pip3 install matplotlib
8.4 osqp和osqp-eigen
通過如下指令先確認gcc和cmake已經安裝了。
gcc --version
cmake --version
在“主目錄”中打開終端窗口,輸入如下指令來安裝git
sudo apt install git
再通過git克隆V1.0.0的osqp?
git clone -b v1.0.0 https://github.com/osqp/osqp.git
通過git克隆V0.10.0的osqp-eigen
git clone -b v0.10.0 https://github.com/robotology/osqp-eigen.git
此時可以看到主目錄中已經有“osqp”和“osqp-eigen”
輸入如下指令 進入“osqp”目錄并創建“build”文件夾再進入“build”
cd osqp && mkdir build && cd build
輸入如下指令。通過該指令開發者可以將項目的源代碼轉換為可編譯的構建文件,為后續的編譯和安裝步驟做好準備。
cmake ..
輸入如下指令,該指令用于加速編譯過程的命令,它通過(nproc)獲取系統可用CPU核心數,并利用
make -j 選項開啟并行編譯,讓編譯器同時執行多個任務,顯著縮短項目的構建時間。
make -j$(nproc)
編譯后可以看到build目錄中包含很多文件
輸入如下指令,該指令會依據?Makefile
?中的規則將程序文件、庫文件和配置文件復制到指定的系統目錄(?/usr/local/
)
sudo make install
執行后可以看到在“/usr/local/include/osqp/”中包含如下頭文件
在 “/usr/local/lib/”中包含庫“libosqp.so”
輸入如下指令來更新庫的鏈接關系
sudo ldconfig
再輸入“source ~/.bashrc”
此時“osqp”就安裝完成了。下面同樣的步驟安裝“osqp-eigen”。
退回主目錄
依次輸入如下指令
cd osqp-eigen && mkdir build && cd build
cmake .. make -j$(nproc)
sudo make install
sudo ldconfig
source ~/.bashrc
?
安裝后可以檢查一下