自定义博客皮肤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 782

原创 git 代码管理工具3

团队协作分支开发模式 一个好的 github 项目一般都有多个分支:master,dev,release分支 新建分支 branch git 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 1126

原创 git 代码管理工具2

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

2022-01-27 22:56:56 583

原创 git代码管理工具

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

2022-01-17 14:22:57 882

原创 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 227

原创 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 222

原创 4-Java 异常

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

2022-01-05 16:57:38 319

原创 3-Java容器

3 容器 数据容器主要分为了两类:Collection 和 Map Collection: 存放独立元素的序列 Map:存放key-value型的元素对 3.1 Collection 存放独立元素的序列 List: ArrayList LinkedList Vector Stack Set:HashSet LinkedHashSet TreeSet 3.2 Map:存放key-value型的元素对 HashMap: LinkedHashMap TreeMap: ConcurrentHashMap

2022-01-05 16:56:11 205

原创 1-2 继承和接口

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

2022-01-05 16:53:53 205

原创 graph 图数据结构

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

2021-11-24 13:56:23 538

原创 1-PointNetGPD论文阅读

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

2021-11-18 14:28:31 924

原创 如何制作和训练自己的数据集(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 5442

原创 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 3143 2

原创 6-urdf

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

2021-11-01 16:47:08 210

原创 5-tf in python

tf in python tf 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 216

原创 4-tf介绍

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

2021-11-01 16:43:44 315

原创 3-rospy介绍

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

2021-11-01 16:42:25 626

原创 aruco安装 配合realsense 使用

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

2021-10-28 21:31:03 1415 3

原创 2-ROS常用工具

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

2021-10-28 11:26:26 682

原创 1-ROS通信方式

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

2021-10-28 11:24:46 283

原创 堆 Heap Java 知识点

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

2021-10-18 16:48:07 418

原创 树Tree知识点

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

2021-10-16 16:10:01 373

原创 kinova-ros配置文档

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

2021-10-14 15:38:14 1014 2

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

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

2021-10-14 14:58:39 901

原创 Java集合 Set学习

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

2021-10-13 18:53:10 163

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

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

2021-10-08 15:27:56 247

原创 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 1768 1

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

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

2021-09-28 11:00:07 179

原创 Java 零碎基础知识

问号 ?冒号 :条件语句 int i = 0; int x = i>1 ? 0:1; 问号冒号将其分为代码分为三个部分A、B、C A?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 202

原创 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 191

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

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

2021-09-20 15:31:43 335

原创 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 180

原创 java 链表的使用

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

2021-09-16 16:45:09 1264 1

原创 Kinova MOVO 手动启动操作

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

2021-09-14 10:55:31 331

原创 3-IDEA for macOS操作学习

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

2021-09-12 17:31:01 220

原创 1-Java学习前期准备

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

2021-09-12 17:28:17 139

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

时间复杂度即为代码的执行次数量级 O(1) 常量数量级的时间复杂度, 没有for循环和while循环 O(N) 常量不看,其中total=0,return total为常量执行次数 只有一层循环,循环的执行次数为N O(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 216

原创 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 500

原创 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 713

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

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

2021-09-06 22:08:53 3687

空空如也

空空如也

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

TA关注的人

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