- 博客(27)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 OpenCV,Qt,ROS学习笔记
这几年接触了不少东西,才知道原来在大学的时候欠下了好多债,以前在学校的时候还总觉得课程多,学不过来,后来发现很多东西连门都还没入,真的需要大量的积累啊。想起之前在实验室时,一个博士师兄说,不仅要多看,还要学习整理和总结,觉得非常正确。作为开山第一篇,先把过去接触的东西整理一遍。OpenCVOpenCV是开源的计算机视觉库,跨平台且便于移植,由C++构成,于1999年由Intel建立,...
2018-02-22 14:41:06
1408
3
原创 树莓派IIC通讯获取BMI08x IMU数据进行姿态解算,并通过UART/TCP在rviz上显示
截至2021年,树莓派出的最新款应该Raspberry Pi 400,设计得跟键盘一样,很难想象到这是个树莓派,尤其是它的标语写的很好“你的下一个电脑,何必是电脑”,不言而喻。我看到后就很想买,对于很多硬件通讯方面的测试以及开发一些小玩意还是很有帮助的,如下图所示。(图片来源自Buy a Raspberry Pi 400 Personal Computer Kit – Raspberry Pi)最近刚好玩了一个小项目,通过树莓派IIC采集BoschBMI08x IMU数据并进行姿态解算,..
2021-11-14 18:39:59
6379
11
原创 Virtual Box+Ubuntu20.04+ROS2 Foxy配置
ROS从最早的正式版本Box Turtle到现在也十几年了。而ROS2出来也挺久了,一直没机会看看。好久也没弄ROS,这几天捣鼓了捣鼓。目录1. Virtual Box安装Ubuntu20.042. ROS2 Foxyd安装1. Virtual Box安装Ubuntu20.04Virtual Box是Oracle公司收购的一款免费且开源的虚拟机软件,而且提供了《Programming Guide and Reference》可供开发人员进行二次开发,主要是提供一些脚本可调用Virtu
2021-07-18 21:19:16
566
4
原创 python OpenCV的环境搭建及其简单使用
python语言越来越火,感觉再不使用就要out了。以前用C++做过一些关于OpenCV的小项目,这次用python试试。一、python-OpenCV环境搭建现在再来搭建python和OpenCV的环境实在太方便了,各种封装很完备,各种资料也很容易查找到。一般来说有两种方式,pycharm加本地安装的python环境用pip下载安装,在命令行窗口仅需输入pip install opencv-python即可。 anaconda,打开Anaconda Powershell Prom..
2021-04-18 13:34:44
1105
2
原创 一个做ROS安装包的想法
一般情况下,ROS运行在Linux Ubuntu系统上,最好是采用server版本,一是Linux系统免费开源,二是实时性还不错。此外,Linux还需要运行在一个性能不错的工业级PC板上。其实做机器人,最最重要的就是控制器,也就是这个工业级PC板和运行在上面的Linux系统。我们知道,大部分的ROS包可以从网站上获取到,其实下载后是一个deb文件,它里面指定了需要安装的目录,并用sudo dpkg -i *.deb进行安装。对于用ROS开发的产品,我们选好系统和ROS版本后,比如在Ubuntu Fo
2021-03-21 17:40:46
218
2
原创 写代码的规范性和严谨
似乎日本人,德国人做事严谨是一个名片,全球知晓,觉得他们做出来的东西就好品质好。就写代码而言,倒不是说写的逻辑有多么复杂,设计模式用得有多么好写代码就一定犀利,尤其是设计模式是经过大量实践和验证后得出来的理论方法。现在的软件很容易就越做越大,而且经常不是两三个人就能做好,所以代码一定要统一风格才方便他人backup,maintenance以及iteration。举几个例子,感觉他们真的是处女座,仅限C++编程。Please use spaces instead of tabs. If pos
2021-02-20 17:30:03
1102
2
原创 Anaconda环境下搭建tensorflow
该博客亦是对博客《PyCharm下配置PyQt,TensorFlow等环境》的一个扩展。目录1. conda和Anaconda的安装2. tensorflow的安装1. conda和Anaconda的安装和pip一样,conda也是一个开源的包管理系统和环境管理系统 ,包括多种语言的包安装,运行,更新,删除,最重要的是可以解决包依赖问题。conda支持语言包括 Python,R,Ruby,Lua,Scala,Java,JavaScript,C / C ++,FORTRAN。不过co.
2021-02-19 20:19:08
4342
3
原创 ROS与机器人
快一年没用ROS了,不过尽管如此,如果有人在博客上问之前关于ROS的技术问题,我还是会很仔细得回答。结合这些问题,加上从事的机器人与自动化行业的经历和经验,进行一个简单的整理和总结。1. 机器人机器人的研究在各大实验室和研究所里面一直都是一个很火的话题,所涉及到的细分领域也非常多。它前沿、高端、有挑战性,而且经常是多学科的结合,更容易碰撞出创新的火花。后来公司开始不断投入去研究我觉得跟两个因素有关,一是2015年两会提出了“中国制造2025”的概念,以提高制造业的智能性,而机器人又是制造业的重要力量
2021-01-23 18:20:39
4787
13
原创 两种方法在Qt中使用OpenGL库加载stl三维模型
OpenGL(Open Graphics Library)是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序接口。OpenGL的实现利用了图形加速硬件,这些实现一般由显示设备厂商提供。但真正使用时,一般采用基于gl的第三方库,用于在程序的运行期判断当前硬件是否支持相关的扩展,防止程序崩溃甚至造成硬件损坏。目前我了解到的第三方库就有glad、glew、glfw、freeglut等,下图反映了它们之间的关系。此外在安装Qt后,Qt本身也会对gl库进行一定的封装,即qopengl.h和QOpenG
2020-12-30 12:01:24
9473
20
原创 PyCharm下配置PyQt,TensorFlow等环境
该博客亦是对博客《在ROS中利用PyQt写GUI程序》的一个扩展。目录一、软件安装二、环境配置三、安装其他库四、PyQt在PyCharm中的搭建一、软件安装Pycharm是python比较好的IDE。PyCharm的下载为https://www.jetbrains.com/pycharm/download,可选择community版本,免费使用,安装过程...
2019-09-21 16:39:46
561
原创 C+11编译调用PCL库时出现segmentation fault(core dumped)错误
最近在ros框架下调用PCL库,进行一些点云操作,编译没问题。但程序一执行便报错,提示如下:segmentation fault(core dumped)后来便单独写个小程序只调用PCL库,结果没有问题。经过仔细对比,发现在ros程序的CMakeLists.txt中,我加入了C+11编译的选项,删掉后则没问题。原来在C+11下编译PCL还有这问题,于是在网上查了。如果要用C+11编译...
2018-12-23 16:53:12
4101
2
原创 用qmake搭建框架之加载静态、共享库
目录一、建立大型工程1.1 建立静态库1.2 建立共享库二、调用生成的库文件三、运行时加载共享库关于插件关于打包 关于qmake的语法可以参考:http://doc.qt.io/qt-5/qmake-manual.html。这里是qt5的,qt4和qt5的写法还略有区别。一般来说,我们使用qt creator建立的工程都是以.pro结尾,实际上这里涉及到的就...
2018-12-23 16:26:38
2886
原创 如何用cmake搭建ros工程,make编译而不是catkin_make
用ros的都知道一般是用catkin_create_pkg命令创建一个新的包,然后修改CMakeLists.txt文件,最后用catkin_make进行编译。之前的文章《三种方法在ROS中加载Qt库进行GUI设计》也说过如何搭建环境并进行ros开发,而实际上catkin_make也是对cmake的一定封装,因此用cmake加make去开发ros程序更方便简洁。我们知道qt工程实际用的qma...
2018-10-31 20:39:36
6313
4
原创 ros中rqt_reconfigure源码解读及其C++实现
ROS中参数如需实时更新得采用dynamic_reconfigure机制,这样用户在客户端修改参数后不需要重启master,直接向服务端发送请求,然后服务端通过回调函数确认来完成参数的动态重配置,具体服务端、客户端的写法可参见dynamic_reconfigure/Tutorials和《ROS动态调参(dynamic reconfigure)客户端服务端之C++ Python实现》。此外,ROS还...
2018-09-08 18:18:24
4159
原创 ROS中slam_gmapping、map_server源码解读及其librviz的使用
SLAM全称simultaneous localization and mapping,即实时定位与地图构建。也就是说导航离不开地图,目前常用的地图构建方法有三种:1、gmapping,一种基于粒子滤波的算法,依赖里程计数据。ROS中的slam_gmapping包也是调用了openslam_gmapping开源算法。openslam_gmapping的介绍及其源码可在http://wiki....
2018-08-11 19:41:16
7564
53
原创 ROS工程中C++调用python函数
在ROS api程序中,大部分函数的实现是用的python,python语言简单易学,特别做一些测试和调试非常简单。因此,在C++中调用python函数会极大地减少工作量。在C++中调用python函数C++调用python函数,python中用有Python.h头文件起到了很大作用。相关的函数介绍可在 Extending Python with C or C++ 中找到。(这个是针对python...
2018-06-09 20:15:34
3918
8
原创 通过OpenNI2获取数据并转至OpenCV格式及点云生成
OpenNI简介OpenNI(Open Natural Interaction)中文译为开放自然语言交互,用官方的表述来讲就是a standard framework for 3D sensing,用于3D感知的开发接口。OpenNI2是第二代版本(官网 http://structure.io/openni),相对于第一代更加专注于对3D设备的支持和数据的获取,移除了手势识别等中间件的方式,使...
2018-04-28 16:25:38
3530
原创 在ROS中利用PyQt写GUI程序
前段时间买了本王硕、孙洋洋写的《PyQt5快速开发与实战》,大致浏览了下,内容新,熟悉Qt5的人还是挺容易上手的。书中使用的环境为windows,PyQt5.9,Python3.5,Eric 6,Qt 5.9。笔者在自己的电脑上用的win7,Python3.6,PyQt5和PyCharm搭载了该环境,并写了一些测试小程序。PyQt可以在Riverbank上下到。Riverbank这个公司还提供了很...
2018-04-01 15:25:03
7355
6
原创 ros opencv qt yaml综合运用之滤波
本文是针对前面三篇所写内容:1、三种方法在ROS中加载Qt库进行GUI设计2、运用ROS和OpenCV进行简单的图像处理之检测3、在ROS中处理yaml文件进行的一个结合,来综合运用ros,opencv,qt和yaml-cpp库。 首先用catkin_create_pkg命令新建一个ROS工程,然后CMakeLists.txt文件中,依次包含opencv,qt和yaml-c...
2018-03-17 18:23:25
1461
原创 ROS动态调参(dynamic reconfigure)客户端服务端之C++ Python实现
在ROS系统中,我们需要实时修改参数,并能马上看到运行效果。这一功能是通过ros dynamic_reconfigure包实现的。官网教程如下:dynamic_reconfigure/Tutorials。具体操作流程可简述为如下:首先写一个.cfg文件,python语法。然后在CMakeLists.txt文件中添加generate_dynamic_reconfigure_options用于编译...
2018-03-12 20:21:06
7838
15
原创 在ROS中处理yaml文件
ROS中的参数服务器(Parameter Server)的相关操作可参见roscpp_tutorials/Tutorials/Parameters。如果想要载入参数,可以通过编写yaml文件,然后在launch文件中加入<rosparam file="$(find readyaml)/rosYaml.yaml" command="load"/>可以写个模板类来加载参数:...
2018-03-10 16:15:10
22197
原创 运用ROS和OpenCV进行简单的图像处理之检测
本文主要讲述在ROS下使用opencv进行图像处理,并给出了一个详细示例。首先建立一个ros包,在CMakeLists.txt中加入以下代码段,用于找到并链接OpenCV。好像安装完整版的ROS会顺带把OpenCV 2.4.x也装了,没有的话直接去OpenCV官网或者github下载源码编译安装。系统中存在多个opencv版本的情况,可参考《ubuntu 安装使用多版本opencv》博客。find...
2018-02-24 15:14:42
3991
原创 三种方法在ROS中加载Qt库进行GUI设计
编写ros程序,因为有时会涉及到界面设计,所以本人主要用的QtCreator IDE。首先当然是安装QtCreator,这个网上有很多安装教程和下载资源,非常简单。由于Qt的工程大多采用qmake对.pro文件进行编译,而在ros工程中运用的是catkin_make(实际也是对cmake的一个封装,语法都一样),因此很有必要了解下如何用cmake去写Qt工程,这里给个链接(Qt_Cmake_Man...
2018-02-23 17:18:04
16009
24
原创 GIT学习笔记
Git是一款免费、开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。学习git可以参见《Git版本控制管理》一书,O'REILLY出版社。仓库1、创建仓库 $ git init repo_name2、克隆仓库 $ git clone from [to]将from的仓库克隆到to。from可以是本地仓库或远程仓库,如果没有to参数,创建跟from仓库同名的仓库目录。3、查看...
2018-02-22 16:03:22
202
原创 欢迎使用CSDN-markdown编辑器
本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q插入链接 Ctrl +
2017-06-08 22:30:53
146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人