776

阿木币

1

精华

1378 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2022-3-21 18:58:34 1314 浏览 0 回复

[杂言讨论] 充电站 | 高效解决问题指南

相信不少朋友们在学习开发过程中,都会遇到各种各样的问题,特别是在刚接触时,对很多东西都不了解,极易产生误操作从而导致问题频发并且完全不知道该如何处理,今天,我们给大家带来了福音——《高效解决问题指南》,希望大家能看完这篇文章后,能够初步掌握高效且快速解决问题的方法。

7cde21e402575c29ec49cf98e6d252a.jpg


在开始之前,大家可以想象一个场景,在学习一个新的东西时,官方给出了教程,你跟着官方教程一步一步操作,然而操作完成后的结果完全跟教程的结果不一样,你不清楚是什么原因导致的,于是去技术交流群里面去咨询大佬,但是并没有人回复你,你怀着失望的心情开始自己动手解决,在网上找了一堆资料,各种方法尝试后发现并没有解决问题,开始萌生了放弃的想法。当然也有可能是找到了正确的解决方法,并且成功解决了问题。但往往最容易出现的是在解决问题的路上反而带来了更大的问题,把系统环境搞崩了,甚至于系统都无法正常启动了,只能怀着悔恨的泪水重装系统。

image.png


在此,我们针对机器人学习开发,主要包含Linux,ROS,C++,无人车,无人机等内容,对以上内容的学习开发提出高效解决问题指南,对于其他内容可能并不适用。

刚才所提到的场景我相信大部分朋友都有类似的经历,因为笔者在初期接触学习机器人相关内容时,也是这样的,包括当时身边的朋友以及后续接触到的一些人,大部分人初期都是这样过来的,在这里,我想举一个例子,就是看病,遇到问题和看病是类似的。

image.png


生病后,去医院或者诊所进行诊断排查,确认病因,并且对症下药。但是很多人在解决问题时都忽略了或者不重视**诊断排查** 这一步,直接去技术交流群内咨询或者盲目地在网络上搜索相关资料,导致群内没人回复消息,也无法在网上得到有效信息。

所以高效解决问题最重要的一点就是如何诊断排查问题的根本原因。

但是要做到这一点是很难的,很多问题不好解决都是因为一直找不到问题的根本原因,机器人这一块涉及到软件以及硬件,一些问题是难以排查的,但始终会有一些方法能够帮助我们去诊断排查从而找到解决方法的。

提示信息

绝大部分错误出现的时候,相应的软件都会提示一些信息, 这些信息是很重要的,这些信息都是解决问题的关键,有时候提示信息就能够帮助我们解决问题,例如无人机不能解锁的问题,地面站往往会打印无人机不能解锁的具体原因,基本上看到原因就能大概知道如何解决了。就算看到提示信息也不知道怎么做才能解决,也没有关系,结合自己的操作仔细分析问题,筛选出提示信息的关键部分,直接去网上搜索这一段关键语句,往往都能得到一些有效解决方法,但需要注意有时候搜索到的解决方法可能过时了,这个时候可以关注一下提供解决方法资料的发布时间,一般要选择近一两年内的,还有就是在搜索的时候添加上一些系统、软件的版本关键词,例如ubuntu18.04,ros melodic等等。

对比测试

前面提到的提示信息基本上都是软件上的,如果遇到硬件问题,往往并没有一些有效的信息提示,或者一些比较特殊或者不常见的软件问题有时候也难以在网上找到相关资料,所以需要其他方式,这个时候用对比测试是非常有效的,通过控制单一变量法能够快速排查硬件模块是否出现问题,软件上也可以通过回溯到改动之前或注释掉怀疑有问题的部分来观察运行是否正常,从而排查到问题的根本原因

其他方式

如果以上两种方式都无法有效排查到问题并解决的话,就只有通过其他方式了,找其他人帮忙看一下,有时候可能是自己陷入一个误区,其他人可能能从另一个角度找到合理的解决方法了,如果是自己身边的朋友还好,基本上都会来帮忙的,但是如果是在技术交流群里面提问,这就需要注意了,提出比较泛的问题往往是没有人回复的,最好能够提出具体的问题或者能够让大家回答的问题,例如不要问为什么roscore启动失败,而是问roscore启动失败可能是什么原因导致的,而且提问的时候最好能配上报错信息的截图。如果使用的是一些开源项目,也可以到开源项目github上的issue进行提问,一些官方也会有论坛或者技术交流群,这些也是比较好的途径。

当然这里列举的方法并不是解决问题的全部方法,每个人可能都有适合自己的一套解决问题的方法,需要通过在解决问题的过程中不断积累,最终形成一套最适合自己的解决问题的方法。

本期的内容到这里就结束了,我们下期再见!

扫一扫浏览分享
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表