Welcome::欢迎来访

============================================================================

欢迎阁下光临 云飞机器人实验室

博主 戴晓天 (Yunfei) 致力于嵌入式系统与机器人研究。

● 云飞机器人实验室是什么?

云飞机器人实验室是一个 “专注于嵌入式系统应用,致力于智能系统研究” 的个人科技博客。

实验室专注于嵌入式系统、计算机与机器人领域,包括嵌入式处理、程序语言、实时系统、机器人系统和智能控制等。

● 目标与愿景

云飞实验室的宗旨是:“让机器充满智慧”,旨在利用嵌入式和机器人技术改变人类的生活方式。

● 沟通与交流

欢迎其他有相关爱好的个人或组织与我沟通交流。同时本网站接受电子产品评测、电子类文章约稿等服务。如要交换链接请与我邮件联系,接受各种电子、科技与工程类博客。

● 版权声明

本网站所有内容除特别声明,均为云飞机器人实验室原创。作者保留对文章的一切权力。转载请注明原文出处,并保留原文的版式与结构。

============================================================================

About this blog >>

Welcome to Yunfei Robotics Laboratory. I am Xiaotian Dai from University of York and this is my personal tech website. This blog provides topics on embedded systems and robotics. The majority of the articles on this blog are based on my original work, while few videos and photos are shared from other technical websites.

Topics covered in this blog include intelligent robots, computer vision, Raspberry Pi, Arduino, embedded Linux, electronics, high performance microcontrollers, computer art and graphic user interface.

This website is original in Chinese but the support of English is in process. You can follow this link to see all posts in English. If you have any suggestions and ideas about my blog, please feel free to leave a comment or simply send me an email: automatic.dai (at) gmail.com. To know more about me, please follow this link.

============================================================================

YunFeiLogo_01

============================================================================

Specials::特别专题>>

RaspberryPi_Logo arduino_logo_text gameduino2_logo ros_logo stm32_logo c-prog

============================================================================

News::网站动态 >>

2016/05/26   最近一直在做家庭服务器的构建,有很多成果等待发布,敬请期待。

2016/04/20   推荐博文: 树莓派3代介绍及历代树莓派比较

2015/11/01   网站总访问量突破10万了,感谢广大读者的支持!

2014/10/29   Gameduino 2中文参考手册历时数月翻译完成,现已正式发布!点击下载

2014/09/23   网站全新改版:支持宽屏浏览,图片和标题都更加清晰,同时网站正在逐步支持多语言。

2014/08/03   项目上线: Gameduino 2 (Arduino图形界面扩展板)  点击访问

2013/06/11   项目上线: 妖姬 – 互联网时代的电子植物

2013/03/24   专栏: 树莓派Raspberry PI,点击访问

2013/01/11   项目上线: 机器人室内定位项目立项,点击查看

Read more »

This is a sticky post! continue reading?

Linux系统全方位调试与维护工具整理

俗话说:“工欲善其事,必先利其器。”

在多年维护和开发Linux服务器的过程中,我接触了一些常用的开发和调试工具。本文将这些工具整理在一起,便于指导读者选择正确的工具。文中对于工具只有简单的介绍,需要详细的用法可以--help或自行Google。

本文针对的环境是CentOS/RedHat服务器 (需要epel库)。其他发行版应该也有相应的命令,但我没有一一测试。

系统管理

  • ssh: 远程登录
  • last, lastlog: 查看用户登录历史
  • cron: 设置周期运行的定时任务
  • at: 设置运行一次的定时任务
  • screen/nohup: 在后台运行程序,程序不会随着shell关闭而退出
  • rsync: 文件夹同步
  • pv: 文件拷贝(重定向方法,含进度条,但会丢失文件的权限信息)
  • lshw: 显示硬件信息
  • lscpu: 显示CPU信息
  • dmesg: 显示系统日志

资源监控

