自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 CH_写在开始

写在开始机器虎的世界欢迎来到机器虎的世界!一位本科在机器人运动控制方向摸爬滚打三年的Robot小白,研究生阶段研究方向计算机视觉+机械臂抓取,希望在这个不平凡的一年,以这篇博客为起点,记录未来的学习和科研生活。本科阶段参加过RoboCup标准平台组竞赛,目前对机器人运动控制算法、计算机视觉、ROS以及深度学习相关内容有相关实践经验或初步涉猎,希望能够与相同兴趣的大神朋友们多多交流。联系方式:QQ:1902134736感谢相遇,继续前行...

2020-07-14 19:40:33 532 4

原创 雅克比矩阵在机器人运动学中的应用

例如7轴机械臂,具有冗余的一个关节空间(7x1)q_6,所以在末端执行空间的变换矩阵(6x1)(3x3旋转+3x1平移)进行映射的时候q_6无论处在什么位置,都不会影响末端执行空间的位置和速度,称为。以六轴机械臂为例,设机械臂关节空间为q,位置矩阵为p,速度矩阵为v。同样,末端执行空间速度F同样可以使用雅克比矩阵映射到关节空间力矩。,即一个末端的位置可以由多个关节空间的速度映射得到,即。联立机械臂速度矩阵、关节空间和位置矩阵的关系如下。将中间矩阵定义为雅克比矩阵J,则。

2023-08-10 09:20:46 1406

原创 因时机器人-灵巧手配置方案(Ubuntu18.04)

因时机器人-灵巧手配置方案(Ubuntu18.04)

2022-10-24 14:50:28 1680 3

原创 因时机器人-夹爪配置方案(Ubuntu18.04)

因时机器人-夹爪配置方案--ROS Melodic

2022-10-24 14:48:12 818 2

原创 Sawyer协作机械臂环境配置与执行(Ubuntu18.04)

Sawyer机械臂环境配置与执行(Ubuntu18.04)

2022-10-24 14:41:35 1290 1

原创 【C++】LeetCode 844--字符串双指针及字符串作为形参时是否引用的区别

LeetCode 844--字符串双指针及字符串作为形参时是否引用的区别

2022-06-06 22:36:09 158

原创 【Debug记录】Libtorch部署YOLO时cmake报错--symbol lookup error: ./test/test: undefined symbol: _ZN2at6detail1

环境信息Ubuntu 18.04 LTSLibTorch 1.8.1gcc/g++ 7.5.0cmake 3.20.0问题描述在部署Libtorch进行Yolo系列的C++推理接口实现时,好不容易完成了Libtorch各种令人恼火的版本对应问题完成cmake之后,在运行可执行文件时,报如下奇奇怪怪的错误:symbol lookup error: ./test/test: undefined symbol: _ZN2at6detail10noopDeleteEPvDebug过程

2022-05-22 00:37:40 995

原创 【Debug记录】ORBSLAM2报错:OpenCV Error: Unknown error code -49 (Input file is empty) in cvOpenFileStorage

【ORBSLAM2报错】OpenCV Error: Unknown error code -49 (Input file is empty) in cvOpenFileStorage最近在对ORB2算法移植过程中,运行时莫名其妙出现这个报错经过版本回溯对比发现,不知道什么时候在参数文件yaml中多出了这么几个符号。。。不符合opencv的读取规则,所以在加载相机数据的时候直接导致程序中断正确的应该是类似的还有下面这个情况会导致这个问题的出现:即如果配置文件中的冒号与参数数值之间没有空格,

2022-05-09 17:39:43 1234

原创 【ORBSLAM2源码笔记(4)】ORB-SLAM2线程内各方法阈值设置--LocalMapping线程

ORB-SLAM2线程内各方法阈值设置–LocalMapping线程ORB-SLAM2线程内各方法阈值设置--LocalMapping线程ORB-SLAM2线程内各方法阈值设置--LocalMapping线程Run(): 执行局部BA优化的时机MapPointCulling(): 新增地图点检测与剔除限制CreateNewMapPoints():生成新的地图点的情况SearchInNeighbors():检查并融合当前关键帧与相邻帧(两级相邻)重复的地图点Run(): 执行局部BA优化的时机当前地图

