opencv学习
OpenCV轮廓相关操作 C++_opencv hierarchyc++_cold暖的博客-CSDN博客
图像处理马老师写的文档超级详细
vscode使用
cmake
cmake常用命令
123456789101112131415161718cmake_minimum_required(VERSION 3.15)//用于指示最低cmake的版本project(demo)set(OpenCV_DIR /home/xing/opencv-4.5.3/build)//将4.5.3的路径添加到opencvdir中,以便于下面的findpackage进行搜索# find_package(OpenCV REQUIRED)find_package(OpenCV 4.5.3 REQUIRED)#添加头文件include_directories(${OpenCV_INCLUDE_DIRS})add_executable(zuoye ${PROJECT_SOURCE_DIR}/zuoye.cpp)#链接库文件target_link_libraries...
ros
ros1
ros命名空间
由浅到深理解ROS(3)-命名空间 - jason来自星星 - 博客园
ros2
名词解释
abi
是二进制接口
详细讲解
api
是编程的接口
cli
命令行界面(Command Line Interface)
tui
终端用户界面(Terminal User Interface)
也就是在cli的基础上添加了点图形化的东西,更好看
colcon
可以理解成ros1中的catkin,编译的工具
oop
面向对象编程
也就是说在写程序前,要先想好些什么类,生成一个什么样的对象,这个对象需要什么功能,有什么作用。把这些需求集中在类中
pop
面向过程编程
需要啥功能写啥函数
基础知识
python
ros2中面向过程编程
1234567891011import rclpyfrom rclpy.node import Nodedef main(args=None): rclpy.init(args=args) node=Node("li4") node.get_logger().in...
ubuntu小知识
ubuntu 进入 recovery mode_ubuntu recovery mode_Mr. Sun_的博客-CSDN博客resume: 退出 recovery 模式,然后正常启动;
clean: 尝试清理垃圾文件,腾出更多的空间;
dpkg: 修复损坏的包;
fsck: 检查所有文件系统;
grub: 更新 grub 的启动载入器;
network: 启动网络;
root: 进入命令行模式;
system-summary: 系统概览,查看电脑的基本信息;
坐标系转换
关于旋转矩阵的左乘与右乘问题_旋转矩阵左乘和右乘的区别_希望coding不秃头的博客-CSDN博客
传统计算机视觉学习笔记
PnP解算及SolvePnp用法_opencv pnp_寒韩Glory的博客-CSDN博客
pnp数学原理
pnp(Perspective-n-Point
四种解决算法(DLT、P3P、EPnP、BA)
DLT
P3P:P3P问题是已知三个3D目标点与其2D投影之间的对应关系,来确定标定相机的位姿问题。
EPnP
BA
旋转方式
左手系与右手系 图片理解_左手系和右手系的区别_一骑红尘荔枝来的博客-CSDN博客
slam学习——旋转向量、旋转矩阵、欧拉角、四元素的概念和运用_前途似海_来日方长的博客-CSDN博客
旋转向量
旋转矩阵
欧拉角
四元数
旋转
对于右手系,逆时针旋转是正向。
像素坐标系到相机坐标系
目的是获取相机中目标物体到相机的距离(在这里就是平移矩阵
这里的像素坐标系和图像坐标系,只是涉及到二维平面的平移,像素坐标系是以右上角为(0,0),图像坐标系是以图片的中间为(0,0)
阅读了官方文档之后...
感知规划决策
自动驾驶
自动驾驶综述|定位、感知、规划常见算法汇总
简单的将自动驾驶分成感知规划控制
SLAM | 激光SLAM中开源算法对比-CSDN博客
感知:
建图
fast-lio
Cartographer
SLAM | 激光SLAM中开源算法对比-CSDN博客
定位
amcl
规划:
Navigation–导航算法(局部视野导航)–DWA、TAB_majingming123的博客-CSDN博客
这方面的优化主要有两个方向一个是基于图优化
导航
基本上就是nav1或者nav2然后在这个框架下调用算法
全局规划:
Dijkstra算法、A算法_dijkstra算法和a算法_Jason.Li_0012的博客-CSDN博客、
自动驾驶 | 路径规划算法Dijkstra与A*_3D视觉工坊的博客-CSDN博客
a*还有迪杰斯特拉
局部规划:
teb和dwa
决策
控制:
决策系统负责
定位
定位这块,市面上的主要是基于gps,但是由于有一些道路信号不好,比如峡谷,荒郊野岭。主流的有三种定位方式:激光雷达,相机,激光雷达加相机
激光雷达的缺点...
电脑调试
小电脑的选择
11代nuc
盘一盘NVIDIA Jetson家族的前浪和后浪!
入门级nano
中级AGX Xavier 作为现在AI计算的扛把子
超高级Jetson TX2
高级Xavier NX
算力性能区别
英特尔的NUC迷你电脑有什么特点?NUC适合什么样的用户群(黑苹果)?
由于nuc用的是英特尔的集显,所以没有办法使用cuda
各种机器性能参数比较
ssh远程连接
如何判断网线是否连上
1.直接看ui,
2.通过ifconfig
主要看网卡那一栏,如果没有具体的ipv4地址那一般就是没有连接上
这是一个网络接口的信息列表,通常用于诊断和配置网络连接。以下是每个接口的意思和说明:
enp57s0:
flags=4099:表示接口的状态标志。这个接口是启用的(UP),可以广播数据(BROADCAST),支持多播(MULTICAST)。
mtu 1500:表示最大传输单元,即可以在一次数据包中传输的最大字节数。
ether c8:7f:54:ca:bf:31:表示接口的物理地址(MAC地址)。
txqueuelen 1000...
2-2模块使用以及cubemx配置
00:03:14.621
会用到i2c的发送函数 需要初始化引脚
需要使用stm32cubemx进行引脚初始化
相机学习
后续学习使用视觉slam十四讲.pdf用了都说好
相机学习
相机基本工作原理
camera理论基础和工作原理_weixin_30316097的博客-CSDN博客
(干货) |机器视觉不可不知的相机内部工作原理_智能算法的博客-CSDN博客
【Camera基础(一)】Camera摄像头工作原理及整机架构_camera架构_邢仕冲的一亩三分地的博客-CSDN博客
结构
感光元件
也就是光线照射到,成像的位置。以前的胶片相机的感光原件是银盐,也就是胶片。
现在的数码相机是cmos或者ccd。这个感光元件把光线信息记录下来保存,数码相机这里涉及到模数转换。
模数转换的意思就是将模拟信号转换成数字信号。
模拟信号就是直接采集出来的信号,数字信号是用于给电子元器件进行处理的信号。
对于计算机来说,2进制,01便于计算机记录处理数据,
模拟信号和数字信号的区别和特点_数字信号与模拟信号的区别_高原低谷的博客-CSDN博客
cmos
CMOS Image Sensor原理简述
Complementary Metal-Oxide Semiconductor
中...
qt优化
Qt 自定义标题栏,最小化、最大化、关闭窗口,双击最大化,鼠标拖动等效果实现_qt自定义标题栏_wang_chao118的博客-CSDN博客
目标是弄成这个样子
我的第一版ui
我的第二版
此处为语雀卡片,点击链接查看
难点在于界面的切换
https://github.com/mouming233/qt/tree/nihao
详情见我的github
时间节点
5月12日能够初步实现多级界面和视频嵌入的功能
多级界面
Qt之多界面切换编程_qt多界面编程_七 六 伍的博客-CSDN博客
能够做到显示多级界面
此处为语雀卡片,点击链接查看
1234567void MainWindow::on_pushButton_2_clicked(){ Server *gui1=new Server; gui1->show(); this->hide();}
外部程序ui嵌入qt程序
QT 如何把外部程序嵌入到QT界面_qt 嵌入其他程序_hellokandy的博客-CSDN博客
Qt源码解...
分区赛技术报告 上机开发
1.程序基本功能
上位机调度软件包含与导航功能包的socket通信实现、轻舟机器人坐标的显示、初始等待区、装货区、卸货区位置发送命令按钮、摄像头图像显示视觉识别效果,同时将视觉识别的图片进行标注,然后传回上位机。此外还可以直接从文件中加载目标点坐标,不必每次都手动输入即可实现通过上位机下发目标点,调度轻舟机器人去往指定位置,且会实时显示下位机位置,并对于目标点的到达信息以彩色字体高亮显示,使目标点切换更加迅速及时。
1.技术任务要求
上位机开发工具不做限制
视频回显视觉识别效果
显示实时画面和侦察情况
2.运行环境
2.1服务端
小车作为服务端
使用python编写Server用于接收
2.2客户端
选择windows作为服务端,因为有多个小车
使用qt5作为软件的集成开发环境
兼有python3.7写的python程序作为外部调用
3.流程分析
3.1功能分析
客户端
出于便于控制小车,以及考虑小车重启会出现问题,断联重连是否便于连接之类的问题,考虑将线上赛的服务端(windows端)改成客户端。
上位机程序可以查看视...