通过查看系统资源使用,快速定位性能瓶颈与系统异常。

  • 内存
    • free: 当前内存使用情况
  • 硬盘
    • df: 硬盘空间使用情况
    • iotop: 磁盘IO使用实时监视
    • ncdu: 分析文件夹使用的磁盘大小
  • CPU
    • 见进程调试
  • 网络
    • nethogs: 监控当前活跃的网络连接
    • nload: 主机上传/下载流量监控
  • 综合
    • glances: 系统资源、进程查看工具(我的最爱)
    • linux-dash/pyDash: 系统资源监控(基于网页)

内核调试

  • perf
  • kgdb: 内核调试工具
  • lsmod: 显示所有被使用的module
  • vmstat

进程调试

  • ps: 查看当前进程
  • top: 查看当前进程以及进程资源占用情况(动态更新)
  • htop: top替代工具,信息丰富,可以查看树状进程信息
  • pidof: 按进程名查PID
  • skill: kill的升级版,通过名字(而不是PID)kill进程

文件调试

  • tree: 将文件夹按树形显示
  • lsof: 显示当前程序文件(包括虚拟文件)打开情况
  • mc: Midnight Commander知名文件管理器

网络调试

  • curl: 发送HTTP, REST请求
  • tcpdump: 抓包工具,通过自带的与或非逻辑可以组合成复杂的过滤条件
  • wireshark: 类似tcpdump的老牌抓包神器
  • nmap: 网络开放端口扫描
  • ip: 网络管理工具集
  • fping: ping升级版
  • netstat
  • nicstat
  • iptraf

程序调试

  • gdb: gnu项目下的代码调试器
  • strace: 打印出进程调用了哪些系统调用。
  • ldd: 查看程序依赖库。
  • objdump: 打印目标码和反汇编结果。
  • xargs: 读取输入流并将读取的文本作为指定命令行工具的命令行参数。
  • ipcs: 显示进程间通信设施状态

其他工具

  • vim/nano: 文本编辑器
  • grep, sed: 文本信息处理
  • awk: 表处理,很强大的二维表处理功能,可以对格式化文本输出进行处理
  • jq: 命令行的json查询和格式化工具,适合查看REST接口的输出

References

[1] 用十条命令在一分钟内检查Linux服务器性能, http://www.infoq.com/cn/news/2015/12/linux-performance
[2] Linux Performance, Brendan D. Gregg, http://www.brendangregg.com/linuxperf

「机器说」- 机器人领域一周关键词 (170817)

# 智能语音音箱之争

最近几周“智能音箱”这个概念被炒得很火,各个公司都陆续推出/或宣布将要推出自己的智能音箱产品。本周的机器说就和大家聊聊我对智能音箱的看法。

使智能音箱成为现阶段焦点的起源,是亚马逊Amazon在2015年6月推出的Echo智能音箱。这款音箱在传统的无线音箱基础上,增加了语音交互的功能。借助内置的Alexa语音识别系统,Echo可以实现语音购物、定时提醒、音乐播放,以及通过第三方app与其他硬件设备对接等功能。


▲ 图. 亚马逊Echo音箱

亚马逊的Echo推出之后,又推出了一款名为Amazon Dot的小型设备(实际就是Echo去除了发声单元,保留360度全向麦克风)。谷歌也在去年11月宣布了自己的智能音箱产品:Google Home Smart Speaker. 这款设备是继Google Chromecast, Chromecast Audio和Pixel手机之后的又一个硬件产品。不得不说,谷歌的产品从设计感和美学的角度上就完爆了Amazon.


▲ 图. Google Home Smart Spearker

至此之后,今年6月在苹果的WWDC 2017发布大会上,苹果竟然也推出了自己的智能音箱产品:Apple HomePod. 与其他两家竞争对手主推“智能”不同,Apple打的一手苹果的情怀:HomePod是iPod的扩展和延续,是未来家庭中的新音乐中心。这就决定了Apple HomePod会更注重音质。苹果也是很早就在布局智能家居战略,其“HomeKit”系统正在扩大完善。有消息称,苹果将简化硬件验证环节,让更多的厂家可以加入到其智能家居的阵营。


