自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 idea开发Java程序的步骤及设置

project中可以创建多个module,module中可以创建多个package。package中可以创建多个class。idea中的Java程序是自动编译和执行的,编译后的class文件在工程路径下的一个out文件夹里。

2024-09-09 11:34:25 314

原创 Yolo数据集构建

labelme可以标注分割,关键点检测,这种连线的(最后生成的标签文件是json后缀,所以需要yolo格式需要进一步转换)labelimg就是标注框选这种,目标检测的,可以直接获取Yolo文件的格式。Auto Save mode:切换到下一张图片的时候,会自动保存标签。标注的工具一般是两种:labelme和labelimg。后面两个数字代表目标对象在图像中的中心位置(x,y)最后两个数字代表目标对象的宽度和高度(w,h)images存放的是训练与测试的所有图片;第一个数字代表每个目标对象的类别编号。

2024-08-10 20:41:40 336

原创 undefined reference to `moveit::planning_interface::MoveGroupInterface::setStartStateToCurrentState

【代码】undefined reference to `moveit::planning_interface::MoveGroupInterface::setStartStateToCurrentState。

2024-07-12 22:23:10 870

原创 ur5e机械臂末端添加dh_ag95夹爪(ubuntu20.04+ROSnoetic)

3、在下载好的夹爪文件中,打开dh_robotics_ag95_gripper/dh_robotics_ag95_description/urdf/dh_robotics_ag95_gripper.xacro,然后将下面几段代码注释掉并保存。1、夹爪下载完之后再进行编译,这时候会报错,因为\下载的夹爪文件中程序是根据gazebo 7 版本设计的,如果gazebo版本不一样,删掉simulation的就可以了。2、里面包含了其他型号夹爪的文件,可以直接删了这部分文件。一、从官网上下载UR5e机械臂。

2024-07-10 15:24:19 427

原创 深入了解diffusion model

产生一张图片和产生noise难度是不一样的,若denoise 模块产生一只带噪声的猫说明这个模块已经会画一只猫,所以产生一只带噪声的猫和产生图片中死亡噪声难度是不一样的。想象中噪声是一点一点加进去的, 去噪声也是把噪声一点一点的抹去,实际上真正做的事情并没有把噪声一点一点的加进去,噪声一次加入,去噪声也是一次便去除。输入这张图片和step id 然后产生出一个预测中的噪声,但为了产生预测中的噪声,则需要输入这张图片的噪声是什么样子,才会学习如何把噪声输出。若这两组越接近,则表示生成的影像与原图更接近。

2024-05-31 20:28:08 473

原创 ERROR: torchvision-0.15.2+cu118-cp39-cp39-linux_x86_64.whl is not a supported wheel on this platform

注:cpu代表是cpu版本的pytorch,torch后面的1.9.1是pytorch版本号,cp38是python的版本为3.8,python版本可以通过。对比我们的文件名torch-2.0.0+cu118-cp39-cp39-win_amd64.whl,发现不在这个支持的版本列表里面。win代表的是windows系统。使用命令 来查看平台所支持的下载版本。下载平台支持的版本即可。然后再使用下载命令即可。

2024-05-25 21:45:41 471

原创 You may need to close and restart your shell after running ‘conda init‘.

【代码】You may need to close and restart your shell after running ‘conda init‘.

2024-05-25 20:04:59 275

原创 realsense D435摄像头内参自校正

当HC>0.25,改善原有校准数据,即点击“Apply New”应用新的校准数据,并且再运行一次On-Chip Calibration ,继续观察数值,直至它低于0.25,找寻一面平整的大白墙,固定相机,点击“More”-“On-Chip Calibration”若HC>0.75,原有校准数据必须要进行改善,并且建议直接使用动态校准或OEM校准。当HC<0.25,保留原有校准数据,点击“Dismiss”忽略。链接摄像头,启动打开Intel。安装好librealsense。右侧出现的弹窗中,能够看到数值。

2024-05-22 19:06:28 448

原创 D435相机内参标定(无法直接应用在相机上)

等标定中X Y Size Skew 四个进度条全为绿时再点击CALIBRATE,即可生成一个压缩包,里面包含残疾的图片信息及一个txt、一个yaml文件。标定的过程,不断变换位置直到calibrate可以使用。矩阵R是一个3✖3的旋转矩阵,仅对双目相机有效,使左右极线平行。矩阵D是失真系数,包括(k1, k2, t1, t2, k3)cameraInfo包含D、K、R、P四个矩阵。其中8x6是除去最外面的角点后的行列数。使用ros自带的标定工具。矩阵K是相机内参,即。矩阵P是投影矩阵,即。

