自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

joyopirate的博客

用Qt,就够了。

  • 博客(216)
  • 资源 (3)
  • 收藏
  • 关注

原创 Windows下发布Qt5.12.3的qml程序

Windows下发布Qt5.12.3的qml程序

2019-06-10 21:13:37 825 1

原创 将机械手与CodeSys中的运动学模型绑定

最近搞到了一台工业机械手,虽然这个机械手有自己的控制程序,但是我们还是想用CodeSys来进行运动控制,测试一下它的运动控制功能是否可用。下面介绍一下如何将CodeSys中的运动学模型与现实的机械手进行绑定(映射、对应,使用你喜欢的术语)。可能运动学模型有些结构一眼看上去和实际的物理机械手结构不一样,但只是距离为0而已。一定要确保能够对应上才能进行后面的操作。

2024-05-11 10:32:54 919

原创 Qt使用OPCUA

但是在Qt6之前,假如想使用这个库,还得自己编译,比较繁琐。假如想开箱即用,而且没有使用太复杂的功能的话,其实可以直接使用open62541.h、open62541.c这两个文件。假如想在Qt下使用OPCUA通讯,貌似大家都是倾向于使用。然后就可以参考官方的例程来进行开发了。

2024-04-28 14:40:09 251

原创 关于通用相机库

之前以为既然工业相机(usb3_vison,gige)使用了同样的通讯标准,那应该可以使用同样的sdk。但是事实上,并不行,不同厂家的同样通讯标准的相机,并不通用,比如,我想用Basler的Pylon打开海康威视的相机,打不开。难道说,这个GenICam协议,是软件层的协议,而不是通讯链路层的协议?这两个库,弄懂了他们的区别,应该就知道GenICam真正是个什么东西。但是,为啥会涉及各个相机的SDK?然后再翻一下它的资料。根据它的资料介绍,貌似可以支持好多相机。

2024-04-25 11:05:27 288

原创 支持GIGE及USB3 Vision工业相机的开源库:Aravis

好像是支持所有的gige以及usb3的工业相机?测试一下先。

2024-04-23 15:27:33 555

原创 树莓派使用总结

手上拿到了一块Raspberry Pi 4B板子。研究一下怎么用。

2024-04-17 13:34:17 463

原创 在win10上虚拟一个LoongOS系统(类似虚拟机)作为开发环境

