ROS学习笔记1

1、添加ROS软件源

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

2、添加秘钥

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

3、安装ROS

sudo apt update
sudo apt install ros-melodic-desktop-full

4、初始化rosdep

sudo rosdep init     //rosdep 初始化
rosdep update         //更新rosdep

rosdep是ROS和其他工具链接的插件,可以让你能够轻松地安装被想要编译的源代码,如果这个一步没有成功,Anaconda的环境会和ROS Python起冲突,如果实在安装不了可以跳过。

5、设置环境变量

echo "source/opt/ros/melodic/setup.bash">>~/.bashrc              //melodic 版本设置环境变量
       // echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc  #notice版本设置环境变量
source ~/.bashrc     //环境变量生效
 

6、安装rosinstall

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

 注:

一、如若在虚拟机中无法复制粘贴则需要安装插件:

sudo apt-get autoremove open-vm-tools

sudo apt-get install open-vm-tools-desktop

安装后重启。

二、如若出现错误:找不到命令

输入:

sudo apt install python-rosdep2

或者:

sudo apt install python3-rosdep2

等待完成再次初始化:

sudo rosdep init

三、如若出现错误:

 解决:

 sudo gedit /etc/hosts

打开的hosts文件中添加如下的内容,然后保存退出

199.232.28.133 raw.githubusercontent.com

 等待完成再次初始化:

sudo rosdep init

四、如若出现错误:

输入:

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

根据提示进行更新:

 

五、rosdep update更新失败 

 该命令的作用是从目标网址中下载 20-default.list 文件,但由于此网站是外网,由于一些原因所以很难去连接成功,一般很多人到这一步都会卡主

要想解决这个问题

第一种方式:

使用翻墙工具简单粗暴,嗯·········我是遵纪守法好公民别看,我没有,想要的可以自己去找一下。

第二种方式修改host文件,添加映射

1.找一个IP地址查询工具,然后输入raw.githubusercontent.com,查询其对应的真实ip地址

 修改host文件,添加映射

sudo gedit /etc/hosts

 修改完host文件后,重新执行rosdep初始化和update,如果过程中还是遇到错误,多执行几次或者更换网络再执行

第三种方式:手动配置

资源可以在Github或者Gitee找到,下载就可以了

注意:从github上下载rosdistro文件夹到本地,记好下载到的目录,下面需要用到

git clone https://github.com/ros/rosdistro

修改20-default.list文件,/home/xxx对应上面rosdistro下载到的目录,后面的步骤指的均是此目录

sudo gedit /home/xxx/rosdistro/rosdep/sources.list.d/20-default.list

将文件中的网址:

https://raw.githubusercontent.com/ros/rosdistro/master

修改为下载目录:

file:///home/xxx/rosdistro

 

 修改sources_list.py文件
     注意:当前配置的ubuntu系统为18.4,ros版本为melodic(如果是20.04,ros版本noetic)所以下面的目录中包含python2.7

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

修改:

#DEFAULT_SOURCES_LIST_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list'
DEFAULT_SOURCES_LIST_URL = 'file:///home/xxx/rosdistro/rosdep/sources.list.d/20-default.list'

修改__init__.py文件

sudo gedit /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 = 'file:///home/xxx/rosdistro/index-v4.yaml'

修改rep3.py文件

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/xxx/rosdistro/releases/targets.yaml'

执行rosdep update

sudo rosdep init
rosdep update

第四种方式:修改等待时间常数

如果你网络情况很好,或者你对你的网络有信心···········可以采用这种方式

 1)、ping 目标网站查看延时

ping raw.githubusercontent.com

这个延时每个人都不一样像我这个此时的延迟时间在73200ms左右,如果你的延迟时间在2000左右可以尝试使用这种方式。

2)、Ctrl + C 退出 rosdep update 定位更新代码文件

在运行 rosdep update 的终端中键入 Ctrl + C 退出,确定反馈路径:

进入目录:

/usr/lib/python2.7/dist-packages/rosdep2

3)、修改 sources_list.py 、 gbpdistro_support.py 、 rep3.py文件中 DOWNLOAD_TIMEOUT 的值:

(默认情况下 DOWNLOAD_TIMEOUT = 15.0)

# sources_list.py
sudo gedit sources_list.py
             //sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

# gbpdistro_support.py 
sudo gedit gbpdistro_support.py 
             //sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 

# rep3.py
sudo gedit rep3.py
             //sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

 修改完成后 再次更新: rosdep update

注意网络最好使用手机热点。

注意!注意!如果以上几种方式都无法实现,也没有任何的渠道,好吧,好吧,那就不要想着去用那个原版的rosdep了,我们国内有一个大佬博主鱼香ROS基于rosdep的源码做出来了一个rosdepc也是可以兼容的,

安装rosdepc:

sudo pip install rosdepc

如果没有pip调用pip3:

sudo pip3 install rosdepc

如果pip3也没有,安装pip3:

sudo apt-get install python3-pip 
sudo pip3 install rosdepc

然后安装rosdepc并更新

sudo rosdepc init
rosdepc update

六、配置环境变量报错:bash: source/opt/ros/melodic/setup.bash: 没有那个文件或目录

 一般安装后的软件指令在文件夹 “/opt/ros/indigo/bin/” 而roscore应该也在该目录中,所以应该是bin中没有roscore的二进制可执行文件。

 解决办法:

cd /opt/ros/melodic/bin
ls -l

 确认是否是缺少rosecore文件

 这里是没有的,重新下载补全ros-melodic-desktop

sudo apt-get install ros-melodic-desktop

然后再进入目录可以看到roscore文件

 再执行

source ~/.bashrc

 输入roscore就可以验证是否安装ros成功如果成功就会显示你安装的版本信息

 

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值