2024-05-22 18:51:52 721

原创 根据Depth Quality Tool的z轴误差值确认相机是否需要进行相机内参校准

链接:https://pan.baidu.com/s/1NrlbwNDBUL8wpWfVwbpMwA?同时还需注意Angle的值要保持在5度以内,若不满足,则需要手动调节较低至满足该条件。此时,软件会自动反馈出相关的指数指标,包括:填充率、Z轴误差、RMS误差。则需要对摄像头进行自校准或动态校准,以恢复最佳工作状态。下载Depth Quality Tool深度质量验证工具。打开Depth Quality Tool深度质量验证工具。检查Emitter Enable是否启用Laser。

2024-05-22 18:09:42 315

原创 配置Movelt ikfast运动学插件

安装DOCKER。

2024-05-19 20:24:55 514

原创 Darknet+ros+realsenseD435+yolo(ubuntu20.04)

解压cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz后,进入该目录,将lib内的文件都复制到目录/usr/local/cuda-11.6/lib64/中,将include内的文件都复制到目录/usr/local/cuda-11.6/include/中。使用VScode 在工作空间的src目录下创建新的文件夹std_msg,并添加相关的依赖:rospy roscpp std_msgs。解决办法:修改修改darknet文件夹下的Makefile文件。

2024-05-15 22:13:01 493

原创 ROS 手眼标定 realsense435+ur5e

基坐标系(base_tree)和相机(camera_tree)两个坐标系属于不同的tree,通过将标签贴到手上,相机识别出标签的position和orention,并通过easy_handeye标定包得到tool0(机械手),进一步得到相对于base的位置关系。在xxx/realsense_ws/src/easy_handeye/easy_handeye/launch/eye_to_hand_calibration1.launch目录下,同时启动上述节点。

2024-05-15 21:05:56 2474 2

原创 ROS控制器插件及机器人模型

其中惯性旋转矩阵设计的比较大,之所以这样设置是因为在gazebo作仿真时,物理参数的影响会十分大,若建模时,所有的参数都是正确的,也可正常导出URDF,但放入gazebo中时,不一定是正常的,机械臂可能会东倒西歪。如果对碰撞、摩擦这些没有很大的要求,就可以依照上面的规则来进行设计,虽然与真实机器之间有差距但可以稳定的进行仿真。通过urdf_spawner节点来产生模型(gazebo提供的功能),主要是将上面的模型添加进gazebo,因此会有如下参数:模型从哪来,模型的类型是什么,模型叫什么。

2024-05-13 15:29:50 495

原创 ROS机械臂中Movelt!

里的核心节点为Move Group,它会接收用户给他发布的指令及外部摄像头获取的点云数据,实现如何从A到B,这样会调用各种算法来实现该功能,并输出trajactory(运动轨迹)给机器人。第三步、虚拟关节virtual joints 一般用于机械臂一般会配一个底盘,底盘会跟外部环境发生移动(世界坐标的world 坐标系与机器人底盘的base_link坐标系的位置的相对变换),所使用机械臂固定在地面上,跟world坐标系不存在相对变换,即可不需要设置。获取机器人模型的配置消息。2、配置:使用Movelt!

2024-05-07 18:19:54 1829 1

原创 ROS是什么

相比于话题通信步骤减少了,是因为在第二步中master返回给listener的直接是一个TCP/IP的地址,话题通信返回的是RPC的地址。2、软件源(repository):ROS依赖于共享网络上的开源代码,不同组织机构可以开发或者共享自己的机器人软件。TF功能包:可以求相对位置(如机器人中心坐标相对于全局坐标的位置、机器人嫁娶物体相对于机器人中心坐标系的位置)4、邮件列表(Mailing list):交流ROS更新的主要渠道,同时也可以交流ROS开发的各种疑问。

2024-05-04 18:38:07 369

原创 [joint_state_publisher-3] escalating to SIGTERM [joint_state_publisher_gui-5] escalating to SIGTERM

