自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hugo部署到github本地build成功,但是github build失败

hugo 在 github上build 出错

2022-06-12 17:12:02 477 1

原创 git 代码管理工具3

团队协作分支开发模式一个好的 github 项目一般都有多个分支:master,dev,release分支新建分支 branchgit branch branch1切换到目标分支git checkout branch1在本地的branch1 中添加一个helloworld.java 文件public class HelloWorld { public static void main(String[] args) { System.out.println("h

2022-01-30 21:04:43 967

原创 git 代码管理工具2

如何解决冲突模拟两个人同时修改一个文件并提交到远端克隆到两个文件夹 me 和 othergit clone [email protected]:swagger_wei/test_gitee_git.git megit clone [email protected]:swagger_wei/test_gitee_git.git otherother 对first.txt 内容作出修改推送到远端此时另一个 me 的本地仓库是不知道远程的仓库已经发生了修改的me 对first.txt 内容

2022-01-27 22:56:56 445

原创 git代码管理工具

git 代码管理工具笔记应用场景: 团队协作开发, 避免频繁来回拷贝代码git 工作流程克隆 Git 资源作为工作目录在本地的工作副本上做修改操作如果别人更改了资源可以更新资源检查修改之后就可以向资源库推送更新如果发现有错误则可以撤销推送,修改错误,然后重新推送工作区和、暂存区和版本库工作区,就是本地电脑上可以看到的文件(按下Command+Shift+.可以显示隐藏文件、文件夹,再按一次,恢复隐藏;)暂存区,英文stage或者index,一般存放在 .git 目录下的

2022-01-17 14:22:57 715

原创 6-Java 反射

6 反射反向获取class中各种对象的信息、例如成员变量、方法、构造方法、包等等信息6.1 创建一个对象的过程new来实例一个对象时jvm会在家在对应的class文件jvm在本地磁盘中查找class文件将class文件读入到内存当中,以便使用一个class 文件只占用个同一个空间,对此用一个class在new,不会重复在内存空间中初始化6.2 获取类的字节码//获取类的字节码// 方法一 Student stu1 = new Student();

2022-01-05 16:59:49 117

原创 5-Java 泛型

5 泛型泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数5.1 泛型方法在调用时可以接收不同类型的参数每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开类型参数能被用来声明返回值类型泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型,不能是原始类型(像 int、double、char 等)5.2 java 中范型标记符E - Element (在集合中使用,因为集合中存放的是元素)T - Type(Java 类)K - Key(键)V -

2022-01-05 16:58:44 83

原创 4-Java 异常

4 异常异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。4.1 程序错误的分类编译错误:编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置运行时错误:程序在执行时,运行环境发现了不能执行的操作逻辑错误:程序没有按照预期的逻辑顺序执行。异常也就是指程序运行时发生错误,而异常处理就是对这些错误进行处理和控制Throwable: 有两个重要的子

2022-01-05 16:57:38 178

原创 3-Java容器

3 容器数据容器主要分为了两类:Collection 和 MapCollection: 存放独立元素的序列Map:存放key-value型的元素对3.1 Collection 存放独立元素的序列List: ArrayList LinkedList Vector StackSet:HashSet LinkedHashSet TreeSet3.2 Map:存放key-value型的元素对HashMap: LinkedHashMapTreeMap: ConcurrentHashMap

2022-01-05 16:56:11 104

原创 1-2 继承和接口

1 继承(关键字extends)父类中私有成员可以被继承,只是外界无法访问父类中公共属性、方法可以被子类继承支持单继承,多重继承(单链式继承),不支持多继承(一个类继承多个父类)子类中的方法重写必须是父类中已有的方法重写后再次调用父类的方法使用关键字super 例如 super.需要调用父类中的方法;super必须在子类构造器中第一句重写与重载的区别重写:方法名、参数跟父类方法一致,只是方法体内容不一样(运行时多态)重载:方法名一致,形参返回值不一致(编译时多态)Java中,在创建类

2022-01-05 16:53:53 80

原创 graph 图数据结构

树 和 图 辨析1 树的父节点和子节点之间是一条路单向可达2 图的的节点之间存在多条路可达基本概念1 顶点2 边3 邻居节点:只有一条边连接的顶点4 度(degree):一个顶点有几条边,就有几度图的区分1 无向图:边没有方向2 有向图3 权重图有向图的基本概念1 入度:多少条边指向该顶点2 出度:多少条边从这个顶点出发指向其他顶点EG:韩:入度为0;出度为2李:入度为1;出度为1bishi:入度为2;出度为0饲:入度为1;出度为1权重图的基本概念边上有权重

2021-11-24 13:56:23 412

原创 1-PointNetGPD论文阅读

资源相关1 项目地址https://lianghongzhuo.github.io/PointNetGPD/2 源码地址https://github.com/lianghongzhuo/PointNetGPD3 论文地址https://arxiv.org/pdf/1809.06267.pdf输入输出1 input: 点云数据2 output: 抓取位姿(6D)(parallel-jaw)方式contribution1 网络轻量化2 预测夹爪的6D位姿3 贡献一个真实的点云抓取数据集

2021-11-18 14:28:31 659

原创 如何制作和训练自己的数据集(YoloV5)

标注方法1 自己获取的数据集,人工进行标注(全人工)2 自己获取的数据集,首先使用训练好的网络标注一遍,然后手动进行微调(半人工)3 仿真数据集(GAN网络来生成自己的数据集-- synthetic data)标注工具1 CVAT(需要安装)2 makesense.ai(在线标注工具)makesense.ai 标注过程1 输入图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0DzaTdQW-1636380302227)(pic13.png)]2 选择Ob

2021-11-09 10:13:47 4887

原创 YoloV5 train.py 如何使用

parser 参数详解1 --weights 初始化模型: 有yolov5m,yolov5s,yolov5x,yolov5l,如果为设置为空就是没有任何与训练模型2 --config 训练配置文件:.yaml 文件,与预训练模型相对应。3 --data 所使用的数据集的配置文件:.yaml 文件4 --hyp 超参数配置文件: 学习率等5 --epoch 训练伦数6 --batch-size batchsize 大小7 --img-size 图片大小8 --rect padding之后会有灰

2021-11-09 10:11:19 2623 2

原创 6-urdf

URDF (Unified Robot Description Format) 统一机器人描述格式基本概念1 urdf 文件, 定义机器人的结构2 用于机器人的仿真、 可视化、 tf3 ROS 的中包含一个urdf包,用来解析urdf文件描述机器人零部件和零部件之间的关系1 link 每个零部件都有自己的link(xyz三个轴)2 joint 描述两个零部件连接的关节3 urdf文件中定义两个link 之间必有一个jointurdf 文件的具体撰写...

2021-11-01 16:47:08 94

原创 5-tf in python

tf in pythontf in python 的相关数据类型tuple list numpy array 四种方式通用EG:四元数、矩阵、欧拉角之间的转换tf.TransformListener 类构造函数为无参数tips:查看相对的tf,方法中注意时间要填写为time(0), 不能使用time(now)获取当前时间,因为获取当前的tf消息是空的,需要等待一下才有消息tf.transformBroadcaster 类构造函数为无参数tf相关指令1 根据当前的tf tree

2021-11-01 16:45:18 117

原创 4-tf介绍

tf介绍TransFrom1 坐标变换(位置+姿态)2 坐标系数据的维护工具抓取场景下的坐标转换1 涉及的坐标系:基坐标系、摄像头坐标系、机械臂末端坐标系2 物体坐标相对于摄像头坐标系-》物体坐标相对于基坐标系3 物体坐标相对于夹爪末端坐标系ROS中的tf1 一个部件是一个link, 会发布自己的tf消息2 与之相连的link, 会接收其tf消息完成连接转化工作(joint工作)3 ROS中tf表示的意思:标准 话题 工具 接口tf消息格式两个frame之间的tf变化 Tran

2021-11-01 16:43:44 180

原创 3-rospy介绍

Client Library1 提供ROS编程的库2 例如建立node,发布消息,调用服务3 提供了如下几种client library :roscpp、rospy、roslisprospy的组成1 Node2 Topic3 Service4 Param5 Timerospy-Node 相关rospy-topic 相关1 wait_for_message: 只接收一次消息,不是一直处理消息2 publisher-》init: 当中的queue_size, 设置为1, 为异步通信

2021-11-01 16:42:25 393

原创 aruco安装 配合realsense 使用

使用github安装网址:http://www.uco.es/investiga/grupos/ava/node/26git clone到本地之后,catkin make即可开始使用使用apt安装sudo apt-get install ros-kinetic-aruco-rossudo apt-get install ros-kinetic-aruco-msgssudo apt-get install ros-kinetic-aruco-detectsudo apt-get install

2021-10-28 21:31:03 961 2

原创 2-ROS常用工具

ROS常用工具1 仿真:Gazebo2 调试、可视化:Rviz、rqt3 命令行工具:rostopic、roslaunch、rosbag4 专用工具:MoveitGazebo1 机器人仿真工具2 ODE、Bullet 等物理引擎3 动力学、导航、感知等任务的模拟Gazebo 操作1 鼠标左键平移, 中键旋转2 左侧world:各类物理模型及其属性3 左侧insert:可以插入各种模型RViz1 方便调试和监控的工具2 ADD 添加监视器(RbotModel、Laserscan、

2021-10-28 11:26:26 484

原创 1-ROS通信方式

通信方式1 topic2 service3 parameter server4 actionlibtopic 通信方式异步通信方式Node间通过publish-subscribe的方式进行通信topic 发布节点只管发布, 接收节点只管接收特点1 异步通信方式2 对于同一个topic可以有多个发送者(例如tf,和rosout),也可以有多个接收者Message1 topic 内容的数据类型—》类2 定义在.msg文件当中包括的类型topic 相关命令1 列出所有的top

2021-10-28 11:24:46 145

原创 堆 Heap Java 知识点

基本定义堆就是一种二叉树结构—完全二叉树完全二叉树:1 每个父节点,最多只有两个孩子2 从上到下,从左到右依次填满堆需要满足的条件:1 是一个完全二叉树2 每个节点都大于等于孩子节点(最大堆)或者每个每个节点都小于等于孩子节点(最小堆)最大堆和最小堆的辨析[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YGWFpyA2-1634545889516)(pic22.png)]根节点:堆顶元素堆常见操作的时间复杂度访问 Access X搜索 Search O

2021-10-18 16:48:07 297

原创 树Tree知识点

树的基本概念描述的是节点之间的父子关系tips: 成环的结构不可能成为树, 因为无法确定父子关系重要的名词1 节点2 根节点(开始的节点,没有父节点,具有唯一性)3 叶子节点(没有孩子的节点)高度、深度、层 概念辨析1 高度:从叶子向根看,从0开始计数2 深度:从根向叶子看,从0开始计数3 层: 从根向叶子看,从1开始计数二叉树1 普通二叉树:每个节点最多两个孩子2 满二叉树:除了叶子节点,每个节点都有左右两个孩子,且所有的叶子节点都在同一层3 完全二叉树:从树的根节点,从上

2021-10-16 16:10:01 182

原创 kinova-ros配置文档

我的环境1 ubuntu 16.04 64bits2 ROS KineticKinova SDK 下载1 进入kinova官网 kinovarobotics.com2 找到右上角resource, 根据自己kinova机械臂的名称找到对应的资源库, 我的是Gen23 选择对应自由度的机械臂,然后找到SDK下载Kinova SDK 安装1 解压SDK, 切换到目录中2 打开终端cd Ubuntu/16_04/64\ bits/3 使用.sh文件安装sudo bash instal

2021-10-14 15:38:14 592 1

原创 kinova jaco2 7dof 机械臂基础控制

机器人唤醒TIPS: 注意ROS节点和Development Center不能一起打开1 sourcesource devel/setup.bash2 bringup机械臂roslaunch kinova_bringup kinova_robot.launch kinova_robotType:=j2n7s300cartesian 控制模式1 重新起一个终端cd ~/catkin_wssource devel/setup.bash2 运行pose_action_client.py

2021-10-14 14:58:39 576

原创 Java集合 Set学习

特点1 无序2 不重复注重自己独一无二的特性主要作用1 检查某一个元素是否存在2 有无重复元素Set的种类1 HashSet 主要使用2 LinkListSet3 TreeSet讲一个元素加入到HashSet过程原理1 取得元素2 通过哈希函数得到哈希值3 通过哈希值在哈希表中寻找,如果表中没有此元素,就直接存入到哈希表中4 如果有元素,然后进行对比5 如果已有元素和当前元素相等,则不做操作6 如果不想等,则发生哈希冲突(使用链表方法解决)哈希集合的操作的时间复杂度1

2021-10-13 18:53:10 60

原创 Java 哈希表学习-散列表

基础定义键值对:key:value例如学号姓名:1:张三2:李四3:王五查找元素的方式不需要从头遍历到尾,直接通过键(key)来进行查找,时间复杂度低语言的使用Java—HashMappython----字典哈希查找对应元素的机制哈希碰撞两个不同的key通过同一个哈希函数,得到相同的内存地址解决方式:将两个键值对使用链表串起来各种操作的时间复杂度1 访问 X2 搜索(无哈希碰撞) O(1)3 搜索(有哈希碰撞) O(K) 链表遍历时经过了k个元素4 插入 O(1)5

2021-10-08 15:27:56 114

原创 kinova-gen2 使用学习

安全使用1 不要进行剪裁操作,尖锐物体可能会上伤到手臂2 关闭的时候会泄力,注意提前用手拖着3 关节移动的时候不要限位部件1 手臂主体部件2 背面接口部件USB、网线接口:公kinova SDK 控制使用switch:开关8pin口:摇杆控制4pin口:电源线控制机械臂1 手柄控制两种控制模式:Cartesian velocity(默认)、Angular velocity手柄结构:手柄按键指示表:2 ROS 控制具体访问https://github.com/Kino

2021-09-28 21:59:29 1099

原创 定义一个字符链表并反转

listNode 节点类1 成员变量:val next2 构造函数package byteDance_test;public class listNode { char val; listNode next; listNode(char val){ this.val = val; }}linkList 链表类1 成员变量:head、tail节点,size2 构造函数3 添加元素函数4 简单的显示函数5 反转函数package byt

2021-09-28 11:00:07 88

原创 Java 零碎基础知识

问号 ?冒号 :条件语句int i = 0;int x = i>1 ? 0:1;问号冒号将其分为代码分为三个部分A、B、CA?B:C如果A为真则执行B,如果为假则执行C字符串charAt 函数String 类型的变量使用指定index,返回该位置上的字符,返回类型为char类型String 和 StringBuilder 的使用初始化StringBuilder str = new StringBuilder();增加元素str.append(1);str.append(

2021-09-23 15:36:22 92

原创 Java栈的学习

特点先进后出,与队列这种数据结构相反,队列是先进先出。实用例子: 浏览器后退功能操作的时间复杂度1 访问栈顶元素 O(1)2 搜索 O(N)3 插入 O(1) 入栈4 删除 O(1) 出栈Java栈的常用操作创建栈Stack<Integer> stack = new Stack<>();添加元素stack.push(1);stack.push(2);stack.push(3);System.out.println(stack.toString());

2021-09-20 19:58:00 96

原创 Java 快速实现自定义的字符链表

class 文件结构1 ListNode.java 链表节点类2 linkListString.java 链表类3 test_ll_string.java 测试文件ListNode.java1 val 存放字符串2 next 指向下一个节点3 构造函数package linkList_string;public class ListNode { char val; ListNode next; public ListNode(char val) {

2021-09-20 15:31:43 219

原创 Java 队列学习

队列的特点先进先出队列的分类1 单端队列只有一个口可以进,一个口可以出2 双端队列两个口都可以进, 两个口都可以出队列数据结构的特点1 访问O(N)需要从头到尾遍历一遍2 搜索O(N)需要从头到尾遍历一遍3 插入O(1)插入只能在队尾插入,不需要遍历,所以时间复杂度为O(1)4 删除O(1)删除只能在队头删除,不需要遍历,所以时间复杂度为O(1)tips队列的底层实现是链表队列的常见操作1 创建队列Queue<Integer> queue = new Li

2021-09-17 00:04:42 91

原创 java 链表的使用

链表与数组的区别数组的存放为连续的内存空间, 链表不需要,任意碎片式的内存空间都可以形成链表。链表的分类1 双端链表既有next指向下一个数据也有previous指向前一个数据,可以双向遍历。2 单端链表只有next指向下一个数据,只能单向遍历。链表的基本操作1 访问----O(N)需要遍历,从头找到尾2 搜索----O(N)需要遍历,从头找到尾3 插入----O(1)直接需要插入的位置断开指针,使上一个的指针指向新的元素的位置,新元素的下一个指向原本的下一个元素4 删除----

2021-09-16 16:45:09 1141 1

原创 Kinova MOVO 手动启动操作

此方法适用于系统不能通过自检,并自动启动的情况手动启动bashroslaunch movo_bringup movo_system.launch运行tractor_node脚本,解决MOVO底盘问题./tractor_node直连MOVO进行joystick手柄操作cd /home/movo/movo_wsroslaunch movo_remote_teleop movo_remote_teleop.launch手柄操作方式操作方式图解,所有的操作除了手指操作,其他的都需要DeadM

2021-09-14 10:55:31 192

原创 3-IDEA for macOS操作学习

IDEA HelloWorld 案例操作步骤IDEA 的项目结构项目(Project) > 模块(Module) > 包(Package) > java文件对应到这个项目当中项目(Project)----java_learning模块(Module)-----idea_test包(Package)------swagger_testjava文件---------HelloWorld.java内容辅助键快速生成语句1 快速生成main方法:psvm,回车2 快速生

2021-09-12 17:31:01 109

原创 1-Java学习前期准备

平台区分这里指不同的操作系统:macos windows linux跨平台运行原理java 语言要想在不同的平台运行, 只需要该平台上有翻译java语言的虚拟机即可称为 JVM (Java Virtual Machine)JRE 和 JDKJRE(Java Runtime Environment)1 是Java运行时的环境,包含JVM和运行时所需要的核心类库2 运行一个已有的java程序只需要安装JRE即可JDK(Java Development Kit)1 Java程序开发的工具包,

2021-09-12 17:28:17 65

原创 时间复杂度和空间复杂度

时间复杂度即为代码的执行次数量级O(1)常量数量级的时间复杂度, 没有for循环和while循环O(N)常量不看,其中total=0,return total为常量执行次数只有一层循环,循环的执行次数为NO(logN)常量不看,其中i=1,return i 为常量执行次数i=i*2的执行次数为log2(N),舍去2,则最后结果为O(logN)O(M+N)同理常量次数不看两个O(N),一个执行M次,一个执行N次组合之后变成O(M+N), 实际上等同于O(N)O(NlogN)

2021-09-08 22:20:39 80

原创 latex语法学习笔记2

1 算法加入在tex 文件开头引用以下包:algorithm、algorithmics、algpseudocode、amsmath\usepackage{algorithm}\usepackage{algorithmicx}\usepackage{algpseudocode}\usepackage{amsmath}如果算法中包含输入输出模块,还应加入如下代码:\renewcommand{\algorithmicrequire}{\textbf{Input:}} % Use Input i

2021-09-08 19:04:30 313

原创 latex 语法学习笔记1

overleaf 使用overleaf 左下角为文章结构方便快速定位到tex代码文件的位置图片的插入与引用插入\begin{figure}[t] \centering \includegraphics[scale=0.25]{intro.png} \caption{描述} \label{pic-label} \vspace{-0.4cm}\end{figure}\centering 放置位置剧中\includegraphics[scale=0.25]{intro.png} 图片

2021-09-08 00:21:35 359

原创 overleaf连接速度缓慢 macOS 解决方案

overleaf连接速度缓慢-macos解决方案本方案需要修改 host 文件,但是macos的host是锁定的,首先要解锁host的读写权限参考本方法:https://zhuanlan.zhihu.com/p/362307389mac的host文件在 /etc/host 目录下使用命令:1 cd /etc2 sudo open -e host添加以下代码:#the following 2 lines used to speed up the overleaf127.0.0.1 http

2021-09-06 22:08:53 2563

空空如也

空空如也

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

TA关注的人

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