ubuntu 16.0安装ros-kinetic

1.设置sources.list

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

best:

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

 

 

2.设置key(公钥已更新)

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

3.更新package

sudo apt-get update

 

Err:7 http://packages.ros.org/ros/ubuntu xenial/main i386 Packages               

Connection failed

 

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

4.安装ROS kinetic完整版

sudo apt-get install ros-kinetic-desktop-full

5.初始化rosdep

在使用ROS之前需要初始化rosdep

sudo rosdep init

rosdep update

 

ERROR: cannot download default sources list from: https://raw.githubusercont

 

1)ca-certificates问题,证书不对,重新安装证书

sudo apt-get install ca-certificates

2)系统时间同步问题,需要同步系统时间

参照链接https://blog.youkuaiyun.com/A18373279153/article/details/81003937进行系统时间同步

sudo apt-get install ntpdate
sudo ntpdate cn.pool.ntp.org
sudo hwclock --systohc

3) 还是ssl certs问题,继续尝试解决

sudo c_rehash /etc/ssl/certs 
sudo -E rosdep init

4)python-rosdep问题

sudo apt-get install python-rosdep

但以上方法全部无效,无奈之下直接在/etc目录下新建/ros/rosdep/sources.list.d/20-default.list文件(注意sudo rosdep init失败时,/etc下并没有/ros目录,需要依次逐级新建),然后将https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list内容粘贴进去,如下:

# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

https://zhuanlan.zhihu.com/p/77483614

6.配置ROS环境

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

7.安装依赖项

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

8.测试ROS是否安装成功

(1)CTRL+ALT+T打开终端(Termial),输入以下命令,初始化ROS环境:

roscore

(2)再 打开一个新的终端(Termial),输入以下命令,弹出一个小乌龟窗口:

rosrun turtlesim turtlesim_node

(3)出现一个小乌龟的LOGO后,再 打开一个新的终端(Termial),输入以下命令:


rosrun turtlesim turtle_teleop_key

(4)打开新的Termial,输入以下命令,可以查看ROS节点信息

rosrun rqt_graph rqt_graph

 

参考:

https://blog.youkuaiyun.com/weixin_43159148/article/details/83375218

 

<think>好的,用户想在Ubuntu 22.04上安装ROS Kinetic。但我知道ROS Kinetic原本是支持Ubuntu 16.04的,而Ubuntu 22.04对应的ROS版本应该是Humble Hawksbill。直接安装可能会有兼容性问题。那用户为什么需要Kinetic呢?可能是他们的项目依赖旧版本,或者教程/代码基于Kinetic开发,暂时无法升级。 首先,我需要确认ROS Kinetic是否官方支持Ubuntu 22.04。根据官方文档,Kinetic支持到Xenial(16.04)和Wily(15.10),而22.04是Jammy,不在支持列表中。所以直接通过官方源安装可能行不通。 接下来,用户可能尝试过常规方法但失败了。我需要考虑替代方案,比如从源码编译,或者使用容器如Docker。源码编译可能复杂且耗时,容易出错,但可能是可行的方法。另外,使用Docker镜像可能更简单,但需要用户熟悉Docker的使用。 查阅引用资料,用户提供的引用都是关于在Ubuntu 16.04安装Kinetic的步骤,如添加源、安装依赖等。但这些步骤在22.04上可能不适用,因为软件包依赖关系可能不满足。比如,某些Kinetic的依赖包可能在22.04的仓库中已不存在或版本过高。 可能的解决方案包括: 1. 使用Docker运行Ubuntu 16.04容器,并在其中安装ROS Kinetic。这种方法隔离环境,避免系统冲突,适合需要长期使用旧版本的情况。 2. 手动编译ROS Kinetic的源码,调整依赖项。这需要处理大量依赖问题,可能比较麻烦,适合有经验的用户。 3. 寻找第三方维护的PPA或仓库,可能有人为更新的系统适配了旧版ROS。但存在安全风险,需谨慎。 考虑到用户可能更希望直接安装,但实际困难较大,所以建议使用Docker方法更稳妥。此外,提醒用户考虑升级到支持的ROS版本,如Humble,并提供迁移建议,可能更长远解决问题。 需要详细说明Docker的安装步骤,包括安装Docker引擎、拉取Ubuntu 16.04镜像、运行容器、在容器内安装ROS Kinetic等步骤。同时,要强调兼容性问题和可能的性能影响。 此外,用户可能需要配置网络或硬件访问(如Kinect驱动),在Docker中可能需要额外参数,比如--privileged或挂载设备节点。引用[4]提到安装Kinect驱动需要一些依赖,但在容器中可能更复杂,需注意。 总结回答结构:先说明官方不支持,再提供替代方案,详细步骤,最后建议升级。同时生成相关问题,帮助用户进一步解决问题。</think>根据官方支持列表,ROS Kinetic 原本仅适配 Ubuntu 16.04(Xenial)系统[^3]。由于 Ubuntu 22.04(Jammy)与 16.04 的系统库和依赖项存在较大差异,**官方已明确声明不支持直接安装 ROS Kinetic**。以下是两种替代解决方案: --- ### 方案一:通过 Docker 容器运行 ROS Kinetic 1. **安装 Docker 环境** ```bash sudo apt-get update sudo apt-get install docker.io sudo systemctl enable --now docker ``` 2. **拉取 Ubuntu 16.04 镜像** ```bash docker pull ubuntu:xenial ``` 3. **创建并进入容器** ```bash docker run -it --name ros_kinetic ubuntu:xenial /bin/bash ``` 4. **在容器内安装 ROS Kinetic** 依次执行以下命令(参考官方步骤[^1][^2]): ```bash apt-get update && apt-get install -y locales locale-gen en_US en_US.UTF-8 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 echo "deb http://packages.ros.org/ros/ubuntu xenial main" > /etc/apt/sources.list.d/ros-latest.list apt-get update && apt-get install -y ros-kinetic-desktop-full echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc ``` --- ### 方案二:手动编译源码(高风险) 1. **安装基础依赖** ```bash sudo apt-get install python3-rosdep python3-rosinstall-generator python3-vcstool build-essential ``` 2. **初始化 rosdep** ```bash sudo rosdep init rosdep update ``` 3. **下载 Kinetic 源码** ```bash mkdir -p ~/kinetic_ws/src cd ~/kinetic_ws rosinstall_generator ros_comm --rosdistro kinetic --deps --tar > kinetic-ros_comm.rosinstall vcs import src < kinetic-ros_comm.rosinstall ``` 4. **修复依赖冲突** 需要手动修改 `package.xml` 文件中的系统库版本要求(如 Boost、OpenCV 等) --- ### 重要提示 1. 硬件驱动(如 Kinect)在 Ubuntu 22.04 中可能需要重新编译内核模块[^4] 2. 强烈建议迁移至 **ROS Humble(适配 Ubuntu 22.04)**,使用官方命令安装: ```bash sudo apt-get install ros-humble-desktop-full ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值