自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

原创 c++编译链接过程

编译链接过程预编译(预编译器处理如 #include、#define 等预编译指令,生成 .i 或 .ii 文件)编译(编译器进行词法分析、语法分析、语义分析、中间代码生成、目标代码生成、优化,生成 .s 文件)汇编(汇编器把汇编码翻译成机器码,生成 .o 文件)链接(连接器进行地址和空间分配、符号决议、重定位,生成 .out 文件...

2020-08-25 10:29:22 248

原创 STL常用algorithms

// 简单查找算法,要求输入迭代器(input iterator)find(beg, end, val); // 返回一个迭代器,指向输入序列中第一个等于 val 的元素,未找到返回 endfind_if(beg, end, unaryPred); // 返回一个迭代器,指向第一个满足 unaryPred 的元素,未找到返回 endfind_if_not(beg, end, unaryPred); // 返回一个迭代器,指向第一个令 unaryPred 为 false 的元素,未找到返回 endco

2020-08-24 23:04:34 143

原创 Bug算法(Bug Algorithms)简介(Bug1 & Bug2 & Tangent Bug)

本文所有图片均来自以下这本书:Principles of Robot Motion: Theory, Algorithms, and Implementations[M]. MIT Press, 2005.在上一篇博客我也给出了下载链接。本篇博客主要介绍一下BUG算法:BUG算法(Bug Algorithms)是一种最简单的避障算法。其算法原理类似昆虫爬行的运动决策策略。在未遇到障碍物时,沿直线向目标运动;在遇到障碍物后,沿着障碍物边界绕行,并利用一定的判断准则离开障碍物继续直行。这种应激式的算

2020-08-18 18:12:39 8482 4

原创 Principles of Robot Motion Theory, Algorithms, and Implementations下载

机器人运动理论的原理,算法和实现,非常经典的一本书,做规划的小伙伴们的必备!csdn也有本书的相关资源,但无一例外的都需要积分下载,互联网的分享精神真是被这帮人都玩坏了!原本想上传,无奈不能上传已存在的内容,所以这里给出下载地址,需要的自取!原仓库也有其他一些很不错的书,大家可以一并下载!下载地址...

2020-08-18 16:15:24 2581 11

翻译 手把手教会用C++实现A*算法

书接上回,上一篇博客我们介绍了A算法最基本的原理,本篇博客我们来手把手的教会大家A算法的C++实现!原文链接在此,大佬分别用Python、C++、C#进行了算法的实现orz正文如下:本文是我对A *的介绍的辅助指南,在此我将解释算法的工作原理。在此页面上,我将展示如何实现广度优先搜索,Dijkstra的算法,贪婪的最佳优先搜索和A *。 我尝试使代码保持简单。图搜索有一系列相关算法。算法有很多变体,实现上也有很多变体。将本文展示的代码视为一个起点,而不是适用于所有情况的最终版本。c++实现注

2020-08-18 16:06:23 9001 2

翻译 可能是最好的A*算法简介,没有之一!

关于A∗A^*A∗算法,中文资源有点少,能够通俗解释A∗A^*A∗算法的也很少,之前比较不错的是这里的英文博客,斯坦福大佬十几年前写的博客,也有一些中文翻译。然后我去大佬博客主页翻了翻,看到了最近的一篇关于A∗A^*A∗的文章,详情请看这里的原文连接。本人粗略搜了一下没发现有对应的中文翻译。因此在这里翻译一份,也可以算作是一个重新的学习吧!由于本人水平有限,难免有纰漏,欢迎随时交流指出,转载请注明出处。写在前面本文翻译自 Red Blob Games,强烈建议看一看大佬的原博客,有很多互动的可视化演示,

2020-08-17 15:08:50 1520 2

原创 ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

本篇博客将使用gazebo对我们的机器人进行仿真。首先确保已经写在前面首先介绍一个功能包:ros_controlgazebo物理仿真步骤配置机器人模型为每个link添加惯性参数以及碰撞参数为每个link添加gazebo标签为能动的joint添加传动和动力装置添加控制器插件创建仿真环境模型下载开始仿真启动键盘控制 roslaunch mbot_teleop mbot_teleop.launch控制键位说明:i:前进,:后退j:

2020-08-13 22:30:18 2586 1

原创 快速排序的c++实现

经典的快排#include <iostream>#include <vector>using namespace std;void quickSort(int left, int right, vector<int>& arr){ if (left>=right)//边界情况 { return; } if (left<0||right>=arr.size()) { cout << "error!" &lt

2020-08-13 10:53:52 119

原创 ROS机器人建模与仿真(二)--机器人URDF模型优化

让我们填一下上篇博客留下的坑:如何优化URDF模型。这就要提到我们之前介绍的xacro格式了!urdf模型的进化版本——xacro模型文件精简模型代码创建宏定义文件包含提供可编程接口常量变量数学计算条件语句常量常量定义:<xacro:property name="M_PI" value="3.14159" />常量使用:<origin xyz="0 0 0" rpy="${M_PI/2} 0 0" />样例数学计算<ori

2020-08-12 16:00:21 855

原创 ROS机器人建模与仿真(一)--URDF机器人建模

前言经过ROS的保姆级教程之后,相信大家对ROS应该有一个基本的认识了!关于各种工具的使用其实等到真正有所需求之后再去查找即可,roswiki始终是最好的最一手的信息来源。本系列的博客主要用来记录如何让在ROS的环境下进行机器人的建模与仿真,学完之后,就可以称得上是入了ROS的坑了~什么是urdf在如今的开发中我们通常使用xacro来进行建模,之后在进行gazebo仿真时将其转换成相应的urdf格式即可,另一种方式是使用专门的三维建模软件诸如solidworks、catia、ug来建模,然后导出urd

2020-08-10 17:36:32 4699 4

原创 ROS保姆级教程(四)--Action通讯方式实现

本篇博客介绍ROS中的最后一种通讯方式–Action经过前三篇博客的学习,相信大家对一些基本的操作已经非常熟悉了,因此本文不再很多细节上做讲解,只提一个大概的框架,保姆到现在相信也已经长大了哈哈哈哈哈。首先要明确的是什么是Action:Actionlib是ROS中一个很重要的库,类似service通信机制,actionlib也是一种请求响应机制的通信方式,actionlib主要弥补了service通信的一个不足,就是当机器人执行一个长时间的任务时,假如利用service通信方式,那么publisher

2020-08-07 18:50:15 1905 1

原创 ROS保姆级教程(三)--参数服务器通讯方式实现

通过前面两篇博客的介绍,相信大家对ROS的通讯机制已经有了一个基本的认识,本篇博客我们将学习ROS中的另一种通讯机制–参数服务器。其实在ROS Master中就存在一个参数服务器Parameter Server,它是一个全局字典,用来保存各个节点的配置参数,每个节点都是可以访问的,并且会返回需要得到的值。现在我们来介绍参数服务器的使用方法,首先依然是创建我们的功能包,经过前面两篇博客的介绍,相信大家对这些基本的操作已经很熟悉了:cd ~/catkin_ws/srccatkin_create_pkg

2020-08-07 13:43:57 740 1

原创 ROS保姆级教程(二)--Service通讯方式实现

上一篇博客我们主要学习了Topic的通讯方式,本篇博客介绍ROS中另一种非常重要的通讯方式:service(服务)。客户端Client的编程实现首先我们来实现下面的服务模型,主要的功能就是实现在我们的小海龟仿真客户端下添加一只新的小海龟。serve端是小海龟仿真器,client端则是本节中我们需要实现的功能。client主要用来发布一个生成小海龟的请求给serve端,serve端在完成请求后会反馈一个response给client端。它们之间的通讯桥梁就是我们的Service,在这个例子中就是spawn

2020-08-06 19:34:37 5785 3

原创 ROS保姆级教程(一)--Topic通讯方式实现

关于ROS的学习我之前在这篇博客已经有所总结,ROS WiKi里的自然是最好的第一手教程,跟着wiki上的教程走一遍,基本就能学会ROS 的一些基本使用了,所以说学好英语很重要。这个系列的博客主要用来介绍ROS中的两种通讯方式:topic和service,分为上下两篇。先以经典的小海龟为例,然后再自己动手写一个相关的实现,主要参考古月居大佬的视频教程。topicpublisher的编程实现上图就是一个完整的topic流程,我们今天就是要实现这个小海龟的话题通讯功能。首先在终端新建catkin_ws

2020-08-06 15:33:29 6136 7

转载 入门必看丨解析百度Apollo之决策规划模块

转自Apollo开发者社区Apollo系统中的Planning模块实际上是整合了决策和规划两个功能,该模块是自动驾驶系统中最核心的模块之一(另外三个核心模块是:定位、感知和控制)。本章主要讲解自动驾驶系统中最核心的模块——决策规划模块。下面是由社区开发者—强波提供的文章,对百度Apollo之决策规划模块进行详细讲解(Apollo 3.5之前版本),希望这篇文章能给感兴趣的开发者带来更多帮助。01 Apollo系统与Planning下图是Apollo系统的整体架构图。从这幅图中我们可以看出,整个系统可

2020-08-03 22:56:51 11638 1

ROS理论与实践_4.机器人仿真_代码.rar

博客ROS机器人建模与仿真(二)--机器人URDF模型优化以及ROS机器人建模与仿真(三)--Gazebo仿真环境搭建所需要的代码文件

2020-08-12

Gonzalez-2016-A-review-of-motion-planning-techniq.pdf

2016年一篇有关自动驾驶运动规划的文章:A Review of Motion Planning Techniques for Automated Vehicles。

2020-07-20

空空如也

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

TA关注的人

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