2022-05-05 15:14:05 460

原创 【ORBSLAM2源码笔记(3)】Tracking线程跟踪定位流程及Track()源码解析

【ORBSLAM2源码笔记(3)】Tracking线程跟踪定位流程及Track()源码解析有道云笔记思维导图整理链接:Track()源码流程解析: https://note.youdao.com/s/O9lzEplmTrack()源码注释及解析:在这里一部分引用了计算机视觉life的教程内容,加上自己对代码部分的理解void Tracking::Track(){ // mState为tracking的状态,包括 SYSTME_NOT_READY, NO_IMAGE_YET, NO

2022-03-22 20:29:18 3511

原创 Linux下gcc编译C/C++文件过程分解

Linux下gcc编译C/C++文件过程以下面简单的main.c文件为例#include <stdio.h>int main(){ printf("Hello World main!\n"); return 0;}在Linux下执行C/C++的编译过程要严格遵循gcc的编译规律,gcc的相关命令提示可以从命令行中获得相关提示一般来说,我们利用gcc编译一个简单的C/C++文件只需要在文件路径下执行以下命令,即可在路径下生成一个名为a.out的可执行文件,执行该文件

2022-02-18 12:26:18 1683

原创 【SLAM环境配置】基于Ubuntu18.04的ORB-SLAM2环境配置全套方案记录

基于Ubuntu18.04的ORB-SLAM2环境配置全套方案记录基于Ubuntu18.04的ORB-SLAM2环境配置全套方案记录基于Ubuntu18.04的ORB-SLAM2环境配置全套方案记录1.安装基础编译工具2.配置Eigen3代码库3.配置Pangolin4.配置Sophus5.配置OpenCV6.配置PCL7.创建ROS空间8.配置ORBSLAM2源码8.配置usb_cam ROS功能包9.ORBSLAM2运行方法10.总结

2021-12-14 13:34:52 7016 8

原创 【系统】拯救者R7000p安装ubuntu18.04后亮度无法调节问题

拯救者R7000p安装ubuntu18.04后亮度无法调节问题环境:机器:联想拯救者R7000p固态:Kingston A2000 1T内核:Linux 5.4.0-91-generic针对拯救者R7000p无法通过键盘和状态栏小太阳调节屏幕亮度的问题,实际上究其原因是ubuntu系统内核与机器硬件不匹配的问题,之前尝试过通过更新ubuntu系统内核来解决这个问题,但是随意更改系统内核版本容易出现其他更严重的系统bug,因此可以通过使用相关的插件来解决拯救者系列机器安装ubuntu系统后无法

2021-12-13 10:16:44 4458 4

原创 【1024】小兰可视化小课本

小兰可视化小课本1 三大常用Python数据可视化包1.1 MatplotlibMatplotlib 是比较低级的库,但它所支持的自定义程度令人难以置信(所以不要简单地将其排除在演示所用的包之外!),但还有其它更适合做展示的工具。官方文档其他学习资料:Website:datacampCourse: Intermediate Python for Data ScienceChapter: Matplotlib1.2 SeabornSeaborn是在matplotlib

2021-10-24 22:17:40 2877 2

原创 [ORBSLAM2源码笔记(2)]ORBextractor.cc文件解析-2

[ORBSLAM2源码笔记(2)]ORBextractor.cc文件解析-24 计算特征点方向computeOrientation()5 计算特征点描述子computeOrbDescriptor()6 提取特征点的主函数void operator()()7 ORBextractor类与其他类之间的调用关系7.1 Frame类构造函数->提取特征点7.2 Tracking类构造函数由于内容较多,下面的内容继续[ORBSLAM2源码笔记(2)]ORBextractor.cc文件解析-1中的内容进行记录。

2021-08-18 22:37:54 491

原创 [ORBSLAM2源码笔记(2)]ORBextractor.cc文件解析-1

