XiongXiao's Blog

菜鸟要起飞

[HTML] Head First HTML & CSS 学习笔记(1)

开始了解HTML

你和Web之间的唯一障碍就是学习使用其中的语言

HyperText Markup Language(超文本标记语言),简写为HTML。让我们先从宏观的角度看看HTML以及Web的工作原理 1

1.Web服务器的工作

Web服务器主要是处理浏览器的各种请求,包括浏览网页,图片,播放声音,观看电影等。 2

2.Web浏览器的工作

上网的过程中点击某个链接来浏览网页,你的点击会导致浏览器向Web服务器请求一个HTML网页,然后浏览器接收该网页,并在浏览器窗口中显示 3

3.HTML例

下面来看一个简单的例子,HTML源码如下: 4

4.浏览器创建了什么

当浏览器“阅读”HTML时,它会解析文本中所有的 标签,标签使用尖括号括起来的字母或者单词,例如<head>,<p>,<h1> 等等。标签告诉了浏览器文本的结构和意义。我们能通过HTML中的标签告诉浏览器哪些文本是标题,哪些文本是段乱,哪些需要强调,哪里需要放置图片。让我们来看看浏览器是怎么解析刚刚例子中的标签的 5

[ROS]ROS PC间通讯

Kinect输出的数据包括640*480的rgb颜色数据以及depth深度数据,计划采用的实验平台是Xilinx提供的Zybo平台,由于Kinect的数据量大,加上3D建模的算法较为复杂,想要在Zybo平台上实现所有的功能恐怕是心有余而力不足,所以就需要在Zybo上做一些相对简单的处理,再将数据发送至PC端实现一些较为复杂的算法和图形显示功能。

由于Zybo上的ROS暂时还未实现,暂且先用两台PC做实验。

在多台机器上部署ROS并不复杂,记住以下几点

  • 只能有一个主控制器ROS master,选择一台机器运行
  • 所有的机器必须配置为使用相同的主控制器,通过设置环境变量ROS_MASTER_URI实现
  • 所有的机器端口之间都必须有完整的双向连接
  • 每台机器都必须要有一个自己的名字,其他的机器通过名字解析 具体设置可以参考ROS/NetworkSetup

实验步骤

这里的MASTER_IPSLAVE_IP分别代表两台机器的IP地址,请自行更改

1.在主机运行

$ export ROS_MASTER_URI=http://MASTER_IP:11311
$ export ROS_IP=MASTER_IP
$ roscore
$ rosrun rospy_tutorials listener.py ...

[ROS]Kinect 3D 环境建模的尝试与改造

今年团队参加了openHW 2014开源硬件与嵌入式大赛。计划用四旋翼飞行器搭载kinect实现室内环境的三维建模。期望的最终实现下过如下图: 3d_output

去年我们团队同样参加了这个比赛,题目是混合实时移动机器人平台,实现小型轮式移动机器人室内环境的2D地图构建和导航,采用ROS(Robot Operation System)分布式架构。演示视频在这里

虽说已经有了去年的基础,但从2D升级到3D还是面临着很多挑战。具体体现在以下几个方面:

  • 数据量的大幅增加,网络传输的带宽限制
  • 环境信息的特征识别、地图拼接的算法等都更加复杂
  • 飞行器的飞行状态的不稳定性

[Pelican] 使用Pelican搭建静态博客

为什么写博客

一方面是对自己平时工作和学习中收获的自我总结和积累,另一方面,借用知乎的一句话说就是“与世界分享你的知识”。

为什么选择Plican

写博客有两种选择:

一种是博客社区,中文的比如CSDN博客园等,我之前在CSDN上的博客在这里。社区中不乏很多好的文章,而且搜索起来比较方便。

第二种是搭建个人的独立博客。一直以来搭建独立Blog的首选只有 Wordpress ,不但安装快捷简单,还有无数的插件和主题。我也学习过PythonDjango,尝试过用Django自己搭建一个博客,感兴趣的可以看看django-blog-zinnia,但最终因为相对繁杂的配置和管理放弃了。请原谅我的孤陋寡闻,我是直到三个月前才知道Github Pages 和静态博客这个概念的。

静态Blog生成工具的好处:

  • 静态,对托管空间没有要求,只要支持Web服务即可,可以直接放在Github上
  • 支持 reStructuredTextMarkdown 语法,这种所想即所得的标记语言加上 Emacs的定制配置 ...

[ROS]fuerte版本的下解决rgbdslam包不兼容的问题

最近学习ROS的过程中入手了kinect,一些驱动部分已经装好,对人体的骨架识别在一番折腾之后也没有问题了,唯独在对环境进行地图建模的地方一直卡住很久,由于手上没有现成的机器人,本人也是ROS新手,所以只能按照官方的教程一步一步来,具体可以参考rgbdslam Wiki。下载完rgbdslam_freiburg包,也通过

rosdep update
rosdep install rgbdslam_freiburg

安装了libg2o,但在最终编译的时候出现错误,导致编译不能通过。上ROS ANWSERS 找解决办法,发现有很多和我类似的情况,最后我找到了这个

其中的回答大意就是删除libg2o包,下载旧版本的g2o包,然后更改rgbdslam_freiburg包编译过程中用到的依赖。

我的步骤如下

  1. http://openslam.org/g2o.html 通过svn获取源码,阅读trunk文件夹中的README.TXT安装一些依赖之后再编译。

  2. http://ros.org/wiki/g2o通过svn下载包,然后编译,在编译过程中会提示网址的svn证书不受信任,编译终止。通过在网上查资料 ...