▲ 图. Apple的HomePod


▲ 图. 官方的HomePod结构图

这样看来,各个公司卖音箱只是第一步,实际都是要和自己的虚拟/实体业务进行捆绑,扩大自己系统的影响力。从亚马逊来看,Echo是一个好的验证Alexa的平台。目前Alexa的用户数远比不上Google Assistant和Siri,所以亚马逊也希望通过这款产品,提高在智能硬件上的竞争力,与自己完全的虚拟经济实行对接。而谷歌则一直善于研发智能硬件设备,也有着把科技带入寻常家的愿景。至于苹果,自然不想在这场竞争中失利,何况自己的Siri和在AI领域的积累也不少。苹果也需要摆脱自己全靠系统集成的形象。

智能音箱实际上是之前智能家居浪潮的新一波,得益于基于深度学习的语音识别技术。未来以AI作为中控的智能家居系统,可能不仅仅是科幻电影里面的憧憬了。也许未来的中控系统不是智能音箱,也许每一个设备都可以作为控制的入口。未来生活的形式或许现在还很难想象的到。

附. 国内同类型产品

  • 京东:叮咚
  • 阿里:天猫精灵 x1
  • 百度:度秘(Duer)
  • 腾讯:智能音箱“耳朵”

「机器说」by 云飞机器人实验室

关注机器人技术的最新发展,三分钟为你解读每周机器人领域的核心关键词。每周一篇,在我的微博、知乎专栏和云飞机器人实验室网站同步更新。

更多机器人和嵌入式系统的技术文章可访问云飞机器人实验室


 

「机器说」- 机器人领域一周关键词 (170531)

# Alpha GO 2.0

上周最大的看点就是Alpha GO与柯杰的巅峰对战了。在经过一年的迭代之后,Alpha Go 2.0终于登上神坛,最终以三局全胜拿下了比赛。根据之前几个月Alpha GO在平台上对决的不败表现来看,柯杰本来就胜望不大,这次比赛的结果也就在预料之中了。然而这次Alpha GO的胜利却有标志性的意义:那就是人工智能已经可以挑战人类认为的“高级”活动了。随着这场胜利到来的是新的一波“人工智能威胁论”:如果机器不仅可以完成普通的体力劳动,还可以完成脑力甚至是创造力的活动,那么很多工作都会被机器人取代。每一次生产工具的革新都将带来社会分工的变革:从工业革命的历史中看,具有人工智慧的机器人势必会蚕食大量原本属于工人的工作;然而社会的进步就是以这种牺牲为代价的,通过工具改良提高的社会总体产值,会反过来影响这些因为新技术失业的人,迫使他们转向新的行业。我们不能还和18世纪一样,因为工具威胁到了自己的工作,就加入了反对的阵营。我们不能忽略这种革新是良性的。当然,想要机器与人和谐相处,我们需要对它们有足够多的认知和控制。但正如凯文凯利说的一样:我们为了达成目标所赋予机器的自由,最终会让我们失去对它们的控制,这是必然的、也是需要我们接受的。

# DJI Spark

“晓” (DJI Spark) 是大疆继Phantom和Mavic之后的新一代无人机。本次大疆瞄准了小型、自拍无人机市场,独特的人脸识别开机起飞与手势识别操控,彻底让Spark摆脱遥控器控制。“晓”的最终售价应该是在3000元左右,是Mavic的一半。当时Mavic出来的时候就心动的想买一个,这次Spark的定价总算是在一般用户的承受范围之内了。然而我还是对这款无人机的定位表示怀疑:

  • 体积上的缩小势必降低了整体性能(最高航速、续航时间、成像清晰度4K降到了1080P,抗风性也会下降);
  • 和Mavic相比,Spark的价格虽然亲民,但是功能上越来越接近“玩具”级别。普通人可能不愿意花这个价格买一个不上不下的产品,可能更愿意买各方面都比较成熟的Mavic,尤其是便携性上Spark也没有太大优势。加上现在越发收紧的无人机管制,可能真正的用户需求量不会很大。

