自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

banzhuan133的博客

与其感慨路难行,不如马上出发

  • 博客(101)
  • 资源 (2)
  • 收藏
  • 关注

原创 利用卡尔曼滤波进行状态估计

文章目录车辆运动模型匀速模型(Constant Velocity, CV)匀加速模型(Constant Acceleration, CA)恒定速度和转速模型(Constant Turn Rate and Velocity, CTRV)恒定加速度和转速模型(Constant Turn Rate and Acceleration, CTRA)卡尔曼滤波简介参考文献车辆运动模型匀速模型(Consta...

2019-12-22 20:55:59 7544 5

原创 两种常见的点云配准方法ICP&NDT

常见的定位方法迭代最近点算法ICP(Iterative Closest Point)问题描述目标函数简化SVD求解迭代正态分布变换NDT(Normal Distribution Transform)AMCL比较参考资料迭代最近点算法ICP(Iterative Closest Point)问题描述  假设我们有两组点集,注意这里的P\mathbf{P}P和Q\mathbf{Q}Q分别相对于变换...

2019-12-12 10:38:59 5978 1

原创 移动机器人路径规划方法概览

路径规划方法综述概述主要方法基于图搜索的方法DijkstraA*状态栅格法基于采样的搜索方法Rapidly-Exploring Random Tree (RRT)概述路径规划的过程大致如下图所示,信息获取-感知-通信-决策-控制-执行。主要方法基于图搜索的方法DijkstraA*A*还有许多变种,如 dynamic A∗ (D∗ ), Field D∗ ,Theta∗ , Anyt...

2019-09-05 22:49:48 11838

原创 视觉伺服控制完整解析

视觉伺服控制(Visual servo control)简单来说,就是利用计算机视觉得到的数据来控制机器人的移动。一般来说,根据相机的位置不同又分为两种,一种是直接将相机放置在机器人或者机械臂上,另一种是将相机固定在工作空间的某个位置,前者也被称作eye-in-hand。

2019-06-03 22:08:26 22423 1

原创 2019华为软件精英挑战赛总结

经过一个半月的比赛,终于在四月的尾巴结束了华为软挑,从结果上来讲是超过预期的,一开始没想到能苟进决赛圈,不过最终开玩笑深圳三日游真的就三日游了呀,还是有点小不甘心,不过技不如人,甘拜下风。写这个博客希望能对未来参赛的同学一点借鉴。具体的代码就不放了,因为我今年在准备的时候也尝试着去看往年的题目和开源代码,老实说,除非你愿意花很长时间来准备,不然效果真的很有限。今年比赛大致有这么几个难点...

2019-05-04 16:26:56 3254 1

原创 启发式算法解TSP问题

一、前言       旅行商问题(TravelingSalesmanProblem,TSP)是一个经典的组合优化问题。经典的TSP可以描述为:一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总的行程最短。由于该问题的可行解是所有顶点的全排列,随着顶点数的增加,会产生组合爆炸,它是一个NP完全问题。早期的研究者使用精确算法求解该问...

2018-05-30 10:24:03 11506 3

原创 STM32:利用VM8978和I2S实现录音的频率分析

所用板子为STM32F407,通过配置VM8978和I2S实现录音功能,并将其保存在SRAM中,利用FFT来进行频率分析。1.VM8978        VM8978是欧胜推出的一款全功能音频处理器,集成了对麦克风的支持以及扬声器功效。VM8978的控制通过I2S(飞利浦标准)接口同MCU进行音频数据传输,通过两线(MODE=0,即 IIC 接口)或三线(MODE=1)接口进行配置 。将V

2017-11-23 11:08:21 12138 6

原创 ROS学习笔记(十一):多台计算机之间的网络通信

做多机器人实验的时候经常需要多台计算机之间进行通信,如果是只有一台主机自然是没有问题的,但如果是有多台计算机在同一个局域网下,任何查看或者订阅其他计算机的话题就很关键了。如果只是简单地可视化某些数据或者单次运行某个程序,比如rviz,那么可以简单在终端下修改地址即可(通过ifconfig查看)export ROS_MASTER_URI=http://192.168.0.200:11311...

2017-09-03 21:18:11 5887 1

原创 ESP8266 WIFI 模块使用说明

ESP8266是ai-thinker公司推出的一款无线WIFI模块,可以通过配置,和单片机上的串口进行通信,利用WIFI传输数据。1.AT指令简介同许多通信模块一样,我们需要对WIFI模块利用AT指令对系统参数进行配置。指令格式如下:AT+<COMMAND>=<VALUE>\r\n根据不同指令,模块将返回不同的值。其中\r\n是回车换行符,用16进制表示,就...

2017-02-15 11:12:31 20773

翻译 两万字自动驾驶技术综述,你想知道的这里都有

文章目录摘要引言前景与挑战参考文献最近看到一篇很不错的自动驾驶综述文章,翻译过来(有删减)和大家一起分享A Survey of Autonomous Driving: Common Practices and Emerging Technologies自主驾驶:常见实践与新兴技术综述摘要本文主要讨论ADS(Autonomous Driving System)尚未解决的问题以及相关技术层面...

2020-01-16 22:01:50 6542

原创 D*(Dynamic A*) 算法详细解析

目录记号算法描述参考最初是Anthony Stentz发表在ICRA上,《Optimal and Efficient Path Planning for Partially-Known Environments》记号1)GGG:终点2)XXX:表示当前节点,用b(X)=Yb(X)=Yb(X)=Y表示YYY是XXX的下一个节点,称为后向指针(backpointer),通过后向指针,很容易获得...

