欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

deal_build

程序员文章站 2022-04-18 09:03:03
...

Ros系统出现的问题
Ros系统对电脑系统的内核有要求,需>=4.4.0版本。解决办法如下:
在启动Ubuntu系统时,进入ubuntu系统高级选项,然后选择已有的系统内核版本,如果没有大于4.4.0的内核版本,需要自行下载。
查看电脑内核版本:uname –r
内核问题解决后,还需在realsenseSDK2.0文件安装Video4Linux视频内核驱动
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
然后,编译配置文件(该步骤需联网)
./scripts/patch-realsense-ubuntu-lts.sh
build_ros.sh编译问题
1.build_ros.sh编译出错如下所示
deal_build

解决办法:
在~/.bashrc文件末尾添加一行路径,如下所示:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:
PATH/ORB_SLAM2/Examples/ROS
其中,PATH是ORB_SLAM2所在路径

2.sudo rosdep init 错误
Github的raw文件读取地址遭受DNS污染,导致文件下载困难
错误(1)如下所示:
deal_build

解决办法:打开终端~,输入:
sudo gedit /etc/hosts
将 151.101.0.133 raw.githubusercontent.com 粘到文件末尾
199.232.4.133 raw.githubusercontent.com

错误(2)20-default.list 文件还下载不下来
解决办法:
定位到该目录 /etc/ros/rosdep/sources.list.d 打开 20-default.list 文件
sudo gedit 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

再次rosdep update

错误(3)20-default.list文件重复,错误如下:
ERROR: default sources list file already exists:/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize
解决办法:
将20-default.list删除再进行rosdep update

3.Rosdep update 超时
(1)解决SSL验证问题
在/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py中顶部直接插入两行代码取消SSL验证
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
再次rosdep update
(2)更改镜像源
sudo sh -c ‘. /etc/lsb-release && echo “deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs main” > /etc/apt/sources.list.d/ros-latest.list’
然后
sudo apt-get update
rosdep update
还可以点击System Settings-Software & Update-Ubuntu Sofeware-Downloaded from更换下载源。在更换下载源时,点击Select Best Server,等待几分钟,弹出推荐的下载源,选择它,
接着,sudo apt-get update
rosdep update

(3)更改download_timeout的值
更改/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
三个文件中的DOWNLOAD_TIMEOUT = 15.0值,改大一些就可以了
(4) unable to process source
1) sudo gedit /etc/resolv.conf
2)将原有的nameserver这一行注释,并添加以下两行:
nameserver 8.8.8.8 #google域名服务;nameserver 8.8.4.4 #google域名服务器
3)保存后执行 sudo apt-get update
4)rosdep update
注意!!!:在rosdep update时尽量用手机热点,如果出现超时问题,在此进行rosdep update,多重复做几次,本人重复三次rosdep update成功
最终rosdep update成功如下所示:

deal_build

推荐阅读