𝖄𝕺🌎𝕿𝕽𝕺¥

𝖄𝕺🌎𝕿𝕽𝕺¥

𝕴 𝖉𝖔 𝖒𝖆𝖌𝖎𝖈
github

ROS1 安装 ubuntu22.04 遇到的问题 404 Not Found & 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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。