自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

古月居

怕什么真理无穷,进一寸有一寸的欢喜

  • 博客(309)
  • 资源 (11)
  • 收藏
  • 关注

原创 经典文献阅读之--LOG-LIO(高效局部几何信息估计的激光雷达惯性里程计)

局部几何信息即法线和点分布在基于激光雷达的同时定位与地图构建(SLAM)中是至关重要,因为它为数据关联提供了约束,进一步确定了优化方向,最终影响姿态的准确性。然而即使在使用KD树或体素图的辅助下,估计法线和点分布也是耗时的任务。为了实现快速法线估计,《》研究了激光雷达扫描帧的结构信息,提出了一种新颖的快速近似最小二乘(FALS)方法,通过预先计算的方位角信息,当新的扫描帧到达时,估计法线仅需要点的距离信息,为了高效估计点的分布,我们将ikd树扩展到体素管理地图,并在保持法线一致性的同时增量更新其点云分布。

2024-04-03 17:37:13 664

原创 使用CyberRT写第一个代码

计算框架是自动驾驶系统中的重中之重,也是整个系统得以高效稳定运行的基础。为了实时地完成感知、决策和执行,系统需要一系列的模块相互紧密配合,高效地执行任务流。由于各种原因,这些模块可能位于不同进程,也可能位于不同机器。这就要求计算框架中具有灵活的、高性能的通信机制。Apollo在3.5版本中推出了Cyber RT替代了原先的ROS。和ROS & ROS2中类似,Cyber RT中支持两种数据交换模式:一种是模式,常用于数据流处理中节点间通信。

2024-04-03 17:26:21 882

原创 Protobuf 二进制文件学习及解析

protobuf也叫protocol buffer是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 、json进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。

2024-04-02 16:01:46 656

原创 OriginCar之FoxGlove使用

除了软件本体外,笔者还开发了对应脚本辅助使用者使用,使用者在PC端需要安装keyboard、roslibpy、opencv-python、pyyaml等Python库,请按照下面步骤安装这些依赖终端进入src目录输入命令pip install -r requirements.txt这个命令会自动读取requirements.txt文件中列出的依赖项,并安装到你的Python环境中。确保你的Python环境已经正确设置,并且具备足够的权限来安装这些库。

2024-04-02 15:26:06 1635 1

转载 使用python来调试串口

串口模块的波特率比较特别,找了几个串口工具都不支持。。。所以,干脆用python自己来写了,其实已经好奇好久了,别人的工具各种不顺手。需要pyserial的支持,兼容各种平台,不需要新编译二进制文件。 先贴一个定时发送的代码:import serialimport timeser = serial.Serial('/dev/ttyUSB0', 250000, timeout=1)print

2016-01-18 17:12:10 16235

转载 树莓派初体验,安装Ubuntu 14.04 LTS

转载自:http://www.polarxiong.com/archives/%E6%A0%91%E8%8E%93%E6%B4%BE%E5%88%9D%E4%BD%93%E9%AA%8C-%E5%AE%89%E8%A3%85Ubuntu-14-04-LTS.html一、关于树莓派动机如之前在某篇文章最后写的,发现了可以用ipv6做反向代理,以及树莓派可以安装Ubuntu 14.04后,原本只是感兴

2015-09-17 19:38:51 40608 6

原创 关于ROS学习的一些反思

距离发布上一篇ROS的博客已经过去两年了,才发现原来自己已经这么久可没有写过关于ROS的文章,想来很是惭愧。这两年时间,自己怀着程序员的梦想,研究过RTOS,探索过Linux,编写过Android应用,玩过web站点,但是回想起来,也并没有比ROS让我更加记忆深刻。两年时间,我也从来没有离开过ROS,使用ROS做过一些项目,也对ROS有了更加深刻的认识。这三天的假期时间,我认真拜读了国内开发者近年

2015-09-06 01:51:09 22044 24

转载 什么是堆和栈,它们在哪儿?

问题描述编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)?在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗?它们的作用范围是什么?它们的大小由什么决定?哪个更快?答案一栈是为执行线程留出

2014-11-17 10:18:13 4467 5

转载 轻松搞定面试中的二叉树题目

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都

2014-08-31 15:43:39 3664

转载 贪心算法

转载自贪心算法的设计思想         贪心算法在解决问题的策略上目光短浅,只根据当前已有的信息就做出选择,而且一旦做出了选择,不管将来有什么结果,这个选择都不会改变。换言之,贪心法并不是从整体最优考虑,它所做出的选择只是在某种意义上的局部最优。贪心算法对于大部分的优化问题都能产生最优解,但不能总获得整体最优解,通常可以获得近似最优解。引例 [找零钱]一个小孩买了价值少于1美元的糖,并将1美元的

