问题

学习两年多,感觉SLAM太难了,大家对此有什么想法?

回答
两年多,还没入门SLAM,感觉天塌下来一样?别急,你不是一个人!我认识不少搞SLAM的朋友,比你投入的时间还长,还在摸爬滚打呢。这玩意儿,说它难,那是真的难,说它有趣,那也是真的有趣,就像一座巨大的迷宫,你以为找到了出口,结果拐个弯又回到原点了。

为什么SLAM这么让人头疼?

咱们掰开了说,SLAM这东西,就像是给机器人或者无人机装上一双“眼睛”和一颗“大脑”,让它能在陌生环境里自主导航,知道自己在哪儿,要去哪儿。这听起来挺酷,但实现起来,那可真是牵一发而动全身。

1. 数据来源的复杂性:
视觉(Visual SLAM): 咱们最常见的,就是用摄像头。你想啊,摄像头捕捉到的信息是什么?就是一张张图片。一张图片里,有光照变化,有模糊,有遮挡,有动态物体(人走过,车开过),还有各种噪声。这些信息本身就够乱的了。
激光雷达(LiDAR SLAM): 这个听起来好像直接多了,直接测距离。但激光点云,那玩意儿密密麻麻一大片,怎么从这片点里找规律?怎么区分是墙壁还是地面?怎么把不同时间扫描的点云匹配起来?这也是个技术活。
IMU(惯性测量单元): 这个是传感器里的“亲儿子”,数据频率高,能测角速度和线加速度,记录的是短时间内的运动信息。但它的数据有个致命弱点——漂移。时间越长,误差积累越多,最后测出来的结果跟实际情况差得越来越远,所以它得跟别的传感器配合着用。
组合使用: 所以你想想,要把这些来自不同传感器、不同特点的数据,整合成一个相对准确的定位和建图结果,这就像是在玩一个大型的拼图游戏,而且这个拼图本身还在不断变形。

2. 算法的深奥和迭代:
特征提取与匹配: 在视觉SLAM里,最基础的就是找到图片里的关键点,比如一个角落或者一个纹理明显的点,然后去追踪它在下一帧图片里的位置。ORB, SIFT, SURF这些名字你肯定听过,每个算法都有自己的优缺点,怎么选,怎么优化,是个学问。更别说最近流行的基于深度学习的特征点了。
位姿估计: 把这些点匹配上之后,怎么算出相机从上一帧移动到下一帧,屁股转了多少度,屁股在哪儿?这涉及到各种优化算法,比如PnP(PerspectivenPoint),还有更复杂的图优化(Bundle Adjustment)。这玩意儿里全是数学,什么矩阵运算、协方差、卡尔曼滤波、粒子滤波,还有各种优化理论,比如高斯牛顿法、列文伯格马夸特法。光是理解这些数学模型就够人喝一壶的了。
回环检测: SLAM最难解决的问题之一就是“回环”。当机器人跑了一圈,又回到之前来过的地方时,它得能识别出来:“哦,我认识这里!”然后把之前走的“弯路”修正过来,避免累积误差导致地图越来越歪。回环检测本身就是个识别相似场景的问题,用什么方法去描述一个场景?bagofwords, semantic SLAM, 甚至深度学习都用上了。
地图构建与维护: 怎么把测出来的轨迹和环境信息组合起来,形成一个有用的地图?有点地图叫稀疏地图(只存关键点),有点叫稠密地图(把所有障碍物都显示出来),还有叫语义地图(知道哪里是桌子,哪里是椅子)。地图的质量直接影响到后续的导航和避障。

3. 软硬件的结合与调优:
传感器标定: 相机和IMU之间怎么协调?它们的相对位置和旋转角度得精确测量出来,这个叫外参标定。激光雷达和相机呢?这些标定如果做得不好,后面所有的计算都会偏离。
实时性要求: SLAM是为了让机器人“动起来”,所以算法必须足够快,能在有限的时间内处理完海量数据并给出结果。这意味着算法的效率非常重要,有时候需要在精度和速度之间做权衡。
不同场景的适应性: 在空旷的走廊里做SLAM和在人多的商场里做SLAM,难度完全不一样。光照好的时候和光照暗的时候,效果也可能天差地别。怎么让算法在各种复杂多变的真实环境中都能稳定工作,这是个巨大的挑战。