2019-09-04 10:52:33 21459 3

原创 构造函数和析构函数的调用顺序

目录构造函数和析构函数构造函数复制构造函数析构函数构造函数与析构函数的调用顺序单继承多继承构造函数和析构函数构造函数构造函数是特殊的成员函数,与类同名,没有返回类型,而且允许重载。如果没有为类显式定义任何构造函数,编译器将自动为类生成默认构造函数(不带任何参数)。复制构造函数复制构造函数、赋值操作符合析构函数总称为复制控制。复制构造函数只有单个形参,而且该形参是对本类类型的引用(通常用c...

2019-09-03 15:47:29 3029

原创 sizeof空间计算

c++ sizeof空间计算常见数据类型的sizeof结果引用,汉字和数组引用汉字数组struct的空间计算含struct的struct空间计算含有数组的struct空间计算含位域的struct空间计算使用"#pragma pack"时struct的空间计算union和枚举的空间计算union枚举enum常见数据类型的sizeof结果//x86sizeof(char): 1sizeof(s...

2019-08-05 16:22:30 357

原创 先锋机器人上手——rosaria安装测试及一些问题

先锋机器人上手——rosaria安装测试及一些问题安装安装MobileSim安装Aria安装rosaria安装rosaria_client一些可能的问题/usr/bin/ld: cannot find -lAria测试安装根据官方wiki(http://wiki.ros.org/ROSARIA),相关软件主要包括几个部分,仿真平台MobileSim,底盘驱动rosaria,相关库文件Aria。...

2019-07-10 21:18:28 1435 4

原创 ROS: Warning "No map received"

最近新换了个机器人,重新跑slam建图的时候鼓捣了半天发现scan有数据map却始终接收不到数据,在rviz下打开topic显示“Warning "No map received",研究了下,发现还不少人碰见了这个问题,把我自己的认识记录以下,希望能帮到大家。 首先,map的数据哪里来的呢?很显然是从从激光雷达scan经过tf变换来的,所以,map没有数据可能有两...

2019-05-27 16:16:50 19834 15

原创 ROS:move_base参数解析

最近在做一个项目被迫要涉及到navigation的源码,作为一个调包侠的我真是头大,本着甲方就是爸爸的原则硬着头皮来啃源码。第一步就是move_base了,一般需要这三个包navigation,navigation_msgs,rbx1,直接上github搜就行,如果要利用arbotix仿真的话,安装指令sudo apt-get install ros-kinetic-arbotix*...

2019-05-16 15:24:56 5902 2

原创 ROS编译时(catkin_make)找不到XXX,Could NOT find XXX (missing: XXX_LIBRARY XXX_DIR)

有时候从github上下载一些新的包编译时经常会缺少一些插件或库文件,比如Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY BULLET_SOFTBODY_LIBRARY BULLET_INCLUDE_DIR)或者Could NOT f...

2019-04-03 16:24:51 7431 1

原创 python 字典和嵌套字典排序

正常字典的排序我们都知道,像这样 a={100:1,101:0,102:2} b=sorted(a.items(),key=lambda x:x[1])就会输出如下结果[(101, 0), (100, 1), (102, 2)]那如果是嵌套字典呢,比如a={100:{'x':1,'y':2},101:{'x':2,'y':0},102:{'x':0,'y':...

2019-03-16 09:22:46 6021 1

原创 latex function/procedure调用的大小写问题

latex默认的function和procedure格式是这样的其中第1行的名称EUCLID是全大写而且非对齐的,如果直接调用,就会出现第10行11行的形式,与定义格式不一致。这里需要用到调用函数关键字Call,具体代码及实现效果如下\begin{algorithm}\caption{Euclid’s algorithm}\label{euclid}\begin{algorith...

2019-02-25 11:39:58 12840 3

原创 opencv中SIFT,KeyPoint和DMatch结构体

1.SIFT.create()static Ptr< SIFT > create (int nfeatures=0, int nOctaveLayers=3, double contrastThreshold=0.04, double edgeThreshold=10, double sigma=1.6)nfeatures:特征点数目(算法对检测出的特征点排名,返回最好的n...

2019-02-18 22:51:26 1061

原创 VREP学习笔记(五):例程脚本学习

就算看了Lua参考手册,直接上手开始在V-REP上进行编程完成仿真实验还是有些吃力,更关键的是V-REP的资料是真的少,这时候官方给的例程就至关重要了。1.bubbleRob打开脚本可以看到分为标准的初始化部分,执行部分和结束部分。首先是初始化部分 bubbleRobBase=sim.getObjectAssociatedWithScript(sim.handle_self) ...

2019-01-10 22:41:36 6006 13

原创 V-REP学习笔记(四):认识Lua

1. 简介V-REP的语言是Lua,Lua是一门扩展式程序设计语言,没有“main”函数的概念,只能嵌入一个宿主程序中工作。2. 基本概念Lua是一种动态类型语言,这意味着它的变量没有类型,只有值才有类型。Lua一共有八种类型:nil、boolean、number、string、function、userdata、 thread 和 table。nil是一个空指针,nil和fa...

2019-01-08 17:02:44 2310 1

原创 V-REP学习笔记(三):视觉传感器

视觉传感器和相机功能上差不多,但还是有一些不同,官方的解释是这样的概括一下,视觉传感器有API函数,相机没有,需要自己写;视觉传感器更占CPU;视觉传感器观测的对象必须把renderable属性勾上。视觉传感器根据视角分为两类,正交(orthogonal)和透视(perspective),这个图可以很好理解二者的差异视觉传感器的一些基本属性配置主属性中其他顾名思义即可,...

2019-01-05 15:53:45 30897 4

原创 V-REP学习笔记(二):认识自带工具箱和脚本

一、利用计算模块V-REP提供七个封装好的计算模块我们以距离计算为例来说明如何利用相应的模块首先创建两个目标实体因为我们要计算距离,所以在目标的属性中勾选可测量为了展示距离的动态变化,我们让关节动起来,角速度为5deg/s在计算模块中选择要计算距离的两个目标为了使结果可视化,添加一个graph,并将数据输入选为距离点击开始仿真,就可以看见距离...

2018-12-19 20:30:11 3341 5

原创 V-REP学习笔记(一):认识V-REP

一、用户界面             V-REP中将一个工程称为一个场景(scene),每个场景默认打开的时候只有一页(page),事实上可以通过选择来切换多个页面视图,这样做的好处是什么呢?比如你需要同时看到一个场景的主视图和俯视图,切换来切换去很不方便,同时利用多个视图可以很方便地做到。视图共有以下几种模式通过工具栏选项可以切换页面和场景。我们将每一页划分为多个视角(vie...

2018-12-18 10:14:35 15529

原创 crayflie 2.0 安装问题汇总

近期有不少朋友给我私信咨询crazyflie2.0安装的一些问题,我将几个比较常见的贴出来供大家参考,欢迎交流源代码git clone https://github.com/whoenig/crazyflie_ros.git注意:crazyflie_cpp 和crazyflie_tools后面带着校验哈希值,直接git只有空文件夹,许多同学出现编译报错CMake ErrorCoul...

2018-12-07 22:27:03 824 2

原创 MATLAB中矩阵的占位符[~,x]

~作为一个占位符表示该参数不需要输出例如>>a=[1,3,5;6,2,4];则如果直接输入>>min(a)会输出每一列的最小值ans =     1     2     4如果想知道最小值的位置呢>>[b,c]=min(a)则输出b =     1     2     4c =     1     2   ...

2018-11-22 22:18:47 7310

原创 DJI_OSDK开发(三):控制指令解析

ROS下的控制指令依旧通过发布话题和订阅话题来完成M100通过发布sensor_msgs::Joy来完成控制命令,例如ctrlBrakePub = nh.advertise<sensor_msgs::Joy>("dji_sdk/flight_control_setpoint_generic", 10);具体如下sensor_msgs::Joy controlVelY...

2018-10-23 20:10:14 3065 4

原创 ubuntu下局域网内多机时间同步

更新:胖友们,我发现了一个治标不治本的办法,不过效果好像还不错大多数时候,由于板载电脑断电最经常出现的就是make会报错,比如WARNING: CLOCK SKEW DETECTED. YOUR BUILD MAY BE INCOMPLETEmake报错的逻辑是当前编译的文件最后修改时间必须在当前时刻之前,因为断电之后基本会跑到出厂默认设置的时间,所以导致make失败,最简单的办法...

2018-10-15 23:00:54 3309 4

原创 修改screen会话名称

screen会话默认是用进程号.终端号.主机名来命名的,如果同时打开多个会话的话,真是一头包。最好是在启动screen的时候用screen -S my_screen_name来直接指定名字。顺便记下几个常用指令,年纪大了,一会儿不用就忘了screen -ls 显示进程列表screen -r sid 恢复某个进程screen -X -S sid quit 终止某个进程screen...

2018-10-11 11:22:11 6654

原创 Gazebo简介及利用ROS控制gazebo模型

1.gazebo简介加载特定的world,如gazebo world/pr2.world 系统默认的world路径为/usr/share/gazebo-version/worldsgazebo指令会运行两种不同的可执行文件,一个是gzserver,另一个是gzclient。前者运行物理更新循环和生成传感器数据,后者生成一个可视化模拟界面。gazebo 使用许多环境变量来定位文...

2018-09-18 11:02:53 20144 1

原创 在Ubuntu下安装Visual Studio Code

在ubuntu下经常写代码,试了不少IDE,Visual Studio Code用起来还是比较舒服的,装的时候发现网上不少教程有一点小问题。先安装一般umake没有问题 sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubu...

2018-09-09 19:56:52 12425 14

原创 traincascade报错:“Train dataset for temp stage can not be filled. Branch training terminated ..."

正样本描述文件包括正样本文件名(包括绝对路径或相对路径),正样本数目以及各正样本在图片中的位置和大小,类似于/home/nvidia/Desktop/PythonPic/pos/32.jpg 1 0 0 40 40/home/nvidia/Desktop/PythonPic/pos/14.jpg 1 0 0 40 40/home/nvidia/Desktop/PythonPic/pos/5...

2018-08-30 21:06:40 1848 3

原创 ZED入门:利用RTAB-MAP做SLAM

环境JETPACK 3.2Cuda 9.0Cudnn 7.2.1ROS kineticOpencv 3.3.1 RTAB-MAP是一种基于RGB-D的SLAM方法ROS上rtabmapp_ros的安装参见https://github.com/introlab/rtabmap_ros启动zed// A) With rtabmap odometry:$ expo...

2018-08-21 17:02:01 5401 8

原创 NVIDIA TX2 从刷机到ZED

环境JETPACK 3.2Cuda 9.0Cudnn 7.2.1ROS kineticOpencv 3.3.11.Jetson TX2刷机及安装JetPack 3.2https://blog.csdn.net/QLULIBIN/article/details/78629305注意在刷机前将系统语言设置为英文。这里我有一次刷机碰到一个问题JetPack is una...

2018-08-16 19:53:10 1142

原创 DJI_OSDK开发(二):DJI OSDK开发包详解

大疆官方提供的软件包的主要有3个部分 1. 核心的API部分dji-sdk-lib,用于串口通信,建立各种任务的线程,读取信息的线程。 2. 用于封装核心API为ROS接口的dji_sdk 3. 简单的demo,给出了dji_sdk的使用方法。由于涉及到的内容比较多,先看一下官方提供的关系图1.dji_sdk_node.cpp该节点为dji_sdk包的核心,成员变量包括无人机...

2018-08-06 21:46:58 12657 1

原创 DJI_OSDK开发(一):开箱组装,上位机开机自启动及运行demo

      最近在学习DJI_OSDK开发,用的是Ubuntu14.04,上位机采用TX2,飞行器为M100。      首先是M100开箱及组装的几个注意事项1)如果没有购买GUIDANCE和妙算的话,上下两个扩展架其实没必要装,另外如果不是图方便的话,买妙算不如换一个处理能力更强的上位机,比如TX2。2)四个机臂一定要上牢,中心支架拆了再装上去注意很容易装反。3)GPS是有方向...

2018-08-06 17:14:05 2572

原创 Python模拟登录

Version: 3.5IDE: Pycharm浏览器:Chrome方法一:使用已知的cookie访问服务器用cookie来区分不同的客户端,我们可以利用已知的cookie伪装成客户端来跟服务器进行对话。以登录豆瓣为例,我们首先利用已有的账号登录,F12打开开发者工具--network,找到cookie并保存之后我们便可以写代码了# -*- coding: utf-8 -*-import sys...

2018-05-05 21:49:41 987

原创 CMT2119/2119A 示例代码及说明

CMT2119A是一款常用的全频段单发无线发射芯片,我们使用外部MCU来控制CMT2119A。1.配置连接图我们利用MCU的IO来分别控制CMT2119A的DATA和CLK管脚。2.2线接口(TWI)    2线接口(Two-Write Interface)包括时间接口CLK和双向数据接口DATA。一个完整的W/R过程有16个时钟周期。前8个周期,DATA是输入口;后8个周期,如果是写过程。DAT...

2018-04-26 10:44:09 7070

原创 matplotlib入门及实践

一直对matplotlib都是碰到哪个函数百度哪个,次数多了就有点烦,干脆列个知识清单系统地学习一下。1.快速绘图# -*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 10, 1000)#在(0,10)均匀返回1000个点y = np.sin(x)z = np...

2018-04-16 15:42:01 474

AN135 CMT2119-2219ASampleCodeIntro-CN

本文的目的是对用外部 MCU 控制 CMT2119A 及 CMT2219A 的方法及示例代码进行简要说明。包括配件连接图及多种接口代码。

2018-04-26

从STM32F401411系列移植到STM32L4系列微控制器

本应用笔记帮助分析将现有设计从 STM32F401/411 系列产品移植到 STM32L4 系列产品所需的步骤。它汇集了最重要的信息,并且列出了需要处理的关键方面。本文档列出了 STM32F401/411 系列和 STM32L4 系列产品可用的 “ 全套 ” 功能 (根据其产品型号,一些产品可能具有较少的功能)。为了将应用移植到 STM32L4 系列产品,需要考虑三个方面:硬件移植,外设移植和固件移植。

2018-03-28

空空如也

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

TA关注的人

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