C/C++
Amos_Lee1987
精简阿萨德
展开
-
联合体(union)的使用方法及其本质
1.联合体union的基本特性——和struct的同与不同union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。不过区别也挺明显:结构体(struct)中所有变量是“共存”的——优点是“有容乃大”,全面;缺点是struct内存空间的分配是粗放的,不管用不用,全分配转载 2017-07-24 16:07:14 · 903 阅读 · 2 评论 -
ROS C++ tf库具有哪些功能?
C++中给我们提供了很多TF的数据类型,如下表:名称 数据类型 向量 tf::Vector3 点 tf::Point 四元数 tf::Quaternion 3*3矩阵(旋转矩阵) tf::Matrix3x3 位姿 tf::pose 变换 tf::Transform 带时间戳的以上类型 tf::Stamped 带时间...转载 2018-11-24 15:16:36 · 1239 阅读 · 0 评论 -
ROS tf转换中三维空间刚体运动----欧拉角
什么是欧拉角? 用一句话说,欧拉角就是物体绕坐标系三个坐标轴(x,y,z轴)的旋转角度。 1,静态:即绕世界坐标系三个轴的旋转,由于物体旋转过程中坐标轴保持静止,所以称为静态。 2,动态:即绕物体坐标系三个轴的旋转,由于物体旋转过程中坐标轴随着物体做相同的转动,所以称为动态。对于分别绕三个坐标轴旋转的情况,下述定理成立:物体的任何一种旋转都可分解为分...转载 2018-11-24 17:53:02 · 1235 阅读 · 0 评论 -
ROS中为什么用四元数描述运动控制
旋转矩阵用9个量来描述3自由度的旋转,具有冗余性;欧拉角虽然用3个量来描述3自由度的旋转,但是具有万向锁的问题,因此我们选择用四元数,(ROS当中描述转向的都是采用的四元数)。一个四元数拥有一个实部和三个虚部组成。 q=w+xi=yj+zk...转载 2018-11-24 18:09:56 · 2153 阅读 · 2 评论 -
[每日一学]C++ 多线程
多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。基于进程的多任务处理是程序的并发执行。 基于线程的多任务处理是同一程序的片段的并发执行。那么线程和进程异同?显而易见,相同点是都能实现多任务并发执行。区别: 进程是资源分配的最小单位,线程是程序执行的最小单位。 进程有自己的独立地...转载 2018-12-04 14:05:31 · 245 阅读 · 0 评论 -
五分钟读懂UML类图
五分钟读懂UML类图平时阅读一些远源码分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧:一、类的属性的表示方式在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modif...转载 2019-04-28 17:30:00 · 171 阅读 · 0 评论 -
eband_local_planner源码安装流程
1.下载源码维基官网:http://wiki.ros.org/eband_local_plannergit地址:https://github.com/utexas-bwi/eband_local_planner2.编译源码catkin_make -DCATKIN_WHITELIST_PACKAGES="eband_local_planner"2.1 安装依赖包使用以...原创 2019-04-24 09:42:03 · 898 阅读 · 0 评论 -
eband_local_planner源码架构分析
一、文件结构(代码组成)由5部分组成,第一部分负责数据类型的转换;第二部分负责具体的局部规划的具体实现,是核心代码;第三部分是move_base局部规划器和本局部规划器具体实现的中间转换接口;第四部分是将局部规划转成速度(cmd_vel或twist_cmd)控制指令;第五部分是RVIZ可视化设置,方便调试;程序流程:eband_local_planner_ros ----->eb...原创 2019-04-30 18:26:27 · 1386 阅读 · 1 评论