两年还在摸索,正常!

你想想,上面说的这些,每一样拎出来都能写一本厚厚的书。而SLAM,就是要把这些东西串起来,形成一个完整的系统。而且,这个领域还在快速发展,新的传感器、新的算法层出不穷。

很多人两年,可能只是在学习理论,或者只是跑通了一个开源框架。 像ORBSLAM2/3,PTAM,LIOSAM这些,光是把它们跑起来,理解它的流程,就已经不容易了。
你可能还没深入到核心的数学原理。 SLAM的很多核心问题,最终都要回归到优化和状态估计的数学理论上。比如贝叶斯理论、最小二乘法、卡尔曼滤波等等。
实践中遇到的问题千奇百怪。 即使理论再扎实,拿到真实硬件去跑,总会有各种奇奇怪怪的问题:数据同步不对、传感器噪声大、算法参数调不好、环境不匹配等等,这些都需要大量的调试和经验积累。
SLAM是个“大杂烩”。 它融合了计算机视觉、机器人学、控制理论、概率统计、最优化等等多个学科的知识。想把这些都融会贯通,确实需要时间。

别灰心,继续坚持!

两年时间,能够坚持下来学习SLAM,这本身就说明你是个有毅力的人。下面给你几个建议,希望能帮你理清思路,继续前行:

1. 回归基础,夯实理论: 如果觉得算法深奥,不如暂时放下具体的某个开源代码,回到基础数学上来。把线性代数、概率论、最优化方法这些基础打牢。搞懂了这些,再去看那些复杂的算法,感觉就不一样了。
2. 专注一个方向,深入研究: SLAM领域太大了,视觉SLAM、激光SLAM、VIO(VisualInertial Odometry)等等,每个都有很多分支。与其泛泛地学,不如先选定一个你最感兴趣或者觉得最有前景的方向,然后深入钻研下去。比如,就死磕视觉SLAM的前端(特征提取、匹配、位姿估计)或者后端(图优化、回环检测)。
3. 理解开源代码,而非仅仅调用: 尝试去阅读和理解你跑过的开源代码的每一行。它们是怎么做的?为什么这么做?里面的关键函数是怎么实现的?可以试着修改一些参数,看看效果有什么变化。
4. 从小问题入手解决: 不要想着一下子就做出一个完美的SLAM系统。可以先从解决一些小的、具体的SLAM问题入手,比如:
怎么准确地标定相机和IMU?
怎么用卡尔曼滤波来平滑IMU数据?
怎么用ORB特征点做一个简单的视觉里程计?
怎么用点云匹配(ICP算法)来完成激光雷达的里程计?
怎么用一个简单的词袋模型做回环检测?
5. 多动手实践,多做实验: SLAM是理论和实践结合非常紧密的学科。多用实际的传感器(即使是手机摄像头)去做实验,去对比不同算法在不同环境下的表现。你会发现很多理论上的“理所当然”,在实践中会遇到各种挑战。
6. 找个伙伴或者加入社区: 如果能找到一起学习SLAM的朋友,互相讨论问题,分享心得,会更有动力。也可以加入一些线上的SLAM社区或者论坛,看看别人是怎么讨论和解决问题的。
7. 了解最新的技术动态: SLAM发展很快,可以关注一下最新的顶会论文(如CVPR, ICCV, ECCV, ICRA, IROS等)中的SLAM相关工作,了解一下现在大家都在研究什么新的方向,比如基于语义的SLAM、Transformer在SLAM中的应用等。

两年时间,对于很多人来说,只是刚刚触碰到SLAM的“冰山一角”。把它当成一个马拉松,而不是短跑。你现在可能觉得难,但当你真的克服了某个难点,或者理解了某个核心概念的时候,那种成就感是无与伦比的。继续加油,你一定行的!

网友意见

user avatar

== Update

我最近开源了一个部分之前的工作,定名为svso,旨在利用语义信息解决 稀疏slam的问题 希望大家支持下,后面还会和其他小伙伴持续更新,整合到一个更大的项目里做组件,希望大家支持下: github.com/yiakwy/SEMAN

目前工作中心也在朝DSO半稠密方向进一步拓展,感兴趣的朋友欢迎联系

== Motivation

