自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 多个opencv版本切换

set(OpenCV_DIR "/home/gy/code/opencv-2.4.13.6/build")find_package(OpenCV REQUIRED)

2018-10-19 15:16:12 1192 1

原创 opencv学习10-08图像叠加, 改变亮度和对比度, 在mat上画图像

 1 addWeighted(Mat src1, double alpha, Mat src2, double beta, double gamma, Mat dst)dst=α⋅src1+β⋅src2+γ注意src1与src2大小要一致.2 利用LUT函数实现Gamma correction, 调节对比度和亮度,gamma方法是一种非线性的调节方法: O=pow( (I ...

2018-10-09 09:43:47 304

原创 opencv学习10-07图像遍历

1 cv::Mat_ 与cv::Mat: "cv::Mat"是一种矩阵, 包括多通道和单通道. 可以转换为容器(container), 并使用容器的相关操作. 需要用到"cv::Mat_"。简单的说就是,现在你的数据是Mat类型的矩阵,需要以容器的形式使用它,就需要用到“cv::Mat_”容器。问题:cv::Mat不是一个连续存储的容器吗??2 迭代器方法 MatIterator_<...

2018-10-07 18:18:11 244

原创 ros realsense d435 驱动

roscore 运行在机器人上,ros版本jadePC端export ROS_MASTER_URI=http://robot_ip:11311roslaunch realsense2_camera rs_rgbd.launchrealsense 启动后驱动nodelet 挂了.检查后发现是机器人端不知道PC的IP所致,在机器人端: vim /etc/hosts添加:pc_i...

2018-10-01 17:06:10 956 1

原创 opencv学习09-30

Output image allocation for OpenCV functions is automatic (unless specified otherwise). opencv函数的输出图像是自动独立分配内存。 You do not need to think about memory management with OpenCVs C++ interface. The assi...

2018-09-30 21:31:27 131

原创 ubuntu 将屏幕分为两个窗口

ubuntu下将一个屏幕分为两个窗口,可以一边是浏览器一边是IDEctrl+win+←/→

2018-09-07 14:59:02 3007

原创 ros multi topics sub

#include "ros/ros.h"#include "std_msgs/String.h"//#include #include class multiThreadListener{public:    multiThreadListener()    {            sub = n.subscribe("chatter1", 1, &multi

2017-09-12 14:24:15 415

转载 栈与堆

数据结构的栈和堆首先在数据结构上要知道堆栈,尽管我们这么称呼它,但实际上堆栈是两种数据结构:堆和栈。堆和栈都是一种数据项按序排列的数据结构。栈就像装数据的桶或箱子,我们先从大家比较熟悉的栈说起吧,它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。这就如同我们要取出放在箱子里面底下的东西(放入的比较早的物体),我们首先要移开压在它上面的物体(放入的比较晚

2017-07-05 18:22:38 253

转载 Bresenham's 光线追踪算法,点到直线距离算法,点与多边形相交检测

/**   * @brief  A 2D implementation of Bresenham's raytracing algorithm... applies an action at each step   */  template    inline void bresenham2D(ActionType at, unsigned int abs_da, unsigned

2017-07-05 17:23:08 1245

原创 ros camera

1\roslaunch usb_cam usb_cam-test.launch ROS_NAMESPACE=usb_cam rosrun image_proc image_procrosrun image_view image_view image:=usb_cam/image_rectolor

2017-06-23 15:11:47 575

转载 ros参数服务器

The ROS Parameter Server can store strings, integers, floats, booleans, lists, dictionaries, iso8601 dates, and base64-encoded data. Dictionaries must have string keys. roscpp's parameter AP

2017-06-20 14:26:56 561

转载 action用法

http://www.ncnynl.com/archives/201702/1315.html

2017-06-18 10:08:42 1488

转载 teb local planner讲解

https://www.leiphone.com/news/201612/0TCtaBOIcFOIBN69.html

2017-05-26 19:43:23 5665

转载 actionlib

http://wiki.ros.org/actionlib_tutorials/Tutorials/SimpleActionClient%28Threaded%29http://wiki.ros.org/actionlib_tutorials/Tutorials/SimpleActionServer%28GoalCallbackMethod%29http://wiki.ros.org/

2017-04-28 21:04:53 427

原创 nodelet的一些理解

看来一下ros下的nodelet,有一些自己的理解,不知对不对,主要参考:http://wiki.ros.org/nodelet/Tutorials/Running%20a%20nodelethttp://blog.csdn.net/zyh821351004/article/details/52143309http://blog.csdn.net/x_r_su/article/de

2017-04-28 11:27:26 1911 1

原创 ros下的plugin学习

昨天看了ros下的plugin教程,今天整理一下,教程网址如下:http://wiki.ros.org/pluginlib/Tutorials/Writing%20and%20Using%20a%20Simple%20Plugin所谓插件plugin个人理解就是把一个写好的类按照ros下标准格式封装一下,然后就可以直接按照ros下的标准格式进行调用。这样方便移植和分享给其他人用,相当于一个动态

2017-04-28 09:32:28 1204

原创 ros_control

按照官网调试时候遇到了各种bug,主要是却依赖,安装gazebo_ros_pkgs+toolbox+realtime_tool等几个包之后就好了,在github下载时,记得选择正确的版本!!We add a  block similar to the following for every joint that we wish to have Gazebo actuate.

2017-04-26 21:30:55 743

原创 gazebo中的坐标系

1、gazebo中link和joint中都有origin的元素。弄了半天好像是明白了。link定义了各个部件的几何模型,joint定义了各几何模型直接的坐标位置。joint中的origin就是这种连接关系建立的坐标系的原点和朝向。比如,就是在世界坐标系的(1,0,1)这个点建立了一个子坐标系。而link中首先会定义一个几何体,这个几何体一般是规则的长方体,圆柱体,球体。gazebo中定

2017-04-26 16:19:38 9278 2

原创 ROS_Kinetic +gazebo7 +turtle

1 如果安装的是ros-kinetic-full-desktop那么应该自带gazebo7.如果不是则需要手动安装,链接如下:http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install2 安装ros与gazebo的接口:建议源码编译。http://gazebosim.org/tutorials?tut=ros_installi

2017-04-08 18:29:45 3125 1

原创 Terminate called after throwing an instance of 'ros::serialization::StreamOverrunException'

今天在用分布式跑在线导航程序时跳出这个error,查询到一下网址http://answers.ros.org/question/229478/terminate-called-after-throwing-an-instance-of-rosserializationstreamoverrunexception/原因为,订阅激光话题(scan)给的缓冲字节不够多,我只给了 50;另外就是激

2017-03-21 17:39:15 5467

原创 ros下分布式的调试和节点

背景是有两台电脑,一个名为A,另一个为B。两台均安装了ubuntu14.04及ROS indigo。目标是通过远程的方式在A上启动B上的节点,并在A上显示B上的运行结果。A是台式机,B是机器人,通过台式机远程控制机器人,并在台式机的rviz上显示出机器人上面的实时运行结果。首先,按照白巧克力亦唯心的两篇博客进行调试:http://blog.csdn.net/heyijia0327/ar

2017-03-01 15:34:35 2316

转载 ubuntu 14.04下安装cmake 3.2.2(自带版本2.8.2)

Either use a PPA or compile it yourself:Installation by a PPA (Upgrade to 3.2)sudo apt-get install software-properties-commonsudo add-apt-repository ppa:george-edison55/cmake-3.xsudo apt-get

2017-02-17 10:39:52 3399

转载 汉诺塔问题

问题描述一说到递归可能就会想到最经典的汉诺塔问题.先把汉诺塔问题简短的描述下.假如有start ,tmp , end三个柱子.1.初始条件.最开始是tmp和end为空,而start上面有按从大到小往上摆的盘子(塔状).2.最终目标.实现把所有盘子放到end柱子上,顺序跟之前的start柱子一样.从大到小往上的塔状形.3.限制条件.我们在搬动的时候可以把tmp

2017-02-09 16:34:06 364

原创 c++的引用&

#includeusing namespace std;void fun1(int x, int y)//x,y是实参{x = x + y;x = x - y;cout }void fun2(int &x, int& y)///x,y是形参{x = x*x;y = y*y;cout }int main(){int a, b;a =

2016-12-26 22:25:52 245

原创 编译cartographer报错

编译谷歌cartographer时候以上错误;解决方法,打开cartographer_rviz下的drawable_submap.h和submaps_display.h分别在程序首尾添加#ifndef Q_MOC_RUN和#endif。add to the top:#ifndef Q_MOC_RUNadd to the bottom:#endif然后重新编译: catkin

2016-12-22 16:56:21 1952 1

转载 ubuntu下编译安装opencv2.4.13和3.1.0

环境: ubuntu14.04 需求:在同一台电脑上,有的工程需要使用OpenCV2.4.X,有的工程需要使用OpenCV3.x. 解决办法: 1,下载OpenCV2.4.9,make install 路径为”~/Downloads/opencv2.4.9”---------------------------------------------------------------

2016-12-19 15:37:45 605

原创 ubuntu14.04安装opencv 3.10

在ubuntu14.04安装opencv3.1.0在进行到cmake步骤时报错:CMake Error at 3rdparty/iICV: Failed to download ICV package: ippicv_linux_20151201.tgz.   Status=1;"Unsupported protocol"不明原因下载不了这个库,在csdn上下载了一个包,网址这里:http

2016-12-16 15:54:02 666

转载 Ubuntu14.04安装CMake3.4.1

由于Ubuntu14.04的cmake版本为2.8.x,而如果需要cmake3.x版本时,无法生成makefile,有两种方法可以安装cmake3.4.1:sudo apt-get install build-essentialwget http://www.cmake.org/files/v3.4/cmake-3.4.1.tar.gztar xf cmake-3.4.1.tar.gzc

2016-12-16 15:11:57 481

原创 闹心的CMakeList!!

被CMakeList里各种乱七八糟的路径搞的神犯,建立了一个最简单的项目梳理一下。环境:Ubuntu 14.04 x64 1、建文件夹!!如下图:        bin 用来放编译好的可执行二进制文件。  aaaa 用来放源代码,好像都用src,我就是为了试试这玩意到底是啥。  lib 用来放编译好的库文件。  include 用来放头文件。2、往根目录下的CM

2016-12-10 15:25:45 4208

转载 C++:vector中的resize()函数 VS reserve()函数

C++:vector中的resize()函数 VS reserve()函数http://www.cplusplus.com/reference/vector/vector/vector/写代码的时候无意错用了这两个函数 导致测试的时候,程序运行崩溃 发现这两个函数还是有区别的void reserve (size_type n);reserver函数用来给vector预分配存储区

2016-12-02 09:54:13 314

转载 string中c_str()、data()、copy(p,n)函数的用法

from:http://www.cnblogs.com/qlwy/archive/2012/03/25/2416937.htmlstring中c_str()、data()、copy(p,n)函数的用法标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。1. c_str():生成一个const cha

2016-12-02 09:50:09 289

转载 四元数初学

转自https://www.zhihu.com/question/23005815根据我的理解,大多数人用汉密尔顿四元数就只是做三维空间的旋转变换(我反正没见过其他用法)。那么你不用学群论,甚至不用复习线性代数,看我下面的几张图就可以了。首先,定义一个你需要做的旋转。旋转轴为向量,旋转角度为(右手法则的旋转)。如下图所示:此图中,那么与此相对应的四元数(下三行式子都

2016-12-01 10:47:18 672

转载 终端控制——如何在不输入回车读入字符

摘要:一般情况下,我们在终端输入一些字符,输入的同时可以编辑(增加,删除,修改),然后输入回车,这些字符被送到缓冲区。但是,在more程序和其他的程序中,比如游戏中的快捷键,我们需要的是不用输入回车就可以读取字符。此时,我们就需要了解如何控制终端,使得在不输入回车的情况下就可以读入字符。 首先,我们看一下这个程序的实现:  #include #include #incl

2016-11-30 16:50:50 1122

原创 ros下gazebo的安装,模型加载和仿真

1、安装环境ubuntu14.04 x64 ROS indigo2、gazebo的安装:先在ubuntu上安装gazebo,此时和ros没有建立联系,然后在安装gazebo_ros_pkgs这样就可以利用ros的指令启动和加载模型了。流程如下:2.1在ubuntu下安装gazebo默认的安装方式:curl -ssL http://get.gazebosim.org | sh(这是利用脚

2016-11-30 14:52:32 18430 10

原创 二叉树初学

完全二叉树:只有最下面的两层结点度能够小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。如果一棵具有n个结点的深度为k的二叉树,它的每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应,这棵二叉树称为完全二叉树。满二叉树:除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树

2016-11-24 19:40:52 421

原创 ubuntu 16.04 x64 ROS kinetic 安装ORB—SLAM

1、g2o (included)     We use g2o to perform several optimizations. We include a modified copy of the library including only the components we need and also some changes that are listed inThirdparty/g

2016-11-04 10:51:19 3427 1

转载 ubuntu 开机报系统错误解决办法

1、打开一个终端,执行下面的命令:sudo rm /var/crash/*这个操作会删除所有在/var/crash目录下的所有内容。这样你就不会再被这些报告以前程序错误的弹窗所扰。但是如果又有一个程序崩溃了,你就会再次看到“检测到系统程序错误”的错误。你可以再次删除这些报告文件,或者你可以禁用Apport来彻底地摆脱这个错误弹窗。2、彻底地摆脱Ubuntu中的系统错误弹窗要禁止Appo

2016-11-01 19:01:18 3441

原创 tf树的一些理解

1.建立和维护一棵tf树。主要是通过不停地向tf树发送各个坐标系之间的转换关系,也就是位置关系,来维护一个tf树。主要用到的指令就是: static tf::TransformBroadcaster br; tf::Transform transform; transform.setOrigin( tf::Vector3(msg->x, msg->y, 0.0) ); tf::

2016-10-31 10:29:06 4152

转载 模板类+自己的理解

C++中 模板Template的使用 (2011-08-23 10:18:57)http://blog.sina.com.cn/s/blog_74a271040100tkmj.html1、在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?答:cl

2016-10-26 22:28:11 442

转载 const用法+自己的理解

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用   如下表所示:No.作用说明参考代码

2016-10-26 19:34:17 268

空空如也

空空如也

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

TA关注的人

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