- 博客(43)
- 资源 (2)
- 收藏
- 关注
原创 ROS(3) -- Moveit
文章目录MoveIT概念介绍通信方式输入输出MoveIT概念介绍move_group 是 MoveIT 核心,将所有组件结合。本质是一个 ROS node ,在 ROS param server 中获取 URDF / SRDF (机器人语义信息,通常由 MoveIT Setup Assistant 配置) / Moveit Configuration (包含运动学参数,约束,通常由 MoveIt Setup Assistant 生成)通信方式MoveIt 从 /joint_states 中获取当前
2021-12-20 15:58:32
309
原创 pybind11 Eigen + STL Containers + Numpy
Pybind11梳理一下 Pybind11 中 Eigen 和 STL 容器与 Python 交互的方式。需要先了解Functions章节中关于返回值和调用的规则。STL 容器Pybind11 已经自动支持 std::vector<>/std::deque<>/std::list<>/std::array<>/std::valarray<>, std::set<>/std::unordered_set<>, and s
2021-08-18 20:11:06
1522
原创 SVM C++
SVM学习使用 libsvm 库。详细说明见这里。使用工具训练库中有编写好的训练程序 svm_train 可以按照要求的数据格式训练模型。训练数据格式:<label> <index1>:<value1> <index2>:<value2> ......每一行是一个训练数据,结尾由 '\n' 分开。对于 <label>,如果是一个整数,那么为分类(支持多个类训练)。如果是实数,那么是回归。<index>:&
2021-08-04 21:41:31
440
原创 CMake
文章目录CMAKECompiler and Linker路径配置CMake 变量CMAKEofficial tutorials对于源码编译的库cmake -D [parameters] …make -jmake install 是把头文件和库文件写入CMAKE_INSTALL_PREFIX下。MESSAGE(STATUS " path ${…}" ) 可以在编译时检查路径是否出错include(CheckCXXCompilerFlag)CHECK_CXX_COMPILER_FLAG("-
2021-07-31 16:40:48
111
原创 HDF5 C++ 使用
HDF5简介HDF5 可以用来存储异构数据对象,包括图片,表,图,甚至 PDF 和 Excel. HDF5 中的数据存储在不同组(Group)中,类似于 Linux 文件树结构。HDF5 数据集 (Datasets) 存储原始数据和元数据 (Metadata) 包括数据类型,维度,属性与性质。数据类型 (Datatypes)预定义数据类型 (pre-defined datatypes)分为标准数据类型和本地数据类型。前者在任何平台上相同,eg. H5T_IEEE_F32BE (32 bit
2021-07-31 16:40:14
3149
原创 FLANN C++ 使用
FLANNFLANN 库,包含 KNN 算法。众多工程(例如 OpenCV)使用了 FLANN,这里单独介绍这个库,方便以后单独使用。由官方 Latex 编译的文档链接,免费的。安装ubuntu 下直接通过命令行sudo apt install libflann1.8 libflann1.8-devHDF5FLANN 库例程使用了 HDF5 库,但是引用有些问题。编译时,头文件路径需要包含 /usr/include/hdf5/serial/。需要链接库 hdf5_serial_hl 和 hd
2021-07-27 10:47:21
2025
原创 Jetson
Created with Raphaël 2.2.0开始数据可读?前两个字符?满足起始条件?结束cur_length%5==0?yesnoyesnono#mermaid-svg-OwWLpgKZKblRRSXq .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-OwWLpgKZKblRRSXq .label te
2021-06-20 16:45:58
273
原创 Pytorch Optimization
文章目录Optimizertorch.optimPytorch LightningOptimizertorch.optim每个 optimizer 中有一个 param_groups 维护一组参数更新,其中包含了诸如学习率之类的超参数。通过访问 pprint(opt.param_group)可以查看或者修改[ {'dampening': 0, 'lr': 0.01, 'momentum': 0, 'nesterov': False, 'params': [Parameter con
2021-05-24 22:50:32
586
原创 g2o 使用
文章目录g2o数据结构使用步骤Advance剔除 Outliersg2oSLAM 中的图优化库。图中的节点是待优化的变量,边是误差。F(x⃗)=∑k∈Cek⃗(xk⃗,zk⃗)TΩkek⃗(xk⃗,zk⃗)F(\vec{x}) = \sum\limits_{k \in C} \vec{e_{k}}(\vec{x_k}, \vec{z_k})^T\Omega_{k}\vec{e_{k}}(\vec{x_k}, \vec{z_k})F(x)=k∈C∑ek(xk,zk)TΩkek(x
2021-05-08 22:39:52
372
原创 Pytorch - Autograd
文章目录Auto-gradConcurrency Training on CPUCustom Layers and BackwardTransfer Learning & Fine-tuningBatch AccumulationNotesAuto-gradInternally, autograd represents this graph as a graph of Function objects, which can be apply() to compute the result of
2021-04-28 12:58:27
247
原创 PX4 ---- Indoor Flight
文章目录室内飞行ROS & PX4Pose Data飞机配置MAVROS基于工训赛 VIO 飞行总结室内飞行ROS & PX4Pose Data飞机配置VIO参考此处,采用 T265 配置。EKF 配置EKF2_AID_MASK 选择(vision position fusion / vision yaw fusion / vision velocity fusion)具体 Velocity 要看发布的 Odom 是否含有该信息。EKF 与 VIO 都配置
2021-04-25 18:40:59
723
2
原创 PX4 -- EKF2
文章目录EKF2参数高度估计Range Finder滤波单变量更新单变量更新对多变量的影响EKF2参数EKF2 中有一类 GATE 参数。当测量值在 VAR ± GATE 范围内才会更新值。高度估计四种高度控制方法:气压计,GPS,Range Finder,Vision。如果将 Range Finder 作为 Secondary Source (具体参考 Range Finder 篇),Primary Source 会在合适条件(一定高度,一定的速度下)切换为 Secondary Source 估
2021-04-25 18:24:46
2101
原创 PX4——Range Finder 篇
Range Finder此处选用的是 Benewake 下的 Lidar参数设置General Configuration除了官方的参数设置外,我在 EKF2 中还找到了Benewake
2021-04-17 17:31:26
821
原创 树莓派----连接与配置
Raspberry PiEthernet 连接Ubuntu用网线连接树梅派和 PC 。在 Ubuntu 上修改连接设置edit connections 或者命令行 nm-connection-editor。sudo arp-scan -l 查看树梅派 ip 地址。(可能需要用 apt 下载相应软件。)Windows连接后,在网络适配器中,将无线网共享给其他设备。不是把有线网共享给其它设备。 在 CMD 中输入 arp -a 找到连接设备的 IP 地址,然后使用 ssh 连接。Confi
2021-04-06 16:45:30
365
原创 PX4 ---- Mixer
Mixer (混合控制)作用经过位置控制和姿态控制后,控制量通过 actuator_controls发布,其中 control 数组存放了四个的控制量。(roll, yaw, pitch , throttle) 这四个量投影到不同的轴臂上,投影关系即是混控矩阵。换句话说,混控确定了飞机的控制输出(yaw, roll, pitch)映射到飞机各个 PWM 通道输出的关系。(例如电调)输入混控的输入来自控制组(control group)。这些大多是预先定义好的,参见此处。在混控文件中会确
2021-03-04 19:26:06
2264
1
翻译 Computation in Pytorch
文章目录Tensor in PytorchParameterTensor in Pytorch记录一些 pytorch 中 Tensor 和 Parameter 使用方法。ParameterParameter 赋值。
2021-02-26 17:33:30
95
原创 Python Bytes
文章目录字节操作字节类Bytes ClassBytearray ClassCommon Operations转换NumpyStructFormat字节操作字节类python 中处理字节有两种类型,bytes 和 bytearray 类。两者都是序列,前者类似元组(不可更改),后者类似列表。Bytes Classbytes 与 str 类相似。创建方法:由字符创建(ASCII 码),b'{text here}'From an iterable of integers: bytes(range(
2021-02-24 10:57:22
225
原创 Albumentation
文章目录AlbumentationClassificationSegmentationDetectionKeyPoints AugmentationAlbumentation所有实现的变换。变换以及支持的类型。此处Classification创建图片扩展流程使用 Compose 类定义数据增强的流程。Compose 类接受一个包含所有图片变换的列表。transform = A.Compose([ A.RandomCrop(width=256, height=256), A.
2021-02-23 13:45:36
1025
3
原创 OpenCV 数据结构
OpenCV 数据结构矩阵类Mat创建矩阵行列方式:指明矩阵的维度和数据类型,并且赋值为常数。拷贝创建方式:从其它矩阵拷贝、切片过来。可以利用 Rect(获取 ROI)、Range (在不同维度上切片)、void* data (给定数据的地址)得到。从 vector 、array得到数据类型CV_[bit](U|S|F)C[channels]: U——无符号数;S——有符号整形;F——浮点数。属性depth:每一个像素的精度,与 bit 数有关,与图像通道数无关。这个可以在图
2021-02-23 09:36:54
301
原创 Cython
Cython编译运行Use setup.py filefrom setuptools import setupfrom Cython.Build import cythonizefrom Cython.Compiler import OptionsOptions.docstring = Falsesetup( name='Hello world app', ext_modules=cythonize("hello.pyx", compiler_directives={'
2021-02-20 11:27:42
228
原创 Matplotlib
文章目录Matplotlib概念FigureAxes调整子图距离交互式Matplotlib概念Figure :Figure 就是一张图像,一个窗口。其中可以包括多个子图。由 plt.figure() 创建。Axes:一张具体的图。绘制函数都在这个类下。fig = plt.figure(figsize=(6, 6)) # 创建图片ax1 = fig.add_subplot(121) # 子图, grid 1ax1.set_xlabel('x') # 设置图标ax1.set_ylabel('ou
2021-02-19 11:56:39
138
原创 TensorRT -- Construction
文章目录TensorRT ConstructionProcedureNetwork DefinitionTensorRT ConstructionProcedureCreate a global object ILoggerILogger 是个抽象类,需要派生后使用。官方 API 中给了例子。具体使用可以从 Code Sample 中拷贝。Create object of type IBuilderIBuilder* builder = createInferBuilder(Logger
2021-01-29 21:36:17
186
原创 Git 笔记
廖雪峰教程https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304注释<...>表示需要自己添加的参数上传文件git add <file name> 提交文件git commit -m "...<说明>" 上传到仓库git log 查看版本历史会显示:commit 0b2ebef8cedd4151bb2e09eb6781545289a3c531Author: peter &l
2021-01-25 13:33:04
127
原创 OpenCV -- 图片处理
Image ProcessFiltering介绍 OpenCV 中的滤波函数。滤波时一般会考虑到边缘问题,在此处介绍了所有补全边缘的方法。网页中右侧代表补全值得示例。边缘补全函数:copyMakeBoarder。两种滤波方式:调用相应的 Filtering 函数。生成对应的卷积核,然后调用 Filter2D 函数。bilateralFilter双边滤波:边缘保留的滤波方法,将像素值差值大于某一阈值的边缘保留,不模糊。保留了图像的边缘信息。卷积核看成由空域核与色彩域核的叠加。其中的
2021-01-23 23:06:05
270
原创 FreeRTOS —— Memory Management
Memory Management名词解释:heap segmentation : RAM 中没有一块完整的内存空间以满足内存申请需求,但是总的剩余空间大于需求的情况。这就表现了分配算法的重要性。Stack & Heapstack(栈),有时也称为 frame(帧)。一帧里存放了一个子过程(subroutine,其实也就是函数) 的信息。这些信息包括函数的返回地址和传入参数。当函数中再调用函数时,这些信息会放入堆栈中,而函数返回时,这些信息出栈并恢复到寄存器中。函数中每定义一个变量,就会
2021-01-12 13:33:36
580
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人