复现autotune算法时遇到的若干问题

  • 复现autotune算法时遇到的若干问题及其解决方案
    • Ubuntu18.04中安装ROS Melodic时遇到的问题
    • Ubuntu18.04中配置autotune时遇到的问题

复现autotune算法时遇到的若干问题及其解决方案

最近在搬砖的时候要复现一篇文章中的autotune算法,作者给了github链接,但是需要在Ubuntu 18.04中配置ROS Melodic环境。以前没接触过ROS,对Ubuntu也不熟悉,只能是摸着石头过河,踩过好多坑,在此记录一下。

Ubuntu18.04中安装ROS Melodic时遇到的问题

在百度上搜索“Ubuntu18.04安装ROS Melodic”有一大批的教程,安装过程大同小异,在此不再赘述。我参考的主要有两篇:
https://blog.csdn.net/weixin_44494462/article/details/106003988
以及
https://www.freesion.com/article/3533415147/

安装过程中最容易出现bug的地方就是在核心组件rosdep的安装上,包括:$sudo rosdep init以及$rosdep update两步,而且最头疼的是重复运行时报错的内容还各不相同。
这里列几条最常见的错误:
1.读取操作超时而引起的报错

ERROR: error loading sources list:('The read operation timed out',)


这里的解决方案可已参照这里,和
这里。

2.网站拒绝访问引起的报错

这里可以的解决方案可以参照知乎文章,以及这篇博客。这两种方法我都试过了,在我这不好使,包括一些其他博客上介绍的方法,也都都没用。

总的来说,这里搜到的解决方案大致可以归纳如下:
a.缺少python-rosdep包的先安装这个包;
b.更换网络为热点;
c.更换软件源;
d.修改Python文件中的TimeOut时间;
e.取消ssh验证;

这里说下我最后的解决方案。受朋友指点,这里update出错原因在于网络,要访问像github等外网上的资源需要梯子。一般的梯子设置的模式是仅网页而非全局,所以只能在浏览器中访问这些资源而不能在其他地方(如我们运行的终端)进行访问。

然后我就又查了下在终端走代理的方法,这篇文章以及评论区基本上囊括了在Linux中让终端走代理的全部方法。其中,最核心的两条指令就是

$export http_proxy=http://127.0.0.1:port
$export https_proxy=http://127.0.0.1:port

这里一定要注意代理的地址(127.0.0.1)和端口(port)要根据你自己Ubuntu的代理填写。至于在Ubuntu中配置代理的方法我自己也尝试了好几种,最终是只有一种方法奏效。感兴趣的朋友可以私信我,或者在评论区留言,如果人数比较多的话我再专门做一期关于在Ubuntu中配置代理的详细步骤。

Ubuntu18.04中配置autotune时遇到的问题

按照github上作者给出的安装说明很容易进行前两步的配置,但是在执行第三步时出现了以下报错:

Could not determine ref type of version: git@github.com: Permission denied (publickey).
fatal: 无法读取远程仓库。


首先要说的是这一步没有找到直接的解决办法,但是没有路就要靠自己走出一条路,直接解决不了可以“曲线救国”嘛。然后我查了mh_autotune/dependencies.yaml这个文件的内容之后发现这一步要做的事是把yaml文件里的包下载下来,既然这一条指令行不通,我就手动下载然后解压到工作空间src文件夹里面,把文件夹名称修改为对应的名称。这一步到这里算是解决了。

第四步按照流程也很容易,到了第五步bug就开始来神仙打架了,在$catkin build的时候各种错误就都来了。
1.首先是缺少ros-melodic包类型的报错

CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):Could not find a package configuration file provided by "octomap_msgs" withany of the following names:octomap_msgsConfig.cmakeoctomap_msgs-config.cmake

这个报错就是说缺少octomap_msgs的包,那么这种类型的报错都可以用这一条指令解决:

$sudo apt-get install ros-melodic-package

这里的package用报错里的包替换掉就行了,具体的话,以上一个报错为例,需要输入的指令为$sudo apt-get install ros-melodic-octomap_msgs

2.其次是缺少头文件类型的报错

CMake Error at /home/wanglei/autotune_ws/src/rotors_simulator/rotors_gazebo_plugins/cmake/FindGlog.cmake:77 (MESSAGE):Failed to find glog - Could not find glog include directory, setGLOG_INCLUDE_DIR to directory containing glog/logging.h

这种报错可以直接百度得到解决方案,对与这个报错,需要输入的指令为:
$sudo apt-get install libgoogle-glog-dev

这样一步一步硬啃,终于把全部35个包全部build成功了,截图庆祝下

