![[具身智能-187]:WSL2 Ubuntu22.04 安裝 ROS2 Humble(匹配亞博 ROSMASTER M1 小車)](http://pic.xiahunao.cn/yaotu/[具身智能-187]:WSL2 Ubuntu22.04 安裝 ROS2 Humble(匹配亞博 ROSMASTER M1 小車))
WSL2 Ubuntu22.04 安裝 ROS2 Humble環(huán)境說(shuō)明小車系統(tǒng) Ubuntu22.04 HumbleWSL 必須同版本 ROS2避免消息不兼容推薦Windows11 WSL2自帶 WSLg直接彈出 Rviz2 圖形界面不用額外 VcXsrv一、先確認(rèn) WSL 系統(tǒng)版本打開(kāi) WSL 終端執(zhí)行bash運(yùn)行l(wèi)sb_release -a確保Jammy Jellyfish (Ubuntu 22.04)如果不是需要重裝對(duì)應(yīng) Ubuntu。二、正式安裝步驟逐條復(fù)制執(zhí)行1. 配置語(yǔ)言環(huán)境bash運(yùn)行sudo apt update sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALLen_US.UTF-8 LANGen_US.UTF-8 export LANGen_US.UTF-82. 啟用 Ubuntu universe 軟件源bash運(yùn)行sudo apt install software-properties-common sudo add-apt-repository universe3. 添加 ROS2 官方 GPG 密鑰 軟件源bash運(yùn)行sudo apt update sudo apt install curl gnupg lsb-release 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 $(source /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null4. 更新軟件緩存bash運(yùn)行sudo apt update sudo apt upgrade -y5. 安裝 ROS2 Humble 完整版強(qiáng)烈推薦bash運(yùn)行sudo apt install ros-humble-desktop -yros-humble-desktop包含rviz2、demo、tf2、可視化全套工具開(kāi)發(fā)機(jī)器人首選 極簡(jiǎn)版本無(wú) GUI不推薦ros-humble-base6. 環(huán)境變量配置關(guān)鍵bash運(yùn)行echo source /opt/ros/humble/setup.bash ~/.bashrc source ~/.bashrc每次新開(kāi)終端自動(dòng)加載 ROS2 環(huán)境不用反復(fù)手動(dòng) source7. 安裝編譯工具colcon rosdep機(jī)器人編譯功能包必備bash運(yùn)行sudo apt install python3-colcon-common-extensions python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential -y # 初始化rosdep sudo rosdep init rosdep update三、驗(yàn)證安裝海龜測(cè)試終端 1仿真bash運(yùn)行ros2 run turtlesim turtlesim_node終端 2鍵盤控制bash運(yùn)行ros2 run turtlesim turtle_teleop_key? 彈出藍(lán)色海龜窗口、方向鍵可以控制海龜 安裝成功 測(cè)試 Rviz2 圖形界面bash運(yùn)行rviz2Windows11 WSLg 直接彈出窗口Windows10 需要額外配置 Xserver四、【重中之重】WSL ? 局域網(wǎng) ROSMASTER M1 小車通信配置WSL 默認(rèn) NAT 網(wǎng)絡(luò)DDS 自動(dòng)發(fā)現(xiàn)經(jīng)??床坏叫≤囋掝}兩套解決方案1. 統(tǒng)一 DDS先執(zhí)行兩端保持一致WSL 內(nèi)寫(xiě)入環(huán)境變量bash運(yùn)行echo export RMW_IMPLEMENTATIONrmw_fastrtps_cpp ~/.bashrc source ~/.bashrc小車 Ubuntu 系統(tǒng)也要設(shè)置同樣環(huán)境變量必須都使用 FastDDS2. 兩種連通方案方案 A工程穩(wěn)定方案FastDDS 靜態(tài)發(fā)現(xiàn) XML推薦指定機(jī)器人 IP 和 WSL IP繞開(kāi)不穩(wěn)定的組播自動(dòng)發(fā)現(xiàn)方案 B簡(jiǎn)易測(cè)試橋接 WSL把 WSL 設(shè)置成局域網(wǎng)獨(dú)立 IP和小車在同一網(wǎng)段設(shè)置相對(duì)復(fù)雜五、USB 設(shè)備直通手柄、串口、攝像頭調(diào)試小車必備Windows PowerShell【管理員】安裝 usbipdpowershellwinget install usbipd.usbipd # 查看usb設(shè)備 usbipd list # 綁定設(shè)備 usbipd bind --busid x-x # 掛載到WSL usbipd attach --wsl --busid x-xWSL 內(nèi)驗(yàn)證bash運(yùn)行l(wèi)s /dev/input六、高頻踩坑清單新開(kāi)終端 ros2 命令找不到?jīng)]有寫(xiě)入~/.bashrc重新執(zhí)行環(huán)境配置命令WSL 啟動(dòng) rviz2 報(bào)錯(cuò)無(wú)法顯示W(wǎng)indows10安裝 VcXsrvWindows11 原生 WSLg 無(wú)需操作WSL 和小車互相看不到話題① RMW 必須統(tǒng)一 fastrtps ② Windows 防火墻放行 UDP 7400~7600 端口 ③ 優(yōu)先使用靜態(tài) DDS 發(fā)現(xiàn)配置colcon build 編譯報(bào)錯(cuò)執(zhí)行rosdep install --from-paths src --ignore-src -r -y自動(dòng)安裝依賴拓展后續(xù)導(dǎo)入亞博小車源碼bash運(yùn)行# 進(jìn)入工作空間 cd ~/yahboomcar_ws # 安裝依賴 rosdep install --from-paths src --ignore-src -r -y # 編譯 colcon build source install/setup.bash