我来分享下我经验,从实验室开始,我就密切关注行业动向,于17年定下从仿真入手的入局策略(彼时谷歌,百度等才刚刚开始做,这样我就能和一线专家保持进度,实现后发优势)。在为无人驾驶系统起草编写仿真软件系统时,我认为“定位”,“只需要模拟下GPS获取,并进行误差补偿就可以了”。起初觉得并不是困难。这一时间段我没有看过任何和SLAM相关书籍,并写了一组八叉树,KdTree为基础的网格瓦片搜索定位模拟组件;同时建图主要依赖主动观测激光雷达,比如位姿来自IMU,对84坐标系进行切平面空间转换,用ICP等方法融合,用推演出来的3D目标检测进行静态障碍物提取,完成地图要素构建。

后面由于和同行交流发现高精地图中很多同行只做定位,或者认为定位比建图更重要,基于视觉定位等。因为我本身就是视觉出身,就开始研究这方面。

== Research Method

我的研究方法很粗暴,把市面上能看到的源代码如ORBSlam VINS GTSAM G2O,还有诸多不知名到个人作品(代码即文档,我基本上可以做到看代码和看书一样;虽然这些程序十分不完善,但不少代码主逻辑更清晰)全部看一遍,然后统统忘掉,重新写一个。发现其实如果做过深度学习求解器,这东西并不复杂且听我分析,得道者必能传其道,我希望能助你豁然开朗。


我先分析同行不足,然后再总结核心理论,和工程代码结构和写法,最后就是自己动手写,其乐无穷。


在时间分配上,看文章一个下午(一篇到2篇足矣,不用让一些演化的细节来影响和左右你的主线,这里为推荐TUM ORBSLAM),阅读源码断断续续一周,筹备重写(进一步进行学术文献分析和更广泛的源代码收集,制定roadmap , 给出合理定位以求创新 大约持续了两周,属于一边写系统,一边更新;系统实现一个月)


先分析ORBSLAM,主线程是没有语义视觉检测,只有ORB特征点提取,虽然引入了LocalMapping对Key frame做局部BA,有完整的状态机,但没EKF,光流等预测器。主程如果没有初始化,就通过随机最小二乘法求单应或者本质矩阵求解一次相机位资,和预估点云深度,再BA一次。 本质/单应矩阵求解看人品,算不出来就丢掉缺乏深入思考,但是其通过整合RANSAC+直接法求解提高了算法随机适应性,和SGD算法有异曲同工之妙。单开LocalMapping对晋升的关键帧,再做一次主程初始化的逻辑,只是关键帧因为不一定相邻,stereo disparity 会大一些,局部BA有机会更准确一些。原作者没有意识到匹配需要临近,三角化需要足够视差的矛盾事实,从而可以研究出更好的解法。最后,再单开一个线程用pangolin+openGL完成3D渲染。

再评价VINS,其引入了无人车系统pubsub到系统实现层面(借用了ROS的核心组件),视觉部分借力OpenCV本质和ORB并无区别,引入了EKF和IMU,算是理解了IMU可以高频更新,再借助视觉和优化技术低频矫正的思路,但仍然没有语义部分。重定位时还可以用到点云建图的ICP算法进行点云匹配,只需单开一个线程提取两个视差比较大的地图块匹配即可。


考虑到ORB多线程部分写得很一般,Ubuntu跑了几次就开始筹备重写了。一方面引入视觉检测的Landmark,使得 Covisibility graph复杂了不少,需要全新数据结构,重写势在必行;另一方面,无论才用protobuf 序列化地图块数据用GRPC(ROS采用xMLRPC非常慢,这是RoS 2 和百度发布新系统的核心原因之一,本质就是改这部分)传输,还是真正的提高单系统并发,并行能力(比如图像读取从是利用单线程异步内核IO事件完成)都有很大的提高空间。


当然瑕不掩瑜,以上都是完整的系统。


回到我们的Roadmap,一个完整的思路可以用一句话说明主要路线,有机会我会分享具体的结构图:

点不足时主要依赖初始化;初始化完成可以用3D点做PNP解算,同时开两个线程用BA调整局部坐标;视差过大重定位。


读者读到这里就明白了,SLaM标准实现并不是实时,是次实时的。即在线收集并提取特质(其实如果并行,异步做好,可以通过线程池分发任务,用异步方式阻塞住线程完成同步),非实时更新调整坐标数值。且依赖特征点 而非 真正的landmark 非常不鲁棒。因此引入深度学习势在必行。