复现autotune算法时遇到的若干问题及其解决方案相关推荐

  1. DL之yolov3:使用yolov3算法时需要对Ubuntu系统进行配置的简介、过程步骤之详细攻略

    DL之yolov3:使用yolov3算法时需要对Ubuntu系统进行配置的简介.过程步骤之详细攻略 目录 yolov3算法时需要对Ubuntu系统进行配置的简介 Ubuntu系统进行配置的过程步骤 第 ...

  2. 在一个请求分页系统中,分别采用 FIFO、LRU和 OPT页面置换算法时,假如一个作业的页面走向为 4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为 3、4时,

    页面置换算法 题目: 在一个请求分页系统中,分别采用 FIFO.LRU和 OPT页面置换算法时,假如一个作业的页面走向为 4.3.2.1.4.3.5.4.3.2.1.5,当分配给该作业的物理块数M分别 ...

  3. [ 操作系统 ] 假定在单CPU条件下有下列要执行的作业,用一个执行时间图描述在采用非抢占优先级算法时执行这些作业的情况;对于上述算法,各个作业的周转时间是多少?平均周转时间是多少?

    假定在单CPU条件下有下列要执行的作业: 作业 到达时间 运行时间 优先级 1 0 10 2 2 1 4 3 3 2 3 5(高) (1)用一个执行时间图描述在采用非抢占优先级算法时执行这些作业的情况 ...

  4. 假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100。试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb

    假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100.试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb/s的以太网呢? 以 ...

  5. 神经网络训练 policy gradient 算法时 梯度消失问题

    再训练算法时 发现梯度输出为none 试了好几次 从源头找原因 最后得出的loss 一定要是 grad_fn=sumbackward 类似的类型 不然他没有梯度 再次记录

  6. 雪花算法——分库分表情况下id解决方案

    雪花算法--分库分表情况下id解决方案 分库分表的情况下id会遇到哪些挑战 分库分表id的解决方案 低并发情况下,使用中心数据库自增 使用不同步长数据库自增解决. 使用UUID 使用redis 使用M ...

  7. 计算机视觉:Bag of words算法实现过程中出现错误及解决方案

    Bag of words算法实现过程中出现错误及解决方案 出现的问题 IndexError: list index out of range OSError:x.sift not found sqli ...

  8. 使用Kettle抽取数据时,出现中文乱码问题解决方案

    使用Kettle抽取数据时,出现中文乱码问题解决方案 参考文章: (1)使用Kettle抽取数据时,出现中文乱码问题解决方案 (2)https://www.cnblogs.com/yiyezhiqiu ...

  9. 微信支付 统一下单 字段 body 为中文时 报【签名错误】解决方案(C# SDK)

    微信支付 统一下单 字段 body 为中文时 报[签名错误]解决方案(C# SDK) 参考文章: (1)微信支付 统一下单 字段 body 为中文时 报[签名错误]解决方案(C# SDK) (2)ht ...

  10. MySQL 安装时出现初始化数据失败的解决方案

    MySQL 安装时出现初始化数据失败的解决方案 文章目录 MySQL 安装时出现初始化数据失败的解决方案 总结: 最后: 每博一文案 这是我在学习过程遇到的问题,找的解决方案 这里给予大家参考 当我们 ...

最新文章

  1. corosync+pacemaker+crm简单配置
  2. Ember.js 入门指南——定义模型
  3. linux vi文本类常用命令
  4. 网工路由基础(3)RIP原理与配置
  5. ResourceUtils读取properties文件
  6. Spring MVC + freemarker实现半自动静态化
  7. eclipse安装Windows Builder
  8. AirTest进行自动化测试
  9. win7系统计算机怎么排列图标,Win7系统桌面图标的三种排序方式
  10. 808通讯协议技术规范消息ID:0x0704数据分析,后附go代码
  11. ret2shellcode 的泄露puts@got表
  12. 电视K歌软件哪个好?这10款最火,最好用的电视K歌软件,赶紧收藏
  13. Unity -- 用EasyAR制作出AR红包
  14. 高德js-v1.4.13多图层 天地图 谷歌 高德mark点显示
  15. QList、QVector,QSet,std::vector,std::list直接的转换关系总结
  16. R语言caret机器学习(二):数据预处理上
  17. 最简单的商家管理系统(小白)
  18. 5、迪米特法则(Law of Demeter)
  19. dolphinscheduler-1.3 worker分组管理配置
  20. PIC以太网开发板——基于微芯最新ENC28J60以太网控制器

热门文章

  1. 易语言服务器卡密验证,想写一个关于辅助登录卡密的软件。 问题:易语言如何会做一个输入正确卡密才可以登入界面的...
  2. Unity3D脚本编程读书笔记——第3章 Unity 3D 脚本语言的类型系统
  3. C# 网络爬虫 抓取“北京标准时间“ 网页请求
  4. 中国史上最牛的网管——李兴平
  5. java 设置session超时_Java设置session超时(失效)的时间
  6. 基于STM32的小说阅读器
  7. 打印机驱动是什么,打印机驱动有什么用,一定要安装打印机驱动吗
  8. jersey 过滤_过滤jersey资源
  9. DeepFaceLab 新手入门教程
  10. FL Studio最新汉化免费下载 水果音乐制作软件