[ORBSLAM2源码笔记(2)]ORBextractor.cc文件解析-1根据图像数据流的的输入顺序,每帧图像数据首先输入到ORBextractor.cc文件中进行处理,下面将以数据的流向为线索展开对ORBextractor.cc代码的学习和记录。1 构造函数ORBextractor()FAST特征点和ORB描述子本身不具有尺度信息,但是ORBextractor通过构建图像金字塔来得到特征点的尺度信息,图片输入后,首先逐级缩放构建图像金字塔,金字塔中的层级越高,图片分辨率越低,ORB特征点相对越大。

2021-08-18 22:33:54 656

原创 [ORBSLAM2源码笔记(1)] Introduction-源码入门内容(ORBSLAM2变量命名规则、多线程机制、锁机制、System类)

[ORBSLAM2源码笔记1]Introduction1.ORBSLAM2变量命名规则2.多线程机制3.多线程中的锁机制4.ORBSLAM2主类System经过了高博老师《视觉SLAM14讲》的学习,从本次博客开始,准备正式开始学习ORBSLAM2源码,并在博客中进行源码笔记和记录。源码学习过程也借鉴了不少大佬的博客、视频以及学习资源,在此不一一列举,respect!首先和看一篇论文一样,Introduction是了解论文的入口,同样地,作为一套成熟规范的C++源码,在正式开始阅读ORBSLAM2

2021-08-17 20:50:13 569

原创 [ROS开发]Ubuntu18.04下Azure Kinect DK深度相机 SDK以及ROS驱动配置

Ubuntu18.04下Azure Kinect DK深度相机 SDK以及ROS驱动配置安装前准备:–需要提前安装好ROS Melodic版本,可参考安装教程–需要提前完成Azure Kinect SDK的安装,可参考lucky li的博客文章–测试SDK中的k4aviewer能够正常启动并显示相机图像数据后开始以下配置工作1.创建ROS工作空间#建立并进入工作空间文件夹mkdir -p catkin_ws/src#初始化工作空间cd catkin_ws/srccatkin_init

2021-08-04 21:34:25 2970 5

原创 [视觉SLAM十四讲(2)踩坑记录]第5讲:导入模板类Sophus库fatal error:sophus/se3.hpp:没有那个文件或目录

[视觉SLAM十四讲(2)踩坑记录]第5讲:导入模板类Sophus库fatal error:sophus/se3.hpp:没有那个文件或目录问题描述:在学习SlamBook2-ch5中对sophus李代数运算包内容时,从github上按照正常流程下载sophus源码并编译,编写好相关代码后make报错:fatal error:sophus/se3.hpp:没有那个文件或目录解决方法:按照正常流程进入sophus库进行编译后,增加install流程进行安装后,再次在ch5的项目中进行make

2021-04-17 22:37:29 2788 5

原创 [视觉Slam十四讲(2)踩坑记录]第3讲:Fatal error :Eigen/core没有那个文件或目录

[视觉Slam十四讲踩坑]SlamBook2踩坑记录:Fatal error :Eigen/core没有那个文件或目录问题描述:在学习SlamBook2-ch3中对Eigen矩阵运算包内容时,编写好相关代码后make报错:[ 50%] Building CXX object CMakeFiles/eigenMatrix.dir/eigenMatrix.cpp.o/home/chen/桌面/SLAMBook/ch3/useEigen/useEigen/src/eigenMatrix.cpp:6:1

2021-04-06 15:24:40 2145 3

原创 解析C++库文件(.a/.so)的生成方法以及与源文件(.cpp)、头文件(.h)的关系

解析C++库文件(.a/.so)的生成方法以及与源文件(.cpp)、头文件(.h)的关系在一个C++工程中,并非所有的代码都会被编译为可执行文件。只有带有main函数的文件才会生成可执行文件。而对于其他代码,我们只想将其大包围一个东西,供其他程序调用,这个东西就叫做库。生成库文件的过程如下。1.库文件生成方法首先,我们自己编写一个简单的代码libHello.cpp//这是一个库文件#include <iostream>using namespace std;void prin

