- 博客(65)
- 收藏
- 关注
原创 开源代码分析:数据序列化与反序列化、数据包存储与加载
开源代码分析:数据序列化与反序列化、数据包存储与加载这个工程实现了以下功能:(1)将话题消息序列化;(2)存储至数据包bag文件;(3)从bag文件中加载数据;(4)反序列化形成应用数据。
2024-08-24 18:29:05
363
原创 【工程极客开源】文件操作:数据保存、数据加载、数据可视化
保存数据至文件在指定目录下创建文件,并可将数据按行保存至文件,每一行的数据数量与标签数量相同. 加载文件 加载文件,按照保存的格式,分别将标签和数据内容赋值给对应的变量。
2024-07-28 17:23:07
417
原创 软件设计方法——如何设计软件模块及接口
当一个软件功能比较复杂的时候,需要划分成多个模块,模块之间由接口实现功能调用和参数传递。软件功能模块划分,可以实现功能最小化的集中,实现多人开发与分工。接口的合理设计非常重要,是不同模块之间相互交互的桥梁。
2024-03-05 15:02:16
1916
原创 Views on Deep Reforcemence Learning(DRL)
Deep Reinforcement Learning (DRL) is a fascinating and rapidly evolving area of artificial intelligence that combines deep learning techniques with reinforcement learning principles. In DRL, an agent learns to make sequential decisions by interacting with
2024-02-26 16:07:25
815
原创 Spinning Up as a Deep RL Researcher [翻译]
OpenAI的Spinning Up开发者给DRL研究人员的建议
2024-02-23 14:16:49
872
原创 AI-资源统计(实时追踪)
网址:http://ufldl.stanford.edu/tutorial/入门级的深度学习原理介绍,搭配了基于matlab的m语言的练习实践。
2024-01-08 10:58:18
446
1
原创 自动驾驶常用英文表述
英文单词英文单词单词意义ego自车,特指自动驾驶汽车自己yield车辆(停下来或者减速)从而避让其它车辆、行人side pass车辆绕行其它行驶缓慢的车辆、行人nudge车辆横向避让道路上障碍物的动作,与变道和借道行驶不同,避让完后还会回到原来的车道继续行驶,动作幅度大。engage启动,例如park is engaged的意思是驻车已启动。disengage接管,指在自动驾驶功能失灵或者出错时由驾驶员接管车辆park泊车,在停车场或者
2023-11-03 16:29:21
1664
原创 《区块链技术与应用》北大.肖臻
被称为区块链2.0,针对比特性系统的问题进行了改进。比如说,(1)出块时间从10分钟,降低到10几秒。(2)挖矿使用的mining puzzle;比特币系统采用算力竞争,造成了矿机的专业化。以太坊涉及的mining puzzle对内存的要求很高,目的是在一定程度上限制了ASIC芯片的使用(ASIC resistance)。(3)“将来”会把工作量证明(proof of work)变为权益证明(proof of stake);(4)引入了智能合约(smart contract);
2023-11-02 15:51:07
389
原创 《信息安全》复旦大学.李景涛
加密与解密又不同的密钥完整;知道其中一个密钥,无法推算另外一个密钥;公钥和密钥可以互换使用;单向函数:计算f(x)容易,计算其逆不可行;可提供单项函数的三大数学难题:大数分解难题(IFP);离散对数难题(DLP)椭圆曲线离散对数问题(ECDLP);单向陷门函数:对于一个函数f(x),如果其逆函数invf(y)在已知某些辅助信息情况下容易求解得出,则称该单向函数f(x)为单向陷门函数;构造公钥密码系统的关键实在如何求解某个单向函数的逆函数的NP完全问题中设置合理的“陷门”。
2023-11-02 15:49:47
501
原创 利用matlab计算多项式样条曲线的末端状态与偏导数
利用3次或者5次样条曲线表示连接两个状态的运动;根据曲线参数p,可求得末端状态,也可求出末端状态相对于曲线参数p的偏导数。本文的公式可以用在优化算法中,用来求解符合两端状态约束的曲线方程。...
2022-07-12 13:49:16
547
原创 【移动机器人技术】cartographer中的一些基础数学运算
1、点云坐标变换函数:RangeData TransformRangeData(const RangeData& range_data, const transform::Rigid3f& transform) { return RangeData{ transform * range_data.origin, TransformPointCloud(range_data.returns, transf
2022-06-24 14:27:56
570
原创 grid_map::GridMap数据结构,坐标系及索引概述
grid_map::GridMap数据结构主要的数据如下:std::string frameId_; 坐标系名称;std::unordered_map<std::string, Matrix> data_;每一层的地图数据,存放在一个Eigen的二维矩阵中;Length length_; 将map的二维尺寸存放在一个Eigen二维向量中;double resolution_; 栅格化表示地图的分辨率;Position position_; 栅格地图几何中心在坐标系下的值;Size
2022-05-27 10:21:32
1934
原创 nav_msgs::OccupancyGrid数据结构,坐标系及索引概述
nav_msgs::OccupancyGrid的数据结构header: seq: stamp: frame_id: # 地图所在坐标系info: map_load_time: resolution: # 分辨率 width: # 宽度:在x方向的栅格数 height: # 高度:在y方向的栅格数 origin: # 地图原点在frame_id坐标系下的值; position: orientation: data: # int8[]
2022-05-26 18:05:02
2429
2
原创 Git 远程操作
摘要:本文主要的内容包含,clone操作;建立本地仓库与remote之间的映射关系;fetch,pull,push的用法;远程分支的新建与删除.
2022-01-21 10:11:45
426
原创 Git 移除仓库数据
如果不小心在仓库中添加了很大的文件,仅通过撤销操作无法彻底从仓库中删除,.git目录还是很大.需要通过以下的方式,将添加的文件彻底删除.
2022-01-21 10:11:17
955
原创 Git 数据恢复
摘要:本文涵盖了多种情况的数据后的恢复,包含:误删分支,重置,push -f 导致的数据丢失.其它情况的数据丢失,可根据本文原理进行恢复.
2022-01-21 10:10:35
647
原创 Git 常用操作
包含内容: 本地新建仓库;添加/移除文件至缓存;本地仓库提交;查看仓库状态;查看仓库日至记录; 新建分支;合并分支;删除分支;变基分支;
2022-01-21 10:10:07
564
原创 Git Submodule 嵌套子模块
摘要:本文介绍了包含有git Submodule的常用操作,包含创建Submodule,拉取,提交等常用开发操作.
2022-01-21 10:09:33
1140
原创 Git 安装与配置
摘要:本文介绍了如何安装git,如何查看帮助消息,如何查看全局配置,如何设置全局配置,如何生产ssh公钥,如何将ssh公钥添加到github.
2022-01-21 10:09:00
540
原创 创建多机之间的git中央仓库
1、首先在cookoo上创建本地仓库在目录/home/cookoo/01_tracing_ws/src/下面,分别创建了core_HMI、 core_planner、tune_planning、common、core_localizer、Doc workstation_UI、core_controller、core_perception、messages仓库;创建方法可以将其它源码仓库直接copy过去,也可以直接在本地创建仓库,然后添加源码;2、在cookoo上创建中央仓库中央仓库
2021-10-14 10:20:26
386
原创 布谷鸟工控机开机程序自运行的设置
1、开机启动项管理在开机启动项中增加要启动的脚本文件在中断输入命令,打开设置界面:gnome-session-properties在界面中的命令行中增加要启动脚本:/home/cookoo/xxx/poweron.sh2、启动脚本编写#!/bin/bash### BEGIN INIT INFOexport ROS_IP=192.168.0.200export ROS_MASTER_URI=http://192.168.0.200:11311gnome-terminal -- ba
2021-10-13 16:31:39
767
原创 上电开机+开机程序自运行的相关配置
智能轮椅项目NUC配置和路由配置文档说明:本记录文件包含:设置NUC上电自动开机、开机后导航程序自运行配置、接受命令关闭所有ros节点并关机、配置路由器使得外部PC和NUC可以互相通信。设置NUC上电自动开机:给NUC上电开机,按F2进入BIOS设置界面。右上角找到高级(Advanced),选择电源(Power),在After Power Failure项选择Power On即可上电开机注意:如果想关闭该功能,改成last State就好。改成Power off的话,理论上是上电就关机哦,所
2021-10-13 15:58:31
11245
1
原创 【cartographer】园区场景自动驾驶-降低回环检测运算量
园区场景自动驾驶-利用GPS实现当地地理坐标系下的建图与定位概述主要实现如下的功能:1、利用gps信息,修正题图为当地地理ENU坐标系;2、在纯定位模式下,利用gps与imu(rtk)信息,实现车辆在地图中的初始定位;利用gps下的修改细节利用gps修正地图坐标系原点与朝向: 修正、保存参数与初始定位应用。1、利用gps修正map坐标与ENU坐标系重合;在optimization_problem_3d.cc文件中做如下更改。在函数OptimizationProblem3D::Solve()
2021-07-06 16:35:27
1110
原创 【cartographer】园区场景自动驾驶-利用GPS实现ENU坐标系下的建图与定位
园区场景自动驾驶-利用GPS实现当地地理坐标系下的建图与定位概述主要实现如下的功能:1、利用gps信息,修正题图为当地地理ENU坐标系;2、在纯定位模式下,利用gps与imu(rtk)信息,实现车辆在地图中的初始定位;利用gps下的修改细节利用gps修正地图坐标系原点与朝向: 修正、保存参数与初始定位应用。1、利用gps修正map坐标与ENU坐标系重合;在optimization_problem_3d.cc文件中做如下更改。在函数OptimizationProblem3D::Solve()
2021-07-06 16:34:19
2727
3
原创 【移动机器人技术】路径规划技术框架
路径规划技术框架路径规划单元包含全局路径规划与局部路径规划;在智能轮椅项目中,全局路径规划加入了基于结构化道路的路径规划功能,在此介绍了此部分的实现框架,重点描述了move_base中对此的处理流程;在局部路径规划中,增加和修改了运动策略机制,包含遇到障碍物的处理方式,修改了DWA的评分准则;增加了基于lattice局部路径规划的实现方法和原理。1 全局路径规划全局路径规划包含两种模式:自由规划和基于规则道路的规划;1.1 自由全局路径规划基于Dijkstra路径搜索算法的路径规划,将障碍物地图
2021-03-12 11:32:30
2364
1
原创 【移动机器人技术】基于ROS-movebase-的应用及问题介绍
RVZI变量观察基础坐标系:map观察激光实时数据-LaserScan:/scanBumper Hit: /mobile_base/sensors/bumper_pointcloud静态地图Map: /map全局代价地图globalcostmap:/move_base/global_costmap/costmap局部代价地图:/move_base/local_costmap/costm...
2021-01-19 16:13:07
1511
1
原创 引导线的提取预处理(3)——颜色阈值、霍夫直线及其聚类
主要流程分为三个步骤1、颜色通道分离,引导线(红色)颜色提取(详情参考前面的博文);2、霍夫直线检测;3、霍夫直线聚类;重点:霍夫直线聚类需要考虑的问题:1、聚类的总类别个数不确定因为事先不知道图形中存在多少真实的直线,所以要自适应寻找聚类的类别数,判断依据是聚类后的均方差是否足够小;2、霍夫直线参数误差计算时的特殊处理霍夫直线参数位rho,theta。其中rho代表图像原点至...
2021-01-19 16:04:52
1372
2
原创 引导线的提取预处理(2)——基于颜色通道分离的阈值过滤法(红线)
原始图提取白线方法一:各通道大于阈值if (((int)channels.at(0).at<uchar>(i,j) > 200) && ((int)channels.at(1).at<uchar>(i,j) > 200) && ((int)channels.at(2).at...
2021-01-19 16:04:30
277
原创 引导线的提取预处理(1)——基于颜色通道分离的阈值过滤法(白色提取)
原图加载图像Mat src = imread("/home/parobot/Pictures/line/1.jpg");resize(src, src_img, Size(round(0.2*src.cols), round(0.2*src.rows)));if (src_img.empty()){ printf("could not load the image...\n");...
2021-01-19 16:04:03
706
原创 【机械臂】变量转换
robot_math_convert.h#include <tf/transform_broadcaster.h>#include <Eigen/Core>#include <Eigen/Geometry>#include "geometry_msgs/Pose.h"extern bool RM_Matrix_to_Pose1(Eigen::Matrix4d T, geometry_msgs::Pose *pose);extern bool RM_Matr
2020-10-14 18:57:00
321
原创 【机械臂】基本数学运算
ur_kinematics_usr.h#include <Eigen/Core>#include <Eigen/Geometry>#include "geometry_msgs/Pose.h"#define MATH_PI 3.14159265358979323846264extern int RM_RotX_theta(Eigen::Matrix3d *M, double theta);extern int RM_RotY_theta(Eigen::Matrix3
2020-10-14 18:55:37
515
原创 【机械臂】基于UR机械臂的运动学函数
ur_kinematics_usr.h#include <tf/transform_broadcaster.h>#include <geometry_msgs/Pose.h>#include <Eigen/Core>#include <Eigen/Geometry>// -----------------------------------------------------------------------------------------
2020-10-14 18:53:11
668
原创 【工具】cmake教程
编译命令推荐在工程根目录下新建build文件,存放编译结果;mkdir build在build文件夹下执行编译命令cd build // 进入目录cmake .. // 拷贝上一级目录的编译配置至当前目录,生成编译环境make // 编译清除编译结果make clean...
2020-09-18 19:04:21
2242
原创 【基础技术】永磁同步电机(PMSM)的磁场定向控制(FOC)基础模块运算
概述FOC主要模块包括:Clarke、Park、iPark、SVPWM等基础单元组成Carke变换根据u、v、w相电流求解出alpha、beta相电流。共有4种:1、采集u、v、w三相电流;2、采集u、v两相电流;alpha = u;beta = (u+2*v)/sqrt3;2、采集u、w两相电流;alpha = u;beta = -(u+2*w)/sqrt3;3、采集v、w两相电流;在某些测试情况下,需要iClarke变换。u = alpha;v = (beta*SQRT
2020-09-18 19:03:37
1358
原创 【基础技术】一种简易实现的T型滤波器
一种便捷的T型滤波器:用在速度滤波,则可以保证加速度为梯型;设计思路:最大速度绝对值为从当前s_now运行值目标s_star所允许的最大速度;目标速度取匀速最大速度与速度限制值的较小者;在加速度阶段,平滑跟踪此速度,在减速阶段,直接取值此速度;头文件#ifndef _TRAMP_H_#define _TRAMP_H_#include <math.h>class Tramp{private: /* data */ float s_star_;
2020-09-18 19:00:59
1657
原创 【移动机器人技术】速度指令的矢量限幅处理
差动轮驱动的移动机器人,速度分为线速度v与角速度w,当对差动轮的速度有限制要求时,需要对进行限制,属于椭圆限制。轮子驱动电机的速度限制定义#define MOT_SPDMINRPM (180.0f)#define MOT_SPDMAXRPM (1500.0f)#define MOT1P_SPDMAXRPM (MOT_SPDMAXRPM)#define MOT2P_SPDMAXRPM (MOT_SPDMAXRPM)运动几何参数的定义#define PARAM_WIDE_METER
2020-09-18 19:00:22
466
原创 【操作记录】铭朗驱动器使用记录
驱动器型号:3620需连接编码为差分ABZ增量式编码器,5V供电;1、基础配置使用上位机软件“伺服运控管理系统.exe”,通过232连接驱动器。工作模式在没有接编码器的情况下,配置为【放大器模式】;指令的平滑限制,采用加速度限制值,默认位50r/s2,更改为500r/s2;指令源数字指令;CAN波特率采用默认的500k;两台驱动器的节点地址分别为2,3;电机参数最高转速3000rpm(实际4000rpm);峰值电流30000mA(实际40A);额定电流14000mA(实际14A)
2020-09-18 18:58:43
638
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人