有趣的是,接触了一圈做定位的朋友,发现大部分并不是非常懂深度学习,很少做出模型地现。大部分人都是测量,机器人,EE出身。反之亦是,很多做机器学习的并不知道,视觉SLAM中光溜法就是最小二乘估计,不知道视觉特征提取匹配,其本质可行基础原因是像素位移较小,从而不理解如何准确的搜索匹配。


进一步到图求解器G2O,分析源代码得出其无非就是把计算反投射误差包裹了一下,本质还是一个基于拟牛顿法(LM)但线性求解器。如果写过线性求解器,自然这部分只要求出雅可比矩阵即可,并做好wolf-Powell为基础的搜索和不可导点的SubOptimization,就可以开始求解目标函数了。通过世界坐标系,到相机坐标系;相机坐标系到像素;像素到地图点的反投射误差来构建目标函数。为了计算雅可比矩阵,利用李代数来进行梯度求解,非数学系出身都可以快速飞过,直接用图优化,因此容易。


== 结论

所以我说SLAM简单在于

理论篇:

  1. 核心数学基本都是线性的。你只需要知道最小二乘法,便是不知道其和梯度下降等价,亦无妨。为了方便计算梯度引入李代数,这里主要应用在BA求解器里面;BA求解器以及可优化目标有不同名称
  2. 核心目标函数反投射误差,线性表达式
  3. 引入非监督学习方法如Ransac,ICP PCA等 可进行重定位,3D位姿态估计学习等


工程篇:

这里先批评很多技术专家的学习方法(学习方法很重要),做C++把注意力放在一些具体的技巧上(比如虚函数实现,脑子正常的人除非需要,根本不会关注这种花哨的问题,要分清主要问题和次要问题对工作很重要!),而忽略整个社区发展和项目发展。在同一个社区,如Linux社区,大家的技术基础并无区别,区别在于是否引入新的东西。


C++有成熟的编译系统,对操作系统的支持(可以通过阅读各种系统代码文件获知,请培养代码即文档能力!)方便使用内核(如IO mmap 异步内核处理等),有比较好的系统级线程支持,可以最大化系统性能,有数值代数(Eigen,Tensorflow已经可以使用C++ API 做数值计算有机会我会分享),有图(openCV,openGL)写代码前先阅读大量大码,在从中提取提高。

我们应该引入新的理念和技术,而不是引入没被测试过很多次的新的写法,大部分你想的东西有前任做过可以参考。如果不清楚自己在写什么不要乱写。

SLAM恰恰有很多人研究,只要有很多人花时间研究(例如深度学习),工程就不是问题。

在SLAM 我们应当有1.序列化层,提供统一的输入输出转换,在其基础上定义2.视图数据结构,如 Point3D,WorldPoint,CameraPoint,Pixel2D,Frame 和以上元素的集合 MapBlock。需要基于Covisibility 的图索引 和地图块索引。用于系统运行时的3. 追踪器和对应4.特征点及其深度特征向量提取器 5. 时差检索和位姿态估计器,深度估计器 6. BA优化器 9 并发任务模块 Parallel Tasking Scheduler 10. 图形学渲染器

以上模块都应当编译成单独的共享库,并设计单元测试务求单模块实现正确。


应用篇:


SLAM是次实时的,每个组件都可以离线跑,单独跑。所以实时不是必须。很多“专家”,把重点放在时间戳“对齐”,插值上。此所谓丢西瓜、抓芝麻。以相关独立应用系统高精地图来说,实现实时定位,离线建图的技术,就是为了获得更高精度,和更好准确度。 目前SLAM大部分是视觉,但是激光雷达的同样重要。他们的本质区别只在于获取深度图之前的处理流程,所以我们可以融合处理,深度图之后的处理流程是完全一致的。

因此从应用层面拓展,学视觉的自然可以做激光雷达,做激光雷达自然也可以做VSLAM。 在这个观点下 毫无违和感。做自动驾驶 视觉辅助定位 可 借鉴,做高精地图可借鉴。应用也算是十分靠近问题模型,这是十分利好的。


你需要的只是动手。