代码实现功能:创建机器人模型,底盘为长方体,在长方体的前面添加一摄像头,摄像头可以沿着 Z 轴 360 度旋转。解决方案:由于anaconda和ros冲突导致,因此退出base环境再运行即可成功。可以正常运行编译但按。

2024-04-26 16:00:21 279 2

原创 WARNING: disk usage in log directory [/home/min/.ros/log] is over 1GB.

2024-04-25 21:36:53 324 1

原创 ROS python实现乌龟跟随

产生两只乌龟,中间的乌龟(A) 和 左下乌龟(B), B 会自动运行至A的位置,并且键盘控制时,只是控制 A 的运动,但是 B 可以跟随 A 运行乌龟跟随实现的核心,是乌龟A和B都要发布相对世界坐标系的坐标信息,然后,订阅到该信息需要转换获取A相对于B坐标系的信息,最后,再生成速度信息,并控制B运动。Python实现。

2024-04-25 10:45:14 758 2

原创 ROS python实现静态坐标变换

现有一机器人模型,核心构成包含主体与雷达,各对应一坐标系,坐标系的原点分别位于主体与雷达的物理中心,已知雷达原点相对于主体原点位移关系如下: x 0.2 y0.0 z0.5。若编译时显示 :Could not find a package configuration file provided by “tf2_geometry_msgs“创建项目功能包依赖于 tf2、tf2_ros、tf2_geometry_msgs、roscpp rospy std_msgs geometry_msgs。

2024-04-21 21:24:19 364 1

原创 ROS 用python实现窗体指定位置生成一乌龟

编码实现向 turtlesim 发送请求,在乌龟显示节点的窗体指定位置生成一乌龟,这是一个服务请求操作。服务名称与服务消息获取简单实现,通过命令的形式调用服务并生成一只小乌龟。

2024-04-19 15:20:31 318 1

原创 ROS 用python打印乌龟的位姿

已知turtlesim中的乌龟显示节点,会发布当前乌龟的位姿(窗体中乌龟的坐标以及朝向),要求控制乌龟运动,并时时打印当前乌龟的位姿。话题与消息获取(类型与格式)

2024-04-19 11:00:44 266 1

原创 ROS 用python实现小乌龟做圆周运动

编码实现乌龟运动控制,让小乌龟做圆周运动。

2024-04-18 22:18:11 570

原创 ROS话题通信基本操作python

编写发布订阅实现,要求发布方以10HZ(每秒10次)的频率发布文本消息,订阅方订阅消息并将消息内容打印输出。编写发布方实现;编写订阅方实现;为python文件添加可执行权限;编辑配置文件;编译并执行。

2024-04-17 21:21:07 245

原创 ubuntu系统安装VScode及VScode使用与基本配置

VSCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。选定 src 右击 ---> create catkin package。可以点击配置设置为默认,修改.vscode/tasks.json 文件。在 功能包 下新建 scripts 文件夹,添加 python 文件,

2024-04-17 16:28:20 7537

原创 ubuntu系统多窗口Terminator安装

在 ROS 中,需要频繁的使用到终端,且可能需要同时开启多个窗口,推荐一款较为好用的终端:Terminator。效果如下:2.添加到收藏夹显示应用程序 ---> 搜索 terminator ---> 右击 选择 添加到收藏夹第一部份:关于在同一个标签内的操作第二部份:有关各个标签之间的操作参考链接:[1]022集成开发环境_terminator安装与使用_Chapter1-ROS概述与环境搭建_哔哩哔哩_bilibili

2024-04-17 10:35:47 444

原创 ROS安装

1、适用于机器人的开源操作系统2、继承了大量的工具、库、协议,提供类似os所提供的功能,简化对机器人的控制3、还提供了用于在多台计算机上获取、构建、编写和运行代码的工具和库,ros在某些方面类似于”机器人框架“4、ros设计者将ros 表述为”ros=plumbing+tools+capabilities+ecosystem“,即ros是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体。ROS设计目标。

2024-04-16 21:14:38 1115

原创 URDF建模原理