2021-03-04 21:53:39 3695 4

原创 Linux下C++文件的g++和cmake编译方式使用介绍

Linux下C++文件的g++\cmake编译方式介绍虽然现在在编写C++工程时有各类IDE可供选择,但通过这篇文章,希望能够更深入地理解各类IDE在编译C++代码时的底层原理。首先新建一个简单的源文件Hello.cpp进行后续测试#incldue<iostream>using namespace std;int main(int argc, char **argv){ cout << "Hello" <<endl; return 0;}1.g+

2021-03-04 21:50:01 1685 1

原创 深度图像转换为点云数据计算原理及代码实现

深度图像转换为点云数据计算原理及代码实现1.开发环境2. 深度图转点云计算原理3.代码实现3.1 头文件Depth_TO_PointCloud.h3.2Depth_TO_PointCloud.cpp1.开发环境-Visual Studio2017-PCL1.9.0关于VS2017下配置PCL相关环境的方法可以参考文章:链接: VS2017配置PCL1.9(win10环境)2. 深度图转点云计算原理深度图转为点云说白了其实就是坐标系的变换:图像坐标系转换为世界坐标系。变换的约束条件就是相机内

2021-01-28 11:12:39 23790 13

原创 基于OpenCV和KinectSDK实现Azure Kinect DK实时获取RGB、深度图像及红外图像、交互式数据采集将图片数据保存本地

基于OpenCV和KinectSDK实现Azure Kinect DK实时获取RGB、深度图像及红外图像、交互式数据采集将图片数据保存本地 基于OpenCV和KinectSDK实现Azure Kinect DK实时获取RGB、深度图像及红外图像、交互式数据采集将图片数据保存本地1.采集效果图2.深度图计算原理3.代码主要函数及其功能3.1配置并启动Kinect设备3.2声明数据结构3.3创建txt文件流3.4 循环获取每一帧的图像3.5数据格式转换3.6通过捕获键盘进行交互式数据采集4.完整代码4.1头文

2021-01-28 10:44:01 5309 18

原创 VS2017逐步配置OpenCV教程

VS2017逐步配置OpenCV教程VS2017逐步配置OpenCV教程VS2017逐步配置OpenCV教程一、配置环境二、下载OpenCV安装包1.OpenCV官网下载2.百度网盘下载OpenCV安装包二、解压并安装OpenCV1.选择路径2.配置系统环境变量3.文件转移与系统配置三、VS2017内部配置四、测试众所周知,OpenCV框架最初出现在C++中,虽然现在python已经封装了大部分opencv的功能包,博主也在python中尝到了配置OpenCV和平时使用的甜头,但是部分应用场景下基于p

2020-12-21 22:41:50 2674 3

原创 浅谈数据归一化在机器学习中的作用

浅谈数据归一化在机器学习中的作用数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间(或所需区间)上。一、归一化的类别:1.线性归一化:线性归一化将原始数据线性化的方法转换到[0 1]的范围,该方法实现对原始数据的等比例缩放。2.极差变换法:通过利用变量取值的最大

2020-10-24 22:22:26 1815

原创 python3.7+Anaconda3+CUDA10.0+cuDNN7.5.0 安装TensorFlow-GPU1.13.1详细步骤