无论如何,这是大疆从专业级向业余级过渡的产品,也让大疆产品线的层次越发分明。

(信息来源 – 机器人Robotics China)

# FCIS

FCIS (Fully Convolutional Instance-aware Semantic Segmentation) 是在COCO-16上获奖的图像分割算法,该算法可以识别、标记图像中的物体种类,从而进行精细的图像分割:

该项目最近在Github上开源了,项目地址在:https://github.com/msracver/FCIS. 我并不太了解图像分割技术,所以没有去了解具体的技术细节,有需要的读者请自行解读。

# Deep Voice 2.0

百度研究院近日发布了一款基于神经网络构建的文本-语音转化 (Text-to-Speech) 系统Deep Voice 2.0,这是今年二月份发布的Deep Voice的第二版。但当时的系统只能转化20小时语音,而且只有一种声音。不到三个月的时间,这个系统得到大幅升级,能够生成数百个小时的语音,拥有数百种声音。我去Baidu Research的相关网页体验了一下,生成的合成语音真假难辨:http://research.baidu.com/deep-voice-2-multi-speaker-neural-text-speech/. 这项技术配合已经比较成熟的Voice Recognition,就可以完成语音信息的输入-输出闭环了。然而相比主流的语音生成模型技术,通过神经网络生成似乎缺乏灵活性,这个技术百度要如何完善和应用也还不明朗。

(信息来源 – 新智元)


「机器说」by 云飞机器人实验室:关注机器人技术的最新发展,三分钟为你解读每周机器人领域的核心关键词。每周一篇,在我的微博、知乎专栏和云飞机器人实验室网站同步更新。


 

「机器说」- 机器人领域一周关键词 (170521)

# Google I/O大会

5月17日,谷歌在山景城举办了本年度的谷歌I/O开发者大会。本次大会上谷歌重申了自己AI first的战略,不断将最新的机器学习技术应用到语音识别和图像处理产品中。此外,谷歌宣布了下一代的TPU,Cloud TPU,其实是将多块TPU集成组合到一个TPU版图上:

这种任意组合的方式可以让谷歌根据应用需求更自由的选择配置,为自己的ML服务提供原动力。谷歌提到自己也将提供TPU云租赁服务。

谷歌将人工智能方面的工作综合到Google.ai之下,并提出AutoML的方法 – 用神经网络(一个基于RNN的控制器)来设计神经网络的结构。 这种方法我理解的就是通过实验-反馈的方法来获得最优架构的过程。

最后,谷歌发布了用于移动端的机器学习库 – TensorFlowLite,希望助力移动端语音识别、视觉搜索和增强现实的发展。

谷歌在ML和AI上一直独领群雄,而且一直是做让大众和用户受益的产品。这次I/O大会提到的将Google Assitant广泛应用到硬件产品中,也是我十分看好的应用。虽然亚马逊现在先行一步,已经将Alexa做在Echo上。但是谷歌凭借其在语音识别和硬件上的经验,应该很容易就可以后来居上。

(信息来源 – 机器之心)

# Google Lens

Google Lens是在本次谷歌I/O大会上发布的一款图像识别和理解软件。发布会上demo了这款软件实现拍照识花、拍WiFi密码自动连接路由、通过店面照片调取评价等功能。

之所以单独说这个软件,是因为我个人觉得这个会是划时代的killer级应用。目前谷歌积累了大量图像识别和图像语义理解的技术,和Google Assistant的语音技术结合后,实际上就解决了机器人的一个大问题 – 自然语言交互接口。通过看和听两种感官,实现对命令和意图的理解。虽然这个demo展示的功能很少,但是如果这个idea实现,那么机器可以将“视听 – 理解 – 行动”这个链条中最重要的“理解”给填补上。我们离真正的通用人工智能也就不远了。至少,可以通过视觉的额外输入,来和语音形成互补或加强。比如拍一张照片后问:“这个狗的品种是什么?”未来可应用的空间其实非常大。

