0%

2014年我开始参与实验室的一个自然科学基金项目,从而接触了机器人操作系统(Robot Operating System, ROS),这真是个好东西,但在国内好像不是很普及。我很有可能是我们学校第一个使用ROS的人,还给院里做相关方向的同学做了简单的介绍。我的硕士毕业论文和机器人路径规划算法有关,用的软件平台就是ROS,为我的算法验证提供了极大的方便。

阅读全文 »

岳麓山是块风水宝地,湖南省最好的三所大学坐落在山脚下。山从北到南绵亘几公里,走向略有弯曲,就好像面对湘江张开了双臂。而湖南大学就夹在这山水之间,安然地躺在岳麓山温暖的怀抱里,占据了最精华的一块土地。从2009年读大学到现在,我在岳麓山脚下生活了近七年,深深地爱上了这片土地。

阅读全文 »

硬件PWM

本文针对的是Raspberry Pi 2 Model B硬件。从理论上讲,对于任意GPIO口,可以通过设定延时来输出PWM信号,这被称作软件PWM。由于Linux不是实时操作系统,对于一些要求硬实时的应用,例如通过PWM信号控制舵机,最好使用硬件PWM

阅读全文 »

问题

I/O多路复用之epoll一文简单介绍了I/O多路复用模型。I/O多路复用的API函数返回就绪(ready)的文件描述符,在这些文件描述符上执行readwrite都不会阻塞。那么即使描述符是默认的阻塞方式,调用读写函数应该也不会阻塞。但实际情况是,I/O多路复用一般和非阻塞I/O配合使用,比如libevent网络库所采用的Reactor模式。实际上,如果多路复用不搭配非阻塞I/O,在下面几种情况下会出现问题。

阅读全文 »

简介

I/O多路复用(I/O multiplexing)使得程序可以同时监测多个文件描述符,查看它们是否就绪(ready),即能否进行I/O操作。能够进行I/O操作,具体来说就是,在描述符上执行I/O相关的系统调用时不会阻塞,函数要么成功返回,要么返回错误,进程不会进入睡眠状态。

阅读全文 »

上学期从酷壳网的文章得知LeetCode这个很有名气的OJ平台。我以后很有可能要去做程序员,借助LeetCode提高自己的算法和编码能力还是很有必要的。这个学期就要为找工作做准备,刷LeetCode至少对面试有帮助。

阅读全文 »

我从2012年5月开始写日记,每天都没有中断,至今已有两年。最开始是写在本子上,今年清明节家里人来湖南玩,连续几天不在学校,于是把要写的内容记在手机上,回去再抄上去。正好日记本快写完了,又觉得电子版的更方便,所以决定以后就写电子版的日记。我现在是把每天的内容通过邮件的方式发送出去,不用担心丢失。

阅读全文 »