𝖄𝕺🌎𝕿𝕽𝕺¥

𝖄𝕺🌎𝕿𝕽𝕺¥

𝕴 𝖉𝖔 𝖒𝖆𝖌𝖎𝖈
github

ROS1 安裝 ubuntu22.04 遇到的問題 404 找不到 & TURTLEBOT3_MODEL

環境#

Windows 11 安裝的 wsl-ubuntu

Error: jammy Release 404 Not Found#

Err:10 http://packages.ros.org/ros/ubuntu jammy Release 404 Not Found [IP: 140.211.166.134 80] Reading package lists... Done 
W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details. 
E: The repository 'http://packages.ros.org/ros/ubuntu jammy Release' does not have a Release file. 
N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.

解決方案#

請確認 ros 版本和 ubuntu 版本是否匹配,我的問題在於 ubuntu22.04 只能安裝 ros2 無法兼容 ros1,因為 ros1 最高只支持到 ubuntu20.04。於是在通過 wsl 下載了 ubuntu20.04,步驟如下。

推薦 powershell 工具#

蠻推薦微軟官方的這個 PowerShell美區連結

powershell_mstore

powershell_show

wsl 安裝 ubuntu20.04#

windows 打開 powershell,現在要檢索可以直接安裝的系統,輸入:

wsl --list --online

wsllist

安裝 20.04 版本 ubuntu 請輸入:

wsl --install -d Ubuntu-20.04

然後可以跟隨ros1 官方教程安裝了。中文官方教程

vscode 啟動 wsl#

若存在多個 wsl 安裝的系統,在 vscode 中如何鏈接?
先安裝 ssh 擴展
vscode_ssh

如圖操作,然後選擇需要的 20.04 的 ubuntu 系統
ros_install_vscode1

即可

Error: 'TURTLEBOT3_MODEL' is not set#

安裝完成後用 roslaunch 命令嘗試啟動 turtlebot3 package 啟動報錯如下:

$ roslaunch turtlebot3_gazebo turtlebot3_world.launch

RLException: Invalid <arg> tag: environment variable 'TURTLEBOT3_MODEL' is not set. 

Arg xml is <arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/>
The traceback for the exception was written to the log file

解決方案#

我的解決辦法是設置成 waffle,可按需修改

export TURTLEBOT3_MODEL=waffle

再次嘗試
vscode_roslaunch

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。