loongnix社区预制系统(网站:http://pkg.loongnix.cn/loongnix/isos/Loongnix-20.3, 文件:Loongnix-20.3.mate.gui.loongarch64.cn.qcow2)。引导固件(网站:https://mirrors.wsyu.edu.cn/loongarch/archlinux/images,文件:QEMU_EFI_7.2.fd)、这样经过映射后,虚拟机里面的22端口就被映射到了本地的5678端口,因此,我们只需要通过。

2024-04-09 14:26:25 539

原创 Linux下Qt生成程序崩溃文件

Linux下程序的崩溃文件生成相对于Windows下还方便一点(Windows下还得自己保存dmp文件),可能各有千秋吧。暂时还没试过在A电脑编译程序,然后放到B电脑运行产生core文件,然后再拿回A电脑进行代码定位。有空的话得测试一下。【Linux生成core文件相关配置,core文件调试示例】【【问题记录】Ubuntu 22.04 环境下,程序报:段错误(核心已转储)怎么使用 core 文件和GDB调试器 解决?

2024-04-03 15:26:25 939

原创 CodeSys创建自定义的html5控件

可视化元素库只有在打开CodeSys软件且没有打开任何工程才看得到。

2024-03-20 18:01:28 504

原创 开发CodeSys可视化控件

这种方式好像是把系统自带的一些基础可视化控件进行排列组合、形成自己的自定义控件。然后我想利用CODESYS Installer安装这个插件,结果没有找到,目前接公司需求,需要开发一套视觉检测系统,并将其集成到codesys中。,理由是html5的控件更好、更容易使用。编程端基本是采用之前说得的C接口来实现。

2024-03-20 11:52:05 554

原创 CodeSys通过C函数接口调用Qt

假如想要在函数中使用Qt或者第三方库(比如opencv等),可以在其自动生成的makefile文件中设置好相应的参数。这样操作之后,在include对应的头文件后,就可以在函数中使用opencv、Qt了。,了解如何创建一个能够被codesys调用的动态库。1.将编译器由c改成c++2.使能opencv库。建议先查看之前的文章。

2024-03-08 14:28:57 731

原创 Codesys自定义库的帮助文档的美化

当我们在codesys中写好自己的库,并且发布给别人使用时,别人可以在库管理器中查看到我们库的帮助文档。但是codesys默认帮我们生成的文档,看起来比较简陋:看一下系统的,他的帮助文档有图、有表格、有代码示例,看起来很好看:假如我们也想做到这样子,该如何操作呢?

2024-03-06 17:40:46 806 2

原创 CodeSys中调用C语言写的动态库

假如我们需要在CodeSys的编程环境中使用我们自己的功能,比如:用第三方的IO板卡通讯、PDF文件生成、相机采集图像并处理等等一些复杂的功能,那就可以使用CodeSys提供的功能,通过C语言动态库接口来实现。这里简单记录一下如何创建能够被CodeSys识别的C语言动态库。有了这个接口,只要我们对OpenCV、相机驱动库等进行封装,然后提供对应的操作函数给接口,就可以实现PLC的视觉检测功能。完美。【CodeSys V3.5创建一个编译库】

2024-02-27 10:13:27 1473 6

原创 CODESYS的Robotics_PickAndPlace_without_Depictor例程解释

这里先介绍用到的一些关键的功能块。

2023-12-18 16:40:56 1001

原创 CODESYS学习笔记

记录一下学习CodeSys遇到的一些知识点。

2023-12-07 16:33:08 2113 4

原创 ros2_control的简单应用

在利用moveit_setup_assistant配置我们自己机械手后,当运行demo.launch.py时,会实例化一个moveit对象以及一个基于ros2_control的、虚拟的控制对象,从而可以实现一个完整的控制闭环。此基于ros2_control的虚拟对象,包含了action(server)相关的实例化、关节状态的发布、虚拟伺服电机的驱动及读取。我们也可以利用ros2_control,将我们自己的机械手与moveit连接起来,从而实现moveit对我们机械手的控制。

2023-11-13 14:56:35 661 3

原创 在Qt中解决opencv的putText函数无法绘制中文的一种解决方法

查了一些资料,说想要解决这个问题,需要用到freetype库或者用opencv5(详情请查看文末的参考资料)。那我Qt也是第三方库啊,还倒不如直接用Qt实现呢。于是,我实现了一个myPutText函数。

2023-11-02 11:24:25 1149 1

原创 RK3588使用npu运行onnx模型推理

先说总体流程,我的RK3588板子上安装了Ubuntu22.04,可以直接在上面编程1.在x86主机上安装2.使用【rknn-toolkit2】,把onnx模型转换成rknn格式的模型。3.在板子部署【rknpu2】,在程序中调用接口编程即可。

2023-10-26 15:00:19 2193 2

原创 Window10运行onnxruntime报错的处理

在Windows10使用安装好英伟达驱动、cuda、cudnn等文件,然后运行程序的时候。程序会在加载模型时崩溃。经过一番查找后,得到输出的信息是说是缺少zlibwapi.dll。这个问题是去年做的一个项目时发现的,忘记当时是怎么发现了,好像是命令行直接输出这个信息,但是现在复现不了。现在只能通过断点调试到问题出现在cudnn64_8里面。

2023-10-12 15:28:33 1045

原创 MoveIt的【Use Cartesian Path】选项及computeCartesianPath函数

在rviz中使用MoveIt时,在MotionPlanning选项卡有一个【Use Cartesian Path】的选项,勾选之后,规划出来的路径是两个移动点的直线路径。需要特别注意的是,此种方式规划出来的路径是不进行碰撞外部检测的,也就是不会避障。勾选此项以在笛卡尔(3D)空间中生成一条线性路径。此举将不考虑避开障碍物。在moveIt的c++接口中,也有对应的一条函数。

2023-10-12 09:54:45 507 8

原创 执行QCameraInfo::availableCameras()时,返回空list。

我在Ubuntu22.04(ARM架构)下面,通过下面的方式安装的qt然后再安装,qt的multimedia模块在做好前面的操作后,在代码中执行函数QCameraInfo::availableCameras()返回可用的摄像头时,返回的列表为空。但是我的确已经插了摄像头到板子,而且用第三方软件可以打开(cheese)。

2023-10-09 16:27:12 346 1

原创 micro-ROS中对消息的内存管理

但是,假如消息的成员类型为:序列类型(Sequence type)、包含序列的复合类型(Compound type)、复合序列类型(Sequences of compound types),那就需要手动申请内存空间了。当然,假如复合类型中的成员全是基本类型,那也不用手动申请。等等,那就不用额外进行内存申请的操作,因为这些基本类型在实例化时就已经明确了空间大小,系统直接帮忙分配好了内存。假如你的消息的成员类型是基本类型(Basic type)及其数组类型(Array type),比如。

2023-10-06 16:38:45 218

原创 Qt的WebEngineView加载网页时出现Error: WebGL is not supported

当我在qml中使用WebEngineView加载一个网页时,出现以下错误:其实这个问题在Qt的帮助文档中已经提及了解决办法:因此,可以按照下面的步骤操作一下:在项目的pro文件中,引入模块2.2.在main.cpp文件include相应头文件,然后执行手册中提到的三行代码:

2023-10-06 09:19:44 912

原创 linux下特定usb设备的权限设置

热成像的说明书说在linux下,系统会把这个摄像头识别成video设备,识别为/dev/video*。但是实际上我没在/dev目录下找到任video*,那也就意味着我无法直接通过 “chmod 666 /dev/video1”来更改热成像设备的权限。然而麻烦的是,在我的正式程序中,需要用到ROS2的库及环境变量一些环境变量。也就是说,不能用sudo启动我的程序,否则我的程序的ROS2部分功能无法使用。在通过lsusb命令知道了usb设备的基本信息后,如何知道它对应的是/dev或者别的地方的哪个文件节点?

2023-09-22 13:45:35 495 2

原创 在qml中将一个16进制表示的颜色加上透明度

在qml中,我们在指定控件的颜色时,可以直接通过16进制的字符串来表示,比如"#ff0000";这里提供一个函数,直接输入基础颜色以及其透明百分比,就可以返回对应的颜色。但是假如要在此颜色的基础上,加个透明度的话,就要重新计算一番,比较麻烦。这种方式也比较符合UI设计人员的使用习惯。

2023-09-15 14:01:54 262

原创 vscode的ros拓展(插件)无法渲染urdf

意思是这个拓展中的urdf渲染是由RobotWebTools来完成,可能是在安装时或者渲染时无法连接到这个RobotWebTools的网络导致的。执行 URDF Preview之后,虽然弹出了一个URDF Preview的窗口,但是这个窗口里面啥都没有。这几天有空了,到了这个拓展的github网站找一找原因,看看别人有没有遇到这个问题。只能使用最新版0.9.4了,在最新版中,他们重写了这个渲染插件。然后他好像再次确认了,是因为RobotWebTools.org这个网站挂掉了,所以无法渲染了。

2023-08-10 15:21:35 1566 8

原创 Linux下QtCreator勾选Use root user后出现error while loading shared libraries的问题

在linux下调试程序时,有时候需要取得root权限才能连接操作某些设备。之前我是通过脚本方式来进行的。但是这样有个问题,无法断点调试,出了问题,不好找问题发生的地方。但是假如你不采用脚本的方式,而是启动它默认的可执行程序+勾选Run as root user的话,它会出现error while loading shared libraries的问题。哪怕你已经设置好环境变量LD_LIBRARY_PATH了。

2023-08-08 12:55:06 666

原创 两个镜头、视野、分辨率不同的相机(rgb、红外)的视野校正

目前在做的项目用到两个摄像头,一个是普通的rgb摄像头、一个是热成像摄像头。一开始的目标是让他们像素级重合,使得点击rgb图像时,即可知道其像素对应的温度。但是在尝试的过程中,发现基本不可能。因为由于纵深、遮挡、透视变形、视差等问题,两个摄像头拍摄到的东西可能会很不一样,对不上。但是应该可以参考opencv的双目标定,做出横向对齐的效果。

2023-08-03 10:52:14 2258 9

原创 ubuntu下,在vscode中使用platformio出现 Can not find working Python 3.6+ Interpreter的问题

【代码】ubuntu下,在vscode中使用platformio出现 Can not find working Python 3.6+ Interpreter的问题。

2023-07-31 15:49:04 2660 1

原创 opencv对相机进行畸变校正,及校正前后的坐标对应

目前有个项目,需要用到热成像相机。但是这个热成像相机他的畸变比较厉害,因此需要用标定板进行标定,从而消除镜头畸变。

2023-07-24 17:36:41 4535 5

原创 stm32读写nand flash

一下这个NAND_DEVICE的定义,因为我们现在选的是bank2,而bank2是从0x70000000UL开始的,而不是0x80000000UL。不知道stm32cubeide的这个库怎么处理的,在使用FSMC来读写nand flash时,无论你选的是bank2还是bank3,默认他都是用的0x80000000UL。而且更加恶心的是,每次在IOC界面修改一些数据后,系统重新生成代码,他又会把这个stm32f4xx_hal_nand.h改回原来的0x80000000UL,也就意味着,你需要再改一次。

2023-07-15 20:56:00 2309 3

原创 Qt获取本机唯一码(UUID)

这里给出一个获取电脑的UUID的方式,可以运行在windows、linux下。它和系统的硬件相关,但是又不完全相关。在生成软件序列号时,常常需要想办法区分不同的机器,防止别人购买了一个激活码就到处可以用。但是假如利用cpu_id、mac地址等,又会遇到一些问题(相同、修改等等)。

2023-07-11 16:34:46 1887 4

原创 OpenEuler系统下Qt开发遇到的一些问题及其解决办法

先通过下面的命令找到00deepin-dde-env,然后再按照上面的教程搞。涉及mysql时,需要把libmysqlclient.so那几个一起拷贝过去。在修改完源码(屏蔽两处)后,使用类似下面的语句初始化编译步骤,然后 make make install。记得要安装其中的devlop。7.编译opencv。

2023-06-21 14:34:18 519

原创 Qt5.15.2配置Android开发环境

现在(20230617)利用QtCreator来配置android开发环境还是挺方便的。基本三步搞定(不过你要先安装好Qt)。

2023-06-17 16:55:45 2466 11

原创 在VSCode下利用PlateFormIO开发Arduino的MicroROS遇到的一些问题

我是按照鱼香ROS的教程进行的,但是在进行的过程中,遇到了一些问题,这里记录下来,供有同样问题的同学进行参考。其实只要你使用的板子的MCU是ESP32,都可以按照他这个教程进行操作。

2023-06-09 15:39:47 2419 19

原创 sw2urdf导出的urdf文件中的惯性参数(inertial)错误的问题

有时候,当我们使用solidworks建好我们的模型,然后利用。

2023-06-08 10:25:14 1597 1

原创 ROS2中,从SolidWorks导出的urdf,联合moveit、gazebo进行控制及仿真

本文是对之前发的文章【在ROS2中,通过MoveIt2控制Gazebo中的自定义机械手】的一个拓展。建议先看看之前的文章再看这个。之前的文章的机械手是一个纯urdf自带几何图像(圆柱、立方体)等组成的所谓机械手,基本没有什么实用性。在后续的文章【ROS2中用MoveIt2控制自己的舵机机械手(1)】,我这边也已经实现了控制一个实物机械手,所以当时就没拿这个机械手放到gazebo中去仿真,因为我已经有实物了嘛。

2023-06-02 11:47:34 4294 40

原创 在ROS2中使用MoveIt2时出现 [moveit_robot_state.robot_state]: No kinematics solver instantiated for group

这个launch文件使用launch_ros.actions.Node来启动前面的parameters_basic,并传递了parameters给它。关于这个问题的回答,主要的原因是需要将moveit的配置传递给MGI(moveit::planning_interface::MoveGroupInterface)节点,让其使用节点的参数。因为我们还要做一个很重要的事情,让节点自动加载传递进来的参数:automatically_declare_parameters_from_overrides。

2023-05-30 17:19:02 474

原创 在windows下使用AstraPro深度相机

其中特别注意一下,通过openni去获取彩色图是无法成功的。只能通过uvc来取得。下载的OpenNISDK里面有个samples,里面都是例程,可以参考一下。

2023-05-26 16:36:15 980

原创 MoveIt2中使用trac_ik

但是在Ros2中,无论MoveIt2也好,还是trac_ik也好,都没有提供标准的trac_ik集成(使用)方法。使用起来也挺方便。

2023-05-26 15:22:17 1352

windows下使用的Tesseract库

提供了适用于vs2017,64bit的Tesseract开发库。包含头文件、lib文件、dll文件,直接在程序中链接调用就可以。其中还包括了英文、简体中文的模型文件。 详情请查看:https://blog.csdn.net/joyopirate/article/details/109107718

2020-10-16

sysrootChange.py

制作交叉编译的rootfs时,理论上可以直接把arm板的 /文件目录下直接拷贝过来使用。但是直接拷贝过来的话,一些软连接的路径其实是不正确的。需要进行修正一下。这个脚本就是对这些软链接进行修正的。请配合这个使用:https://blog.csdn.net/qq_43248127/article/details/104077645

2020-06-24

用来配置Qt交叉编译的文件.zip

用来在linux下配置交叉编译Qt源码的配置文件。使用的是aarch64的编译器,具体使用教程请查看对应的博客。

2020-04-02

空空如也

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

TA关注的人

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