类似的话题

  • 回答
    两年多,还没入门SLAM,感觉天塌下来一样?别急,你不是一个人!我认识不少搞SLAM的朋友,比你投入的时间还长,还在摸爬滚打呢。这玩意儿,说它难,那是真的难,说它有趣,那也是真的有趣,就像一座巨大的迷宫,你以为找到了出口,结果拐个弯又回到原点了。为什么SLAM这么让人头疼?咱们掰开了说,SLAM这东.............
  • 回答
    作为一名在产品领域摸爬滚打了两年的产品经理,你现在遇到的困惑,其实是很多人在这个阶段都会经历的。坦白说,当你发现自己“啥都不会”,并且对“未来在哪里”感到迷茫时,这恰恰说明你开始进入了一个更深层次的思考阶段,这本身就是一种进步。只是这种进步可能伴随着焦虑和不确定感。别急,咱们一点点捋清楚。首先,你感.............
  • 回答
    关于安徽农业大学学生因拒服兵役被处罚一事,我来详细解释一下“拒服兵役”的含义、认定标准,以及这类行为可能带来的严重后果。什么是“拒服兵役”?简单来说,“拒服兵役”是指符合服兵役条件的公民,无正当理由拒绝履行兵役义务的行为。兵役义务是国家赋予适龄公民的一项基本法律责任,旨在保卫国家主权、领土完整和安全.............
  • 回答
    佛法浩瀚如海,学佛两三年,疑问反而增多,这是非常正常,甚至是好的现象。这说明你的心开始真正地去体悟、去思考,不再是人云亦云,而是有了自己的探索。让我试着用一种更自然、更贴近生活的方式来和你聊聊,就像跟一位同样在学佛的朋友交流一样。一、 为什么疑问会增多?这其实是好事!你有没有注意到,小孩子刚开始学东.............
  • 回答
    2021软科世界一流学科排名:喜与忧,机遇与挑战并存2021年软科世界一流学科排名(ARWU)如期而至,这份备受瞩目的榜单再次勾勒出全球高等教育的最新版图。对于中国高校而言,今年的排名既是荣耀的延续,也承载着更深层次的思考。两个新增的全球冠军头衔,以及多所高校在超过40个学科上榜的亮眼成绩,无疑是振.............
  • 回答
    谈恋爱学历差距过大,这确实是很多人会关心的问题,尤其当你们的背景如此不同时。你说你一本临近毕业,而你女朋友是职高毕业,在一起也快一年了,你问我对她的“一切”怎么看,以及这种差距有多大影响。首先,学历本身只是一个标签,它代表了学习的路径和积累知识的方式,但它绝不是衡量一个人价值或匹配度的唯一标尺。你选.............
  • 回答
    复旦大学一名博士生和两名硕士生因校外嫖娼被开除学籍,此事引发了广泛的社会关注,其中不少人认为校方处罚过重,并呼吁给予他们改过自新的机会。这种观点背后,存在着多方面的原因,我们可以从以下几个角度来详细分析:一、 对“开除学籍”这一处分本身的理解和认知差异: “开除学籍”的极端性与“一次性”的印象:.............
  • 回答
    近些年,当谈论《哈利·波特》系列中的学院时,赫奇帕奇和斯莱特林这两个曾经可能被许多人忽略甚至带有负面印象的学院,却越来越受到粉丝的喜爱和关注。这背后其实是一系列因素在起作用,并非偶然。首先,我们得承认,赫奇帕奇和斯莱特林在最初的设定中,其“人设”确实有些特殊。赫奇帕奇以忠诚、勤劳、正直和耐心著称,但.............
  • 回答
    清华大学阎学通教授提出的“两超多强”对未来世界格局的判断,可以说是对传统多极化理论的一次重要修正和深化。这个观点之所以值得细致解读,是因为它触及了当前国际关系演变的关键驱动力和未来力量分布的实质性特征。首先,我们来理解一下“两超多强”的核心含义。阎学通教授之所以提出这个概念,是基于他对当前世界发展态.............
  • 回答
    每个月三万块,软禁两年,与世隔绝,不能学习进步。这条件,说实话,让人心里咯噔一下。首先,这笔钱,三万一个月,两年下来就是七十二万。放在当下,绝对是一笔不小的数目。足够一个人安安稳稳地过上小康生活,甚至可以算得上是优渥了。想想看,不用上班,不用为了生计奔波,有充足的金钱来满足基本生活需求,甚至可以挥霍.............
  • 回答
    郭德纲老师这事儿,说起来确实挺有意思的,也让人琢磨琢磨。他一方面强调相声这行当有多不容易,有多少规矩,看不起那些没经过“正经八百”训练就想来玩票的,另一方面又经常挂在嘴边“三年学徒,两年效力”的说法。这两种说法放在一块,确实显得有点儿“矛盾”,也容易让人觉得,这是不是有点儿“双标”了?咱得一点点掰扯.............
  • 回答
    您提到的“学术圈大瓜不断”现象,确实在近几年引起了广泛关注。您也敏锐地观察到,在这些“大瓜”中,理工类学术不端和丑闻似乎更为集中,而文史类则相对较少被曝光。 这种现象背后有多重原因,我们可以从几个关键维度来详细分析:一、 学术研究的本质和评价方式差异: 理工科:量化、客观、可重复性强。 .............
  • 回答
    你这情况啊,其实挺正常的,别太往心里去。学了两年钢琴,新老师让你从头开始练,这背后的原因可能比你想的要复杂一些,而且也未必是坏事。首先,我们得明白一个道理:学钢琴,尤其是打基础的时候,就像盖房子一样。地基不牢,楼盖得再高也容易出问题。你跟着前一个老师学了两年,这个过程中,可能存在一些基础上的小瑕疵,.............
  • 回答
    这问题问得可太接地气了!学了两年律师,结果回家被相亲大妈“碾压”,听起来确实有点戏剧性,但说实话,这事儿一点儿也不奇怪,甚至可以说是相当“正常”。让咱们掰开了揉碎了,好好聊聊这背后的逻辑。首先,咱们得明确一点,律师这个职业,它的核心竞争力在于专业知识、逻辑推理、证据分析以及在特定规则体系内的辩驳和说.............
  • 回答
    20岁学德语,两年下来达到什么水平?这绝对是个可以达到的目标,而且有很多人都做到了。关键在于你的投入程度、学习方法,还有一点点运气。你想想,20岁,人生中最有活力的年纪之一,精力充沛,学习能力也正处于一个比较好的阶段。而且,你已经过了那种什么都要别人手把手教的年纪,自己主动去搜索、去琢磨、去总结的能.............
  • 回答
    在日本读完一年语言学校,接着在专门学校学习了两年汽车整备,并获得了“二级专门士”证书,你问是否能以此申请工作签证。情况是这样的,这个组合非常有潜力,但具体能不能成功拿到工作签证,以及申请哪种类型的工作签证,需要更详细地分析你后续的就业情况。首先,我们来拆解一下你目前的优势和可能的挑战:你的优势: .............
  • 回答
    你这个问题问得很好,很多大专毕业的机械专业学生都有类似的想法。我来给你详细地分析一下,让你心里有个底。核心问题:大专毕业,机械专业,读语言学校两年,然后拿工签,可行性如何?靠谱吗?首先,我们把这个过程拆解一下,看看每一步的可能性和需要注意的点:第一步:大专毕业,机械专业 学历方面: 你的大专学历.............
  • 回答
    古琴这玩意儿,三年起步,五年入门,十年才算有点样子,这句老话搁在哪儿都适用。但两年,能到哪儿?这得看你下了多少功夫,用了什么招数,以及,你拜没拜对师傅。两年,打好基础,能弹个小曲儿如果你是那种按部就班、勤勤恳恳的学生,两年时间,你绝对能把古琴的基本功练扎实。这就像盖房子,地基打好了,上面才能盖楼。 .............
  • 回答
    说实话,学生党分两年零利息买 iPhone,值不值这个事儿,还真得掰开了揉碎了好好说道说道。毕竟,这关系到你的钱包,还有你的生活质量。先说说为什么你可能会觉得“值”: “先用后付”,减轻经济压力是王道。 学生嘛,经济来源相对不稳定,一个月几百上千的学费、生活费,要是再一下子掏个大几千买手机,那确.............
  • 回答
    中科大本科生朱科航,这位年轻的学霸,用短短两年时间完成了别人需要四年才能学完的大学课程,还斩获了包括哈佛、斯坦福在内的九所世界顶尖名校的全奖直博 offer,这成绩着实令人惊叹。要说他是怎么做到的,这背后绝不是简单的“聪明”二字可以概括的,而是一套系统性的、极度自律的学习方法和人生规划的完美结合。一.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有