(信息来源 – Techcrunch)

# 激光雷达之争

近日Waymo指控Uber盗用激光雷达专利的官司有了新进展。涉事前Waymo员工被停工,相关窃取机密文件也被要求归还Waymo. 这起案件被看作自动驾驶专利案的开端。激光雷达在整个自动驾驶层面的地位毋庸置疑,也是各大公司在实现自动驾驶道路上的兵家必争之地。相比国外公司,中国公司在自动驾驶专利上的布局还不足。等到技术差异化越来越小时,势必需要依赖核心专利来增强自己的竞争力,国内的自动驾驶公司现在要慢慢在技术专利上积攒优势。

(信息来源 – 车云)

关注「机器说」by 云飞机器人实验室:关注机器人技术的实际发展,三分钟看完每周机器人领域的核心关键词。每周一篇,微博、知乎专栏、博客同步更新。

使用Markdown进行写作和文字记录

1. 背景

Markdown是一种语法简洁的标记语言 (Markup Language)。Markdown可以使用任何一种纯文本编辑器进行编辑,同时可以渲染、生成HTML。Markdown虽然是标记语言,但是和HTML比起来具有更好的可读性。与富文本(Rich Format Text, RTF)格式相比,Markdown的纯文本特性让使用者可以更加关注内容,专注于文字的表达。我多年前在友人的推荐下开始尝试用Markdown写作。我一开始并不习惯这种所写和所得分离的方式,但是之后也慢慢习惯、喜欢上了这种内容与格式分离的文字编辑方式。此文我整理了我关于Markdown的认识(本文也是通过Makrdown书写的),同时我推荐大家开始尝试用Markdown生产笔记、日记、文档、博客等文字信息。

2. 使用Markdown的好处

先说一下Markdown语言的优势:

  • 记录速度快:比起其他文字格式,Markdown可以更快地记录信息,编辑过程只需要键盘参与。基本的文字格式 (如标题,粗体,斜体等)可以通过快捷键实现,利用序号、列表功能还可以快速生成层次化的段落结构。
  • Markdown是纯文本格式,可以用普通文本编辑器编辑(nano, VIM, Notepad++等),方便修改和共享。
  • 可移植性好。工具是不断变迁的,对于富文本工具而言,更换工具就意味着文字格式无法完美保留(当初从写字板到word);而对于Markdown而言,因为源文件本身并没有格式编码,所以更换工具几乎不会影响版式。不同工具的渲染结果也几乎没有差别。
  • 重内容,轻版式。很多时候我们会浪费很多精力在文字的排版和格式统一上,而Markdown简单清晰的编辑方式,让我们可以集中于内容的编辑。
  • 可以生成HTML。Markdown在设计时就完全兼容HTML,可以直接插入HTML代码(但是不推荐,会影响纯文本的优点)。Markdown配合不同的CSS可以渲染成不同风格的网页,Markdown还可以导出为pdf。除此之外还可以渲染成多种格式(大多数编辑器有导出功能,或者用Pandoc转换)。
  • 图文分离,备份或者传播时简单、信息的体积小。

3. 使用Markdown的坏处

然而Markdown也并非完美:

  • 所见非所得。编辑器和Live Preview是独立的系统,如果需要实时预览,则需要编辑工具的支持。
  • 插图不方便。在富文本系统中可以直接copy + paste,而一般的Markdown系统则需要单独的文件夹存储图片,还需要额外输入图片路径。
  • 文字的表示形式有限。相比富文本,Markdown无法随心所欲地修改文字的属性(字体、颜色、大小等)。如果需要特殊的文字格式,需要插入额外的html属性,但是这些会破坏纯文本的移植性。
  • 页面版式、布局相对固定。总体来说只能是线性的记录方式。如果需要自由的图文混排,其他工具如Word或者Onenote是更好的平台。

Read more »