驱动自己的机器人

DJI RoboMaster EP 年初我打算花半年时间研究自动驾驶,以及计算机图形学,于是开始调研开发自动驾驶系统的硬件,最先考虑的是nvidia在2019年发布jetson nano平台时开放的jetbot,基本是一台玩具小车,配备3D打印车身,两个小轮子以及一块jetson nano developer kit,一个camera,官方项目地址,考虑搭建整个车子的硬件平台所需要的成本以及可玩性,我决定不考虑类似玩具方案的car robot,最后我瞄准了DJI robomaster EP,因为它开放了完整的SDK,并且整个机器人平台是用于教育比赛而设计的,可玩性非常丰富,自己也不需要过多的去考虑底层硬件的装配。这样我就可以借鉴jetbot的自动驾驶设计,将其移植到robomaster EP上,打造最原始的自动驾驶开发平台。 Coral Edge TPU As Robot Brain 经过一段时间的动手测试,我决定在robomaster EP上采用的硬件方案是raspberry pi 4 + google edge tpu,具体架构如下: 左边是自动驾驶会用到的一些工具,视觉加速芯片我使用的是google edge tpu,相比nvidia Jetson GPU,它的功耗更低,这样在做视觉运算时不会大量消耗机器人有限的电池电量。 右边是需要自己搭建的一个机器学习运维平台,从数据的收集,模型训练以及测试,最后模型部署,都是自动化的。

March 30, 2023

Volcano高性能引擎

简介 volcano是一个用于高性能工作负载场景下基于kubernets的容器批量引擎。 应用场景: 机器学习以及深度学习 生物以及基因计算 大数据应用 概念 Queue 容纳一组podgroup的队列 apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: distcc spec: weight: 1 reclaimable: false capability: cpu: 50 字段: weight -> 该queue在集群资源划分中所占有的比例,该queue占用的资源比例为: (weight / total-weight) * total-resource,资源软约束。 capability -> queue内所有podgroup使用资源之和的上限,资源硬约束。 reclaimable -> 当该queue在资源使用超过该queue限制时,是否允许其他queue回收该queue使用的超额资源。 使用场景 Total Cluster CPUS = 4cores --- apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: test1 spec: weight: 1 --- apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: test2 spec: weight: 3 # 创建p1 p2 podgroup分别属于test1,test2,分别向p1 p2中投入job1 job2,资源申请分别为1C和3C,两个job均能正常工作 --- apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: test1 spec: weight: 1 # 首先创建test1 queue,创建podgroup p1,在p1中创建job1 job2,资源分配分别为1C和3C,job均能正常工作。 --- apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: test2 spec: weight: 3 # 创建test2 queue, 在该queue中创建podgroup p2,在p2中创建job3资源申请为3C,由于test2 queue weight=3,从而job2将被驱逐,test1 3C资源将归还给test2。 --- apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: test1 spec: capability: cpu: 2 # 创建test1 queue,容量设置为2,也就是资源上限使用为2C,创建p1 podgroup,在p1中创建job1 job2资源申请分别为1C和3C,那么job1正常运行,job2处于pending状态 --- apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: test1 spec: weight: 1 reclaimable: false --- apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: test2 spec: weight: 1 # 创建 test1 queue,reclaimable为False,也就是该queue不归还多占用的资源,分别在test1 test2 queue 中创建p1 p2,在p1中创建job1,资源申请为3C,由于权重比例为1:1,此时 test1 多占用1C,在p2中创建job2,资源申请为2C,此时由于test1不归还多占用的资源,job2将处于pending状态。 PodGroup podgroup是一组强关联pod的集合,用于批处理工作负载场景。 ...

June 2, 2021

Countdown To Mars Landing

Perseverance Rover 登陆火星地表时间 Thursday, February 18, 2021 at 11:15 AM – 1:30 PM PST 2021年2月18日星期四上午11:15 - 下午1:30,太平洋标准时间 展望 人类一直在坚持不懈的探索地外文明,这次Perseverance火星车能够顺利登陆火星,将再一次开启新的地外文明探索之旅。 探索和创造永远是一件最快乐的事情,即使最后失败了,我们的人生也是充满奇幻色彩的,而不是碌碌无为的过完这一生,至少你可以把你的故事讲给你的下一代听,告诉他们你曾经做过最辉煌最棒的事情。 Perseverance火星车登陆直播地址 Watch NASA’s Perseverance Rover Land on Mars 登陆顺序 Pre Landing Simulation MARS Perseverance Press Kit Cruise stage separation (巡航阶段分离) Atmospheric entry (进入火星大气层) Peak heating (燃烧峰值) Parachute deployment (降落伞部署) Heat shield separation (隔热板分离) Back shell separation (后壳分离) Touchdown (接触火星地表)