limit用来限制关节上下位的限制(lower、upper的单位为弧度,上图中即表示关节的运动弧度从-180到+180,velocity单位(若为旋转则为弧度每秒,平移为米每秒)数学计算:宏调用:常量使用:

2024-04-15 22:15:21 970 1

原创 Java面向对象

编写程序,声明一个method方法,在method方法提供m和n两个参数,方法中打印一个m*n的*型矩形,并计算该矩形的面积, 将其作为方法返回值。Java规定的四种权限修饰符:private、public、缺省、protected-->封装性再细说。3、其他关键字:this、super、static、final、abstract、interface、package、import等。局部变量:声明方法内、方法形参、代码块内、构造器形参、构造器内部的变量。特殊的:方法A中又调用了方法A:递归方法。

2024-04-02 16:38:00 652 1

原创 数组的概述(一维、二维数组)

针对于初始化方式一:比如:int[ ][ ] arr = new int [4][3];2、如何调用数组的指定位置的元素:通过角标(从0开始,到数组长度-1结束)的方式调用。②数组属于引用数据类型的变量,数组的元素既可以是基本数据类型,又可以是引用数据类型。内层元素:arr[0][0],arr[1][2]等。>数组元素是char型:0或'\u000',而非'0'>数组元素是char型:0或'\u000',而非'0'②按数组元素的类型:个元素基本数据类型的数组、引用数据类型的数组。

2024-03-28 16:21:40 679

原创 Java项目一、家庭记账软件

该软件能够记录家庭的收入、支出,并能够打印收支明细表。任意字符,则方法返回。返回值为用户键入字符。模拟实现基于文本界面的《家庭记账软件》。项目采用分级菜单方式。类,可用来方便地实现键盘访问。:该方法读取键盘,如果用户键入。:该方法从键盘读取一个不超过。:该方法从键盘读取一个不超过。并将其作为方法的返回值。其作为方法的返回值。

2024-03-20 16:35:45 495 1

原创 循环结构(for、while、do-while)

练习一:编写程序从1-150,并在每行打印一个值,每个3倍数打印“foo”,每个5倍数打印“biz”,每个7倍数打印“baz”.注:1、不在循环条件部分限制次数的结构:for(;执行过程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ②。执行过程:① - ③ - ④ - ② - ③ - ④ - ... - ②。②循环条件 ---->boolean类型。②循环条件 ---->boolean类型。说明:1、迭代条件不能忘!②循环条件 ---->boolean类型。

2024-03-19 18:36:04 909 1

原创 分支结构(if-else if-else 、switch-case)

开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢。2)如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金 3000美元。3)如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元4)如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。当调用完执行语句后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或者此switch-case结构末尾为止结束。

2024-03-15 16:50:31 845 1

原创 运算符分类

若程序既可以使用三元运算符,又可以使用if-else,优先使用前者(简洁、执行效率高)。不同点:当符号左边是false时,&继续执行符号右边的运算,&&不再执行符号右边的运算。不同点:当符号左边是ftrue时,|继续执行符号右边的运算,||不再执行符号右边的运算。2、根据条件表达式的真或家,决定执行表达式1,还是表达式2.相同点2:当符号左边是false时,二者都会执行符号右边的运算。相同点2:当符号左边是true时,二者都会执行符号右边的运算。说明:1、条件表达式的结果为boolean类型的变量。

2024-03-12 17:45:26 873

原创 关键字、保留字、标识符、变量及运算规则

当容量小的数据类型的变量与容量大的数据类型变量做运算时,结果自动提升为容量大的数据类型。一、标识符:Java对各种变量、方法和类等要素命名时使用的字符串序列(凡可自己起名字的地方都为标识符【如:类名、变量名、方法名、接口名、包名】)变量名、方法名:多单词组成时,第一个单词首字母小写,第二个开始每个单词首字母大写:xxxYyyZzz。注:当byte、char、short三种类型的变量做运算时,结果为int类型。类名、接口名:多单词组成时,所有单词首字母大写:XxxYyyZzz。2、 变量都应以在其作用域内。

2024-03-11 20:41:40 807

原创 Java语言概述基本知识点

JDK=JRE+Java的开发工具(java.exe,javac.exe,javadoc.exe)path环境变量:Windows操作系统执行命令时所要搜寻的路径。保证在任何文件路径下都可以执行Java的开发工具。.java 下划线内容与创建java文件名一致。创建java文件:hello.java。JDK包含JRE,JRE包含JVM。JRE=JVM+Java核心类库。下划线内容与类名一致。

2024-03-07 17:14:40 347 6

原创 Java语言概述

java基础

2024-03-07 16:43:38 372 1

空空如也

空空如也

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

TA关注的人

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