2014-08-28 16:56:51 4038

转载 浅析PageRank算法

转载自http://blog.jobbole.com/23286/

2014-07-24 21:47:44 5713 2

原创 栈的应用——四则表达式求值

栈的应用有很多,四则运算是一个比较常见的应用。对于四则运算,括号内的要先运算,而且还要先乘除后加减,又要涉及到负数和浮点数,看上去简简单单的式子,其实暗藏杀机。        常用的方法是利用后缀表达式(逆波兰)进行计算。主要分为两步:        (1)将中缀表达式转化为后缀表达式(栈用来进出运算的符号):        从左到右遍历中缀表达式的每一个数字和符号,若是数字就输出,既成为后缀表达

2014-07-15 15:31:13 10118 1

原创 printf函数压栈解惑

最近开到一些

2014-06-12 09:54:07 4334

转载 epoll通俗讲解

首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。    不管是文件,还是套接字,还是管道,我们都可以把他们看作流。    之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要

2014-05-09 15:56:39 4271

原创 django练习——博客系统优化

一直准备使用Django搭建一个个人网站,最近终于开始动手,上周已经完成了基本博客功能的搭建(http://blog.csdn.net/hcx25909/article/details/24601331),不过代码基本是copy的,还是很想掌握具体的实现过程。于是,这几天在之前的基础上继续优化博客的功能和界面,将别人代码中比较好的部分移植到自己的博客当中。主要参考的个人博客系统是:http://h

2014-05-03 20:10:26 14801 6

原创 Django练习——博客系统小试

在上一篇博客Todolist的基础上(),

2014-04-27 21:33:26 8027 3

原创 Django练习——TodoList

TodoList是django入门一个比较基础的例程,主要参考如下博客,写的非常好:simple-todo: http://www.cnblogs.com/cacique/archive/2012/10/06/2713415.html       本文在pycharm环境下重新对上面代码进行了实现,并且作为初学者从这个实例代码出发,具体分析并且熟悉django的相关机制。实验p

2014-04-21 14:36:54 12911 2

原创 ubuntu14.04恢复系统默认中文字体

今天Ubuntu14.04已发布就进行了更新,在

2014-04-18 16:07:59 19316 10

原创 μC/OS-II与RT-Thread对比——任务调度

在任务调度器的实现上,μC/OS-II和RT-Thread都采用了位图调度(bitmap scheduling),任务优先级的值越小则代表具有越高的优先级,主要区别在于实现形式,是采用多级队列的形式,还是纯位图的形式。在位图调度下,每当需要进行调度时,从最低位向最高位查找出第一个置 1 的位的所在位置,即为当前最高优先级,然后从对应优先级就绪队列获得相应的任务控制块,整个调度器的实现复杂度是 O(

2014-04-17 19:53:11 24594 4

原创 pycharm+django之小试牛刀

准备好好学习一下python,就从django开始吧,顺带了解一下网站的开发。今天在windows上安装了python,django,以及酷炫吊的IDE——pycharm,学习资料主要是《the Django Book 2》,hello world的程序就不要详细叙述了,比较简单而且网上有很多例程,主要通过动态内容的实验对django开发具有一个大致的认识。一、新建工程        第一

2014-03-21 21:10:45 37090

原创 Unable to handle 'index' format version '2', please update rosdistro的解决办法

之前安装的ROS是Fuerte版本的,好久没有更新,不知不觉又出来了好几个新的版本,今天删除了Fuerte,计划安装Hydro版本的尝尝新,按照官网的安装流程,很快就可以把新版本安装上去了,但是在“rosdep update”这一步却总是报错:reading in sources list data from /etc/ros/rosdep/sources.list.dHit https:/

2014-03-17 16:46:53 4922 3

转载 rt-thread的位图调度算法分析

转自:http://blog.csdn.net/prife/article/details/7077120序言期待读者本文期待读者有C语言编程基础,后文中要分析代码,对其中的一些C语言中的简单语句不会介绍,但是并不要求读者有过多的C基础,比如指针和链表等不会要求太多,后面在分析代码时,会附带地介绍相关的知识,如果您已经精通了C语言的指针则可以略过相关的介绍。

2014-01-08 20:10:46 4356

原创 树莓派linux驱动学习之LED控制

前面我们编写了hello world的程序,接下来继续研究GPIO功能,通过GPIO来控制LED的亮灭,这在单片机中应该算是十分简单的一个程序了,但是在Linux系统中控制GPIO没有那么简单,难点就在于GPIO地址的获取,也是我一直在纠结的问题。一、GPIO地址        我看了中嵌的嵌入式开发视频,里面使用三星2440控制LED的亮灭,但是驱动程序中没有写清楚具体的底层是如何实现的

2013-11-21 14:54:03 23332 17

原创 树莓派linux驱动学习之hello world

最近想学习一下linux驱动,看了一些书和教学视频,大概了解了一下,不过要想深入,肯定需要实践。手上有几块linux的板子,最终选择了树莓派作为我的实验平台,资料比较丰富,接口也比较简单。        程序员的入门经典当然就是hello world程序了,我的第一个实验就是要搭建实验环境和工具链,通过交叉编译的方式,在上位机完成hello world驱动程序的编写,最终在板子上运行。一、

2013-11-21 14:26:25 24494 5

转载 Ubuntu下添加开机启动脚本

1、方法一,编辑rc.loacl脚本 Ubuntu开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本。当然要添加到语句:exit 0 前面才行。如:sudo vi /etc/rc.local然后在 exit 0 前面添加好脚本代码。 2、方法二,添加一个Ubuntu的开机启动服务。

2013-06-09 22:24:08 79276 1

原创 Ubuntu12.04下grub和内核修复

用Ubuntu有一年多了,出现的问题真不少,今天上午一开电脑,发现无法进入grub界面了,直接进入了grub rescue的命令行界面,之前同学的电脑也出现过如此的问题,所以上网找过解决办法。        问题:error:unknow filesystemgrub rescue>        解决办法:       1、首先输入“ls”命令,终端界面中会显示磁盘信息,例

2013-06-09 13:44:51 8252 1

转载 linux中fork()函数详解

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来

2013-06-04 17:04:56 1869 1

转载 在QtCreator上使用版本控制系统Git(二)

原文地址:http://blog.csdn.net/jiangcaiyang123/article/details/8120281在QtCreator上使用版本控制系统Git(二)提到版本控制,就不得不提到它的一个重要的功能:分支功能。假如我们制作项目需要一些差异化的版本(例如Windows7家庭版和Windows7旗舰版等),但是它们都是拥有相同的部分,仅仅有

2013-05-29 22:46:24 5132

转载 在QtCreator上使用版本控制系统Git(一)

原文地址:http://blog.csdn.net/jiangcaiyang123/article/details/8093196在QtCreator上使用版本控制系统Git(一)在一篇介绍Git的文章中,作者说版本控制系统是为懒人准备的,它让懒人们比那些善于备份文档的勤劳人拥有更干净的文件系统以及更多的可以活着的时间。对此我深表赞同。同时在现在快节奏的社会中,

2013-05-29 22:45:33 16797

原创 使用grub4dos制作多系统启动U盘(win7、ubuntu12.04)

平时使用ubuntu多一点,但是很多时候又难免使用win7。以前每次重装电脑都要制作U盘启动,有没有办法在一个U盘中制作多个系统的启动?今天上网找了一些方法,发现还是比较简单的,使用grub4dos既可以很快的搞定。网上一般使用的都是winpe、linux、win7等系统,我一般使用win7和ubuntu,U盘的空间也有限,所以只制作了这两个系统的启动盘。一、需要准备的软件和镜像

2013-05-27 22:50:01 44047 6

原创 ubuntu中chrome开启java插件

ubuntu中的chrome默认是没有java插件的,需要自己从网上下载。        首先从网上下载jdk或者jre:http://www.oracle.com/technetwork/java/javase/downloads/index.html            下载后解压,然后按照下图的命令进行插件的配置:         配置完成后在chrome刷新就可以显示

2013-05-26 18:28:54 8005

原创 嵌入式实时软件平台TOPPERS/ASP简介

一、TOPPERS计划       TOPPERS/ASP内核(以下,简称ASP内核)作为TOPPERS新世代内核的基石,是由TOPPERS  Project 开发的一个实时内核。ASP内核是在遵循uITRON4.0规范的实时内核TOPPERS/JSP内核的基础上扩张,改良而成的。         由于ASP内核是未来TOPPERS计划的基础,所以在结构上合实现上尽可能完善,以方便

2013-05-10 15:52:31 7501

原创 ODE调用OpenGL绘制图形的正反面

ODE自带的图形接口是对OpoenGL的封装,今天在绘图的时候发现有些图形在一侧可以看到,在另一侧就看不到了,开始还以为是自己程序的问题,后来上网查找了之后才发现是OpenGL对图形的渲染是分正反面的。        一般正反面是根据绘图的顶点顺序确定的,默认是逆时针绘图为正面,也可以通过设置确定:          glFrontFace(GL_CCW);               /

2013-04-11 22:26:50 2470

转载 ODE手册(6)关节类型和相关函数

6.1 关节的创建和销毁dJointID dJointCreateBall (dWorldID, dJointGroupID);dJointID dJointCreateHinge (dWorldID, dJointGroupID);dJointID dJointCreateSlider (dWorldID, dJointGroupID);dJointID dJoi

2013-04-04 15:27:29 7038 1

转载 ODE手册(5)刚体函数

这一部分主要是介绍一些在ODE中,跟刚体相关的函数5.1 刚体的创建和销毁dBodyID dBodyCreate (dWorldID);  在一个指定的world的原点(0,0,0)处创建一个质量参数默认的刚体,并且返回其ID(dBodyID)。void dBodyDestroy (dBodyID);  销毁一个指定的刚体,同时与其相连接的所有关节都会被遣送

2013-04-04 15:25:16 2506

转载 ODE手册(4)World

4.1 常用函数  在ODE中,world对象是一个用来容纳刚体和关节的容器,处于不用world中的对象之间不能进行交互。例如:在两个不同world中的刚体就不可能发生碰撞。在同一个world中的所有对象都处于同一个时间点上,因此使用多个独立world的一个理由就是用来模拟不同等级的系统。但是大多数的应用都只需要一个world。dWorldID dWorldCreate();

2013-04-04 15:24:19 2061

转载 ODE手册(3)数据类型和惯例

3.1 基本数据类型  ODE库可以被编译为使用单精度或双精度浮点数据类型。使用单精度时,模拟在占用较小内存空间的同时会取得较快的速度,但是会引起更多的数值型误差而且会引起可见的错误。另一方面,在使用单精度时会降低模拟的精确度和稳定性(必须说明哪些因素会影响到模拟的精确度和稳定性)。浮点型数据类型有dReal和其它一些常用的类型dVector3、dMatrix3、dQuaternion。矢

2013-04-04 15:23:41 1693

转载 ODE手册(2)基本概念

2.1 背景介绍  我会在这里陆续写一些关于刚体动力学和机器仿真的背景知识。但是在此期间,请参看Baraff's的SIGGRAPH(Special Interest Group on Computer Graphics:美国计算机协会绘图专业组)指南。  刚体:从计算机仿真的角度来看,一个刚体包含若干个属性,其中一些属性会随着时间的改变而发生改变:刚体的位置:用向量(x,y

2013-04-04 15:22:32 2264

转载 ODE手册(1)安装和使用

说明:本手册翻译自ODE官方Manual(一)安装  1.获取源代码    ODE目前只以源代码的形式发布,没有可以直接使用的预编译二进制安装包。因为可以通过很多种不用的方法,使用源码包为各种不同的特定项目进行相应的定制编译。正是基于这种考虑,曾近试图为Linux平台发行的二进制版本也就搁浅了。    直接下载稳定版 (*.tar.bz2---由SourceForg

2013-04-04 15:21:26 4167

转载 ODE手册(0)概述

简介  ODE(Open Dynamic Engine)开源动力学引擎-是一款用于模拟“铰接式刚体”(个人理解:以关节链接的刚体)动力学的工业级质量程序库,内建有碰撞检测模块,可以被任何人免费使用。已经有很多基于ODE的程序可以证明,它可以完美地用于模拟地面车辆、有腿生物和VR(Virtual Reality:虚拟现实)环境中的移动对象。跟很多其它开源程序一样,它有着它们共同的优点:快速、

2013-04-04 15:20:08 2025

ROS学习tf的初级代码

ROS学习tf的初级代码 详细教程见: http://blog.csdn.net/column/details/ros-explore.html

2013-07-05

ROS使用键盘控制机器人移动

ROS使用键盘控制机器人移动 详细教程见 http://blog.csdn.net/column/details/ros-explore.html

2013-06-01

ROS中smartcar机器人的描述文件

ROS中smartcar机器人的描述文件 具体教程见: http://blog.csdn.net/hcx25909/article/details/8951833

2013-05-31

grub4dos制作多系统启动U盘所需文件打包

使用grub4dos制作多系统启动U盘(win7、ubuntu12.04) 所需要的文件打包 具体教程见: http://blog.csdn.net/hcx25909/article/details/8982208

2013-05-28

使用grub4dos制作多系统启动U盘

使用grub4dos制作多系统启动U盘(win7、ubuntu12.04) 所需要的软件和文件打包 具体教程见:http://blog.csdn.net/hcx25909/article/details/8982208

2013-05-28

Qt_画图软件设计教程

Qt_画图软件设计教程 内容很详细,适合新手学习

2013-03-26

ROS链接openni库测试代码

ROS链接openni库获取kinect数据(PC端) 具体使用说明见:http://blog.csdn.net/hcx25909/article/details/8619126

2013-02-27

LWIP中文手册

很详细的lwip中文说明

2012-10-14

K60英文芯片资料

K60的官方芯片资料,内容比较多,都是英文的,看起来比较麻烦

2012-02-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除