February 17, 2021

AlphaFold2 Solve Protein Folding Problem

引用文章链接 参考文献 AlphaFold: Machine learning for protein structure prediction Improved protein structure prediction using predicted interresidue orientations Improved protein structure prediction using potentials from deep learning AlphaFold 1 AlphaFold 2

December 3, 2020

Taleb Disorder Series Books

书籍 介绍塔勒布写的四本好书: 《反脆弱》在读 《黑天鹅》已读完 《随机漫步的傻瓜》未读 《非对称性风险》未读 《随机生存的智慧》未读 知识延伸 在看塔勒布的黑天鹅时,他一直强调平均斯坦和极端斯坦这两者的特性,同时特别关注极端斯坦中的概率理解-分形几何,自相似理论。这里让我特别关注到今年年初wolfram提出的图网络是宇宙物理理论基石的猜想,有兴趣的小伙伴可以去wolframphysics了解具体内容,简单的讲就是通过一个简单的规则去创建复杂的宇宙,然后通过这些繁衍出来的宇宙模型去解释我们现有的物理学理论大厦。在分形理论中,某种规则通过不断迭代自身,从而繁衍出大自然中的美妙几何,这就是塔勒布在他的书中一直描述的自相似结构,所以目前自己把大量的注意力集中在随机性和分形几何这两个领域,运用分形几何也许会使机器学习有新的突破。

November 17, 2020

ReMarkable 2

自己在三月份预定了reMarkable2墨水屏手写电子平板书,由于疫情的原因,本来应该在七月份收到的,结果到昨天才收到货物,整个产品的包装很有艺术份儿,购买这个产品的原因是为了方便自己在出行时能够快速阅读,并且能够直接在文档上做标记和画图,电池的续航也特别长,基本上看看书可以使用3-5天,比起像iPad这样的平板该产品的优势大概就在于是墨水屏,分辨率1872*1404(226 DPI)基本上不会出现字体模糊的现象。平时在家,可以看看纸质书籍,出门上班或者远行带上reMarkable2就可以轻松快速的完成学习,将注意力专注于阅读和做笔记上。

November 17, 2020

SARS CoV 2 VLP Vaccine Candidate

icosavax-vaccine-pipeline 编写中…

November 3, 2020

Running Folding@home

从Rosetta@home到Folding@home 先从主要的原理入手,Rosetta@home只是预测能够Binding Covid-19外层刺突蛋白的人工合成药物的分子结构,可以想象成类似摄影中的拍照技术,Rosetta能够静态的预测某一个蛋白质的特征,但是它无法预测该蛋白质分子在时间的演化下是如何运作的,因为分子之间会有电势差异,产生电磁力的作用,所有分子内部的构成元素都会随着时间的变化相互影响而产生运动,当我们在Rosetta中设计出一种能够绑定SARS-COV-2病毒的合成药物时,需要进入测试阶段,观察该药物是否能稳定的与病毒蛋白质结合,因为预测的结构是静态的,我们无法知道蛋白质结构在相互作用运动的情况下是否能够很好的与病毒蛋白质结合,这里Folding@home就派上用场了,它就类似于摄影中的拍摄动态画面,我们可以从Rosetta@home上拿到静态的蛋白质结构链,然后在Folding@home中模拟该蛋白质随着时间的推移是否能够很好的与病毒蛋白质结合,从而产生抵抗病毒的作用。 加入计划 我会关闭之前一直在运行的Rosetta@home,目前Rosetta@home已经发表了论文,预测出了能够结合SARS-COV-2的人工蛋白质结构,所以现在需要做的就是进行大量分子动力学模拟,并且Folding@home已经支持ARM64架构,我会把自己运行的算力全部迁移到Folding@home,期望全世界的感染人数能够降下来,使得经济能够复苏。

October 22, 2020

Cineneural Main Website is Online

www.cineneural.com网站初版已经上线,主网站托管在自己搭建的树莓派4集群上,官网的主要功能就是提供医学影像处理的入口。 To Do list: 加密所有流量。 增加cloudflare <-> Home Raspberry Pi的网络稳定性。 提供医学影像检测入口,上传影像,以及下载分析结果。

October 8, 2020