RK3399 ,64位,Ubuntu16.04系统安装ROS-kinetic方法总结

1.第一步是修改hosts

vi  /etc/hosts
在127.0.0.1 localhost 后边添加 rpdzkj(自己的ubuntu用户名)
127.0.0.1  localhost rpdzkj
  1. 设置sources.list,我选择的是中科大的。
sudo mkdir -p /etc/apt/sources.list.d/ && sudo touch /etc/apt/sources.list.d/ros-latest.list

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

3.添加私钥

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

4.软件库更新

sudo apt-get update && sudo apt-get upgrade
有选择的地方,就一路 Y
若安装过后,出现了  Sub-process /usr/bin/dpkg returned an error code (1)这样的问题,
可以按下面的方法解决:
打开终端,输入
cd /var/lib/dpkg
sudo mv info info.bak #即备份一个info
sudo mkdir info #新建一个新的info目录
sudo apt install -f
就把安装失败的软件自动安装好了。
然后,再运行一次
sudo apt-get update && sudo apt-get upgrade


5.安装ROS kinetic完整版

sudo apt-get install ros-kinetic-desktop-full
有选择的地方,就一路 Y

6.初始化
rosdep init
rosdep update

sudo apt-get install python-pip
sudo apt-get install ros-melodic-desktop-full
sudo rosdep init
rosdep update

但在rosdepc update时,由于要从raw.githubusercontent.com下载文件,这个是国外的网址,需要用代理,否则会出错。也有的说查询IP属地,用IP地址代替,但效果不佳。

reading in sources list data from /etc/ros/rosdep/sources.list.d
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:
        <urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml)
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml]:
        <urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml)
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]:
        Failed to download target platform data for gbpdistro:
        <urlopen error [Errno 111] Connection refused>
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
ERROR: error loading sources list:
        <urlopen error <urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml)>
        

其实,最好的办法,是从https://codeload.github.com/ros/rosdistro/zip/refs/heads/master,把整个文件都下载下来,然后解压后,通过USB口,将文件全部拷贝到/home/rpdzkj/Downloads/rosdistro/***下,然后修改在/etc/ros/rosdep/source.list.d/下的20-default.list文件, 按如下操作:


cd  /etc/ros/rosdep/sources.list.d/
rm 20-default.list   //删除原有的文件,如没有可以直接跳过此步
sudo touch 20-default.list

这样,就在/etc/ros/rosdep/source.list.d/中建立文件20-default.list,然后把下面的代码拷贝进来。

一定要注销掉原来的带有raw.githubusercontent.com的这些语句:
yaml https://raw.githubusercontent.com/*********
# 首先是特定于操作系统的列表
#yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
yaml file:///home/rpdzkj/Downloads/rosdistro/rosdep/osx-homebrew.yaml osx
# 通用的
#yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml file:///home/rpdzkj/Downloads/rosdistro/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
yaml file:///home/rpdzkj/Downloads/rosdistro/rosdep/python.yaml
yaml file:///home/rpdzkj/Downloads/rosdistro/rosdep/ruby.yaml

#gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
gbpdistro file:///home/rpdzkj/Downloads/rosdistro/releases/fuerte.yaml fuerte
# 更新的发行版(Groovy、Hydro、...)不得再列出,而是从 rosdistro index.yaml 中获取

下面三个文件中也要修改,修改方式同上,查看你的python2.7
/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
/usr/lib/python2.7/dist-packages/rosdistro/init.py
对于index-v4.yaml的错误,按下面的方法修改:

sudo vim /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
找到这一行,
'DEFAULT_INDEX_URL ='https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

修改为:

#'DEFAULT_INDEX_URL ='https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
'DEFAULT_INDEX_URL ='file:/home/rpdzkj/Downloads/rosdistro/index-v4.yaml'

对于fuerte.yaml的错误,按下面的方法修改:

  sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
  # FUERTE_GBPDISTRO_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml'
  FUERTE_GBPDISTRO_URL = 'file://home/rpdzkj/Downloads/rosdistro//releases/fuerte.yaml'
  ```
对于targets.yaml的错误,按下面的方法修改:   


```c
  sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
  # REP3_TARGETS_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'
  REP3_TARGETS_URL = 'file:/home/rpdzkj/Downloads/rosdistro/releases/targets.yaml'
rosdep update

可以了。

7 为了每次打开新的终端时可以自动配置好 ros 相关环境,需要将ROS环境变量添加到.bashrc文件中。

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

8.安装rosinstall等工具

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

若在这个过程中,出现了 Sub-process /usr/bin/dpkg returned an error code (1)这样的问题,仍按下面的方法解决:

打开终端,输入
cd /var/lib/dpkg
sudo mv info info.bak #即备份一个info
sudo mkdir info #新建一个新的info目录
sudo apt install -f
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

9.验证ROS是否安装成功,每条命令都需要新开一个终端

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值