2020 —— END
现在2020年只剩下最后的两个小时了。很多人都说魔幻的一年终于要结束了,我怎么觉得好戏才刚刚开始呀。我相信很久很久以后,再来回顾这个时代的时候,故事都是从今年开始讲起的, 就好像我们屈辱的近代史是从另一个庚子年开始的一样。时代的大幕徐徐打开,该我们上场了!!!
想想我们的初心,今年我们又记了不少笔记。因为疫情,今年一开始在家里蹲了半年,时间比较充裕,更新比较频繁。 在这段时间里,我们深度解读了Cartographer的源码,发现目前的SLAM技术习惯把整个系统分为前后两端, 通过优化的方法解决问题。为了方便跑算法和demo,我们还顺便研究了一下Gazebo仿真, 学习了一些基础的数学物理知识。6月份之后我终于开始上班了,一开始因为工作需要, 我们研究了一段时间的ORB-SLAM源码。接着工作就比较忙了, 我们挤了一些闲时讨论了Linux下的事件与网络编程。
今年我们的读者又增加了一些,而且提了不少问题和建议。能够和大家一起讨论进步,真的很高兴,感谢各位。
总体来说今年有些虎头蛇尾,到后来的几个月里文章更的就少了,立下的flag也已经打脸很多次了。时间管理大师在今年已经被网友们赋予了奇怪的味道,我们选择做时间的朋友。
今年主要是在研究SLAM相关的工作,勉强算是传感器与定位的主题。记了这么些个笔记,我觉得SLAM和导航工作中,定位是关键。 而在各种传感器当中,视觉的信息是最丰富的了。所以,明年的主题是视觉感知与定位。
2020年度动态
2020.11.27 | Linux下的事件与网络编程 | 看来打脸打的比较严重,11月眼看要过去了,还一篇文章没更。 今天稍微抽了点时间,把XiaoTuNetBox相关的文章从《计算机网络与信息安全》中剥离出来, 作为Linux下的事件与网络编程来更。 |
2020.10.16 | Linux下的事件与网络编程 | 磨磨蹭蹭,总算完成了时间轮盘与超时连接的初稿。希望每月四更不要打脸。 将原《timerfd——超时断开连接(上)》更名为timerfd与定时任务。 |
2020.09.26 | Linux下的事件与网络编程 | 完成timerfd——超时断开连接(上)的初稿。
我感觉在一篇文章中介绍timerfd和时间轮盘算法有点多,所以将它拆成了两篇文章。 最近一阵子因为工作比较繁忙,所以更新的少了。以后我会注意管理时间,至少做到每月四更,争取能够八更。 |
2020.08.24 | Linux下的事件与网络编程 | 完成eventfd——唤醒PollLoop的初稿。 |
2020.08.18 | Linux下的事件与网络编程 | 完成reactor模式的echo服务器的初稿。 |
2020.08.11 | Linux下的事件与网络编程 | 完成IO复用与并发服务器的初稿。 |
2020.08.10 | Linux下的事件与网络编程 | 完成套接字与TCP通信的初稿。 |
2020.07.27 | ORB-SLAM源码解读 | 完成新地图点生成的初稿。 |
2020.07.13 | ORB-SLAM源码解读 | 水水地完成地图点筛选的初稿。 后面考虑调整一下ORB-SLAM源码解读系列文章的提纲。 |
2020.07.09 | ORB-SLAM源码解读 | 水水地完成插入新关键帧的初稿。 |
2020.06.30 | ORB-SLAM源码解读 | 完成生成关键帧的初稿。 |
2020.06.28 | ORB-SLAM源码解读 | 完成根据局部地图优化位姿的初稿。 |
2020.06.25 | ORB-SLAM源码解读 | 完成相机的位姿估计的初稿。 调整ORB-SLAM源码解读系列文章的大纲。 |
2020.06.18 | ORB-SLAM源码解读 | 完成将原《单目初始化过程》更名为单目相机的地图初始化过程, 并添加初始地图构建的内容。 |
2020.06.15 | ORB-SLAM源码解读 | 完成《单目初始化过程》的初稿。 |
2020.06.09 | ORB-SLAM源码解读 | 完成ORB-SLAM2系统对象——System的初稿。 |
2020.06.06 | ORB-SLAM源码解读 | 完成单目例程——mono_tum的初稿。 六月六,星期六,六六六。 |
2020.06.04 | ORB-SLAM源码解读 | 完成ORB-SLAM2的总体框架与安装试用的初稿。 |
2020.05.26 | 机器人控制的数学物理基础 | 完成定轴转动与转动惯量的初稿。 |
2020.05.22 | 机器人控制的数学物理基础 | 完成质心动力学的初稿。 |
2020.05.17 | 机器人控制的数学物理基础 | 完成质点系的动量、动能与动量矩的初稿。 |
2020.05.11 | Gazebo仿真 | 完成差速小车的Cartographer建图的初稿。 |
2020.05.08 | Gazebo仿真 | 完成差速小车的IMU的初稿。 |
2020.05.07 | Gazebo仿真 | 完成差速小车的里程计的初稿,将DiffCart的仿真模型由前驱改成了后驱。 |
2020.05.06 | Gazebo仿真 | 修改差速小车DiffCart,添加差速驱动基本原理的介绍。 |
2020.05.04 | Gazebo仿真 | 完成差速小车DiffCart的初稿。 |
2020.04.29 | 机器人控制的数学物理基础 | 完成质点的动量、动能与动量矩的初稿。 |
2020.04.28 | 机器人控制的数学物理基础 | 完成质点动力学的基本方程的初稿。 |
2020.04.27 | 机器人控制的数学物理基础 小土的机器人世界 |
完成质点的转动的初稿。 给小土的机器人世界写序言。 |
2020.04.24 | Gazebo仿真 | 完成Velodyne仿真插件的新生的初稿。 |
2020.04.23 | Gazebo仿真 | 水水的完成了输出激光点云的初稿。 目前Gazebo仿真系列更的这四篇文章都还只是Gazebo官方教程的进一步扩展,旨在了解Gazebo与ROS之间是如何对接的。如果我们只是想要有一个激光雷达来完成建图导航的任务, 使用这样的demo就太麻烦了。实际上Gazebo是可以通过ray进行多线激光仿真的,后面将对这个demo进行重构。 |
2020.04.20 | Gazebo仿真 | 完成Gazebo的系统插件与ROS的仿真时间的初稿。 |
2020.04.15 | Gazebo仿真 | 完成PID调参与自定义消息的初稿。 |
2020.04.08 | Gazebo仿真 | 完成从Velodyne的仿真插件开始的初稿。 |
2020.04.03 | Cartographer源码解读 | 完成后端优化过程的初稿。至此,Cartographer的2D建图逻辑基本梳理完毕。 |
2020.03.24 | Cartographer源码解读 | 完成分支定界闭环检测的原理和实现的初稿。 |
2020.03.22 | Cartographer源码解读 | 完成约束构建器——constraint_builder_的初稿。 |
2020.03.13 | Cartographer源码解读 | 完成位姿图的创建与更新的初稿。 |
2020.03.10 | Cartographer源码解读 | 完成Global SLAM的核心——PoseGraph2D的初稿。 |
2020.03.07 | Cartographer源码解读 | 完成连接前端与后端的桥梁——GlobalTrajectoryBuilder的初稿。 |
2020.03.02 | Cartographer源码解读 | 完成基于Ceres库的扫描匹配器的初稿。 |
2020.02.29 | Cartographer源码解读 | 完成Local SLAM的业务主线——AddRangeData的初稿。 |
2020.02.27 | Cartographer源码解读 | 完成查找表与占用栅格更新的初稿。 |
2020.02.25 | Cartographer源码解读 | 完成占用栅格的数据结构的初稿。 |
2020.02.24 | Cartographer源码解读 | 完成子图的维护与封装的初稿。 |
2020.02.23 | 机器人控制的数学物理基础 | 完成质点的复合运动的初稿。 |
2020.02.21 | Cartographer源码解读 | 完成Local SLAM的核心——LocalTrajectoryBuilder2D的初稿。 |
2020.02.20 | Cartographer源码解读 | 完成map_builder的接口实现的初稿。 |
2020.02.19 | Cartographer源码解读 | 完成初识map_builder的初稿。 |
2020.02.18 | 机器人控制的数学物理基础 | 完成质点运动学的初稿。 |
2020.02.15 | Cartographer源码解读 | 完成使用SensorBridge转换IMU数据的初稿。 |
2020.02.14 | Cartographer源码解读 | 完成通往Cartographer的桥梁——map_builder_bridge_和使用SensorBridge转换激光传感器数据的初稿。 |
2020.02.12 | Cartographer源码解读 | 完成cartographer_node的外墙——node对象的初稿。 |
2020.02.10 | Cartographer源码解读 | 完成系统入口——cartographer_node的初稿。 |
2020.02.09 | Cartographer源码解读 | 完成官方的ROS封装——cartographer_ros的初稿。 |
2020.02.05 | 一个四旋翼 | 完成四元数法与互补滤波的初稿。 |
2020.02.02 | 一个四旋翼 | 完成欧拉角法与扩展卡尔曼滤波的初稿。 |
2020.01.31 | 一个四旋翼 | 完成导航坐标系与姿态描述方法的初稿。 |
2020.01.28 | 机器人控制的数学物理基础 | 完成定点转动与四元数的初稿。 |
2020.01.22 | Cartographer源码解读 | 完成Cartographer的总体框架与安装试用的初稿。 |
2020.01.06 | 吉米多维奇 | 将第一章《分析引论》中第四节《函数的极限》拆分为函数的极限、 函数极限存在的主要定理、 函数极限的运算法则、 一些重要的函数极限四个部分。 剩余了一些习题,要么题看不懂、要么需要画图、要么答案太长,暂时跳过。 |
2020.01.04 | 测量系统和信号处理 | 完成MEMS惯性测量单元误差分析与分立标定方法的初稿。 |
兵势第五
孙子曰:凡治众如治寡,分数是也;斗众如斗寡,形名是也;三军之众,可使毕受敌而无败者,奇正是也;兵之所加,如以碫投卵者,虚实是也。
凡战者,以正合,以奇胜。故善出奇者,无穷如天地,不竭如江海。终而复始,日月是也;死而更生,四时是也。声不过五,五声之变,不可胜听也;色不过五,五色之变, 不可胜观也;味不过五,五味之变,不可胜尝也;战势不过奇正,奇正之变,不可胜穷也。奇正相生,如循环之无端,孰能穷之哉!
激水之疾,至于漂石者,势也;鸷鸟之击,至于毁折者,节也。故善战者,其势险,其节短。势如彍弩,节如发机。纷纷纭纭,斗乱而不可乱;混混沌沌,形圆而不可败。乱生于治,怯生于勇, 弱生于强。治乱,数也。勇怯,势也;强弱,形也。故善动敌者,形之,敌必从之;予之,敌必取之。以利动之,以卒待之。故善战者,求之于势,不责于人故能择人而任势。 任势者,其战人也,如转木石。木石之性,安则静,危则动,方则止,圆则行。
故善战人之势,如转圆石于千仞之山者,势也。