python3.7+Anaconda3+CUDA10.0+cuDNN7.5.0 安装TensorFlow-GPU1.13.1,pycharm配置详细步骤配置前期准备:1.安装python3.72.安装Anaconda3并配置环境变量以上两个步骤较为简单,且不会影响下文安装,本文跳过。安装TensorFlow-GPU进入Anaconda Prompt终端在Anaconda中创建TensorFlow-GPU环境(Anaconda支持用户启动不同的独立环境进行独立项目开发以应对不同开发环境需求

2020-10-17 15:54:39 1403 1

原创 Ubuntu18.04切换python版本+修改python版本优先级

Ubuntu18.04切换python版本python版本切换首先列举出系统可用python版本:update-alternatives --list python2. 查看当前所有可用python版本的优先级:sudo update-alternatives --config python可以看到当前选择的是0号python2作为当前python版本,输入3后即可将系统python版本修改为python3。3. 查看当前python版本:python -Vpython版本优

2020-08-20 18:19:01 4196 2

原创 【Debug记录】Ros-- catkin_make报错:‘file‘ object has no attribute ‘push‘/safe_execute_process.cmake:11

Ros Melodic catkin_make报错解决办法报错信息:Traceback (most recent call last):File “/usr/bin/empy”, line 3302, in if name == ‘main’: main()File “/usr/bin/empy”, line 3300, in maininvoke(sys.argv[1:])File “/usr/bin/empy”, line 3291, in invokeinterpreter.shut

2020-08-20 18:01:51 1971

原创 Ubuntu18.04+Ros Melodic安装Moveit框架+Moveit搭建机械臂模型(一)(持续更新)

Ubuntu18.04+Ros Melodic安装Moveit框架一、Moveit框架介绍二、安装准备工作三、正式安装更新功能包版本下载依赖文件创建工作区和软件源下载源代码安装编译器缓存(可选环节)编译Moveit!一、Moveit框架介绍Moveit是一个由一系列移动操作的功能包组成的集成化开发平台,提供友好的GUI,是目前ROS社区中使用度排名前三的功能包,Moveit包含以下三大核心功能,并集成了大量的优秀算法接口:1.运动学:KDL,Trac-IK,IKFast...2.路径规划:OMPL

2020-08-14 13:01:27 11635 18

原创 Win10+Anaconda3+python3.7 安装指定版本的TensorFlow环境

Win10+Anaconda3+python3.7 安装指定版本的TensorFlow环境最近因为项目需求,需要正在TensorFlow框架下进行深度学习开发,经过几次探索找到一类安装TensorFlow最便捷的方法。目录Win10+Anaconda3+python3.7 安装指定版本的TensorFlow环境环境需求:安装步骤:1. 创建或进入已有的conda环境,使用管理员权限打开Anaconda prompt,运行以下命令查看现有环境:2. 安装指定版本的TensorFlow3. 确定Tensor

2020-08-12 13:08:01 2016

原创 Ros机械臂仿真建模基础:URDF模型进化版本xacro模型文件语法详细讲解及如何从零构建一个机械臂模型(二)

Ros机械臂仿真建模基础:URDF模型进化版本xacro模型文件语法详细讲解及如何从零构建一个机械臂模型(二)这里写目录标题Ros机械臂仿真建模基础:URDF模型进化版本xacro模型文件语法详细讲解及如何从零构建一个机械臂模型(二)建立工作空间创建功能包正式开始机械臂建模文件结构准备机械臂模型文件Arm_Model.xacro启动模型文件Display_Model.launch文件使用launch文件启动rviz运行仿真文件建立工作空间打开Terminal,依次运行以下命令创建工作空间:mkdir

2020-08-01 10:19:27 2749 9

原创 Ros机械臂仿真建模基础:URDF模型进化版本xacro模型文件语法详细讲解及如何从零构建一个机械臂模型(一)

Ros机械臂建模基础:URDF模型进化版本xacro模型文件语法基础及如何从零构建一个机械臂模型(一)这里写目录标题Ros机械臂建模基础:URDF模型进化版本xacro模型文件语法基础及如何从零构建一个机械臂模型(一)机器人组成结构图URDF基本介绍xacro在UDRF上的改进机械臂xacro建模基本组成部分robot定义link定义joint定义机械臂所需颜色定义基本参数定义机械臂xacro建模常用语法xacro常量定义及使用:数学公式计算宏定义及宏调用文件包含更多示例机器人组成结构图执行机构:

2020-07-31 19:03:22 2467 2

原创 【Debug记录】ROS报错:运行rqt相关组件显示“已放弃 (核心已转储)”的解决办法

【ROS报错】运行rqt相关组件显示“已放弃 (核心已转储)”的解决办法、错误日志:运行rqt_plot时显示以下报错:Traceback (most recent call last): File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_plot/data_plot/mat_data_plot.py", line 110, in resizeEvent self.figure.tight_layout() File "/us

2020-07-30 11:04:22 3379

原创 浅谈Ros中使用launch启动文件的方法(三):更多launch文件示例(详细讲解)--Ros入门21讲-第19讲笔记(持续更新)

浅谈Ros中使用launch启动文件的方法(三):更多launch文件示例首先附上古月居老师的教程地址:古月居古月居老师《Ros入门21讲》的全部代码在个人主页中免费分享给大家共同学习1.turtlesim_parameter_config.launch(对应《Ros入门21讲》第16讲有关内容<launch> <param name="/turtle_number" value="2"/> <node pkg="turtlesim" type="tu

2020-07-29 18:12:13 1067 5

原创 浅谈Ros中使用launch启动文件的方法(二):launch文件的执行方法--Ros入门21讲-第19讲笔记(持续更新)

浅谈Ros中使用launch启动文件的方法(二):launch文件的执行方法首先附上古月居老师的教程地址:古月居1.Simple.launch实现功能:这个launch文件实现功能较为简单,使用node标签启动person_subscriber和person_publisher两个节点(以上两个Topic的编程实实现在古月居老师《Ros入门21讲》第10-11讲有相关介绍),并且在启动节点之前自启动RosMaster,意味着使用该launch文件进行节点启动前,不用先在Terminal中执行rosc

2020-07-29 16:44:35 1529

原创 浅谈Ros中使用launch启动文件的方法(一):launch文件语法介绍--Ros入门21讲-第19讲笔记(持续更新)

浅谈Ros中使用launch启动文件的方法(一):launch文件语法介绍学习目标:在使用Ros过程中,经常遇到使用多个Terminal同时启动多个节点的情况,为简化Ros开发操作,使用Launch文件进行RosMaster启动、节点运行等操作是Ros学习和日常开发中十分重要的技能,以下根据古月居老师《Ros入门21讲》中第19讲的内容,特总结了launch文件使用的一些基本方法。launch文件初览launch文件采用XML语法,使用标签化定义,旨在向服务器发送当前操作请求以及关联的相关功能包、可

2020-07-29 16:13:57 1852

原创 【Debug记录】Ros报错:解决Gazebo或Ros相关组件运行命令报错:dynamic module does not define module export function的方法

解决Gazebo或Ros相关组件运行命令报错:dynamic module does not define module export function的方法问题描述:在运行gazebo或者roslaunch时会报错:dynamic module does not define module export function导致命令无法执行。如下图是在运行以下命令调用tf2功能包时的报错:roslaunch turtle_tf turtle_tf_demo.launch 报错日志:Traceb

2020-07-29 10:17:17 3159 5

原创 Ubuntu18.04+Ros Melodic安装及环境配置+Ros安装常见问题解决方法(亲测安装成功)

Ubuntu18.04+Ros Melodic安装即环境配置+Ros安装常见问题解决方法(亲测安装成功)近期跟着古月居老师正在学习《Ros入门21讲》以及Ros的基本应用等相关内容,作为步入Ros领域的第一步,Ros系统的安装步骤特别是安装时遇到的各类问题也曾经令许多入门者头大,本篇文章是本人亲自尝试,利用最简单的步骤安装Ubuntu18.04+Ros Melodic,希望对各位有所帮助安装步骤Ubuntu18.04+Ros Melodic安装即环境配置+Ros安装常见问题解决方法(亲测安装成功)一、安

2020-07-14 20:47:39 12625 5

《Ros入门21讲》课件和工作空间

ROS是Robot Operating Syetem(机器人操作系统)简称。该资源是古月居老师《Ros入门21讲》的工作空间,包含全部课程代码以及课程ppt,由于个人习惯python3编程而古月居老师中提供的python代码均为Python2规范编写,因为python版本不同导致的bug已经全部修改,分享给大家共同学习。

2020-07-30

空空如也

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

TA关注的人

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