每周点评第四期:FreeRT0S

FreeRTOS 最近入了新坑,在NXP的MCU上移植freeRTOS,并开发相应软件。又掉入了嵌入式的坑啊。 既然叫FreeRTOS,当然是Free啦,难怪在RTOS市场中占有率第一。 下面是FreeRTOS官网对FreeRTOS的介绍: Here are some reasons why FreeRTOS is a good choice for your next application – FreeRTOS… Provides a single and independent solution for many different architectures and development tools. Is known to be reliable. Confidence is…

每周点评之第二期:如何提高代码质量

如何提高代码质量?–陈天 这篇文章分别从 产品,接口,指标,日志,代码清晰度,代码复杂度 等方面,谈到如何提高代码质量。 总结起来: 1.产品和接口: 要使得原理和接口上容易理解,并且隐藏细节。 90% 以上的情况,程序员是在写 parser。换句话说,我们写的绝大部分代码就是把一系列的输入,经过若干转换(transformation),变成一系列输出。 2.指标和日志 If you can’t measure it ,you can’t improve it. 通过测量来形成负反馈,提高系统质量 3.代码清晰度和代码复杂度 多学习一些小技巧,实现对语言掌握的精进,让代码更易读,更清晰。

每周点评之第一期:Apollo 2.5自动驾驶规划控制

自动驾驶公开课 | Apollo 2.5自动驾驶规划控制 关键词:RTK循迹、EM Planner 、Lattic Planner 关键之处: 如何去找一个成本最低的规划曲线呢?开发者面临的是一个三维空间中的优化问题,包括路面的二维平面,也包括时间维度。这是一个N立方难度的问题,Apollo 2.5的解决方法是,把这个N立方级别的问题,分拆成两个N平方级别的问题。也就是在x-y维度上求解,进行路径规划;在路径规划的基础上,以规划出来的路径为s轴,在s-t维度上进行速度规划。 Apollo 1.0中开始开放的RTK,也就是循迹Planner;Apollo 1.5中开始开放的EM Planner,也就是基于动态规划Dynamic Programming和二次规划Quadratic Programming的路径规划器与速度规划器;以及Apollo 2.5中开始开放的Lattice Planner,一种路径和速度同时规划的规划器。 RTK 先记录,然后播放来进行循迹 核心代码: #!/usr/bin/env python ############################################################################### # Copyright 2017 The Apollo Authors. All Rights Reserved. # # Licensed under the Apache…