当前位置: 首页 > news >正文

空地协同智能消防系统——无人机、小车协同

1 题目

1.1 任务

设计一个由四旋翼无人机及消防车构成的空地协同智能消防系统。无人机上安装垂直向下的激光笔,用于指示巡逻航迹。巡防区域为40dm×48dm。无人机巡逻时可覆盖地面8dm宽度区域。以缩短完成全覆盖巡逻时间为原则,无人机按照规划航线巡逻。发现火情后立即采取初步消防措施,并将火源地点位置信息发给消防车,使其前往熄灭火源。空地协同巡逻及消防工作完成时间越短越好。

在这里插入图片描述

1.2 任务点

1、基本要求(50分)

  • (1)参赛队需自制模拟火源。模拟火源是用电池供电的红色光源,如LED等,用激光笔持续照射可控制开启或关闭:持续照射2秒左右开启,再持续照射2秒左右关闭。(5分)
  • (2)展示规划的巡逻航线图,在消防车上按键启动无人机垂直起飞后,无
    人机以18dm左右高度,在巡防区域按规划的航线完成全覆盖巡逻。(22分)
  • (3)无人机与消防车之间采用无线通信;巡逻期间无人机每秒向消防车发
    送1次位置坐标信息,消防车上显示器实时更新显示无人机位置坐标信息。(8分)
  • (4)巡逻中,消防车显示器显示巡逻航迹曲线,计算并显示累计巡逻航程。(8分)
  • (5)完成巡逻后,无人机返回,准确降落在起飞区域内。(7分)

2、发挥部分(50分)

  • (1)手动操作激光笔点亮-一个火源。在消防车上启动无人机巡逻。无人机
    按规划航线巡逻,发现火情后,前往接近火源(水平距离≤5dm)识别确认,再在无人机上用LED指示灯示警。(8分)
  • (2)无人机飞至火源地点上方,降低至10dm左右高度,悬停3s后抛洒灭
    火包,灭火包落在以火源点为中心、半径3dm圆形区域内;再将火源地点位置坐标发送给消防车,然后继续巡逻,完成后返航回到起飞点。(12分)
  • (3)消防车接收到火情信息,显示火源地点位置坐标后,从消防站出发前
    往火源地点,途中不得碾压街区及其边界线,在5dm距离内以激光笔光束照射模拟火源将其熄灭。(15分)
  • (4)熄灭模拟火源后消防车返回到出发区域内。发挥部分限时360s内完成。(10分)
  • (5)其他。(5分)

1.3 设计部分

1.3.1 模拟火源

该部分的要求如下:
模拟火源可用电池供电的红色LED等,需带向上的喇叭形遮光罩,遮光罩角度约60°左右,高度不超过10cm。可用激光笔控制其开启或关闭。
示意图如下:
在这里插入图片描述
外部遮光罩可仿照宠物防咬罩进行修改:
请添加图片描述
内部LED灯罩是为了扩大灯光面积,以便系统内图像识别系统的工作。同时为了提高小车激光跟随算法的工作效率,需要扩大光敏传感器检测区域,建议使用人体微波检测模块上的塑料透镜,以达到聚光的效果。
请添加图片描述
电路设计图:STC8最小系统板加两节1.5V干电池,一个红色LED,300Ω左右的电阻,一个光敏传感器就差不多了。
程序设计:程序中用到一个GPIO输出、ADC、定时器。

1.3.2 小车部分

该部分要求如下:
消防车要求使用 4 轮电动小车,长宽投影尺寸不大于 20cm×35cm,高度不大于 40cm;不得使用麦克纳姆轮。

1、底盘与电机:
(1)底盘:自选。
(2)电机:最好使用带编码器的金属齿轮减速点击,能够得到转速和角度,以便估测小车位置,更好地控制小车。
(3)电机驱动:H桥电机驱动模块。
(4)电池:12V高倍率锂电池组。
最好找要带有电机驱动的、编码器接口、能够降压给主控供电的小车底板,比如开山斧电机驱动模块。
请添加图片描述

2、主控芯片
(1)盘古:
如果选择TI的,盘古这块系统板开发起来还是比较顺手的,用起来Bug少。板子上有OLED驱动芯片和加速度传感器、蜂鸣器、多个按键、串口接口多。
请添加图片描述

(2)TM4C123GXL:
这块板子十分不推荐,调试接口有问题,驱动也不好打(ICDI,要安装CCS),性能也比较差,供电端口也少,写代码的时候Keil闪退无数次,硬件跑程序也容易进中断卡死。
要是有别人改过的、开发好的成品,用用还是可以的。
请添加图片描述

3、显示屏
建议使用陶晶驰的串口屏,配置方便,代码简单,能够回传字符串。
引脚:5V、GND、TXD、RXD
请添加图片描述

4、无线模块
可以使用蓝牙、WIFI、Lora等等。
无线模块建议采用有广播功能的模块,这样多机调试更加方便。
引脚:VCC(5~3.3V)、GND、TXD、RXD
请添加图片描述
今年还允许使用UWB,能够实现无人机和小车的精确定位,还能够传输数据,只要来得及开发代码,可以说是降维打击,不过价格还是比较昂贵的。

5、机器视觉和舵机
对于模拟火源的检测,有OpenMV方案和K210方案。
OpenMV模块有控制舵机的例程,可以控制激光笔关闭模拟火源,但溢价过多,可以自己DIY。

6、IMU
这个主控板上有就最好,没有就用模块化的MPU6050,不过要安装在小车中心处。

7、其他模块:
(1)灰度传感器:白光照射不同颜色的地面,反射回的光强不同,可以进行巡线等任务。
(2)激光头。
(3)…

1.3.3 无人机部分

直接购买成品化的TI无人机,主控板可以使用前面提到的主控。

2 程序设计

我主要是做小车的,因此讲一下我小车的设计方案。
小车上主控板选用TI 盘古的开发板,板载芯片为TM4C123GH6PZT7,MCU内核为ARM Cortex-M4F,MCU最大主频为80 MHz,工作电压范围1.08 V-3.63 V,RAM为32 KB,Flash大小为256 KB,EEPROM为2 KB,核心位宽为32-Bit,ADC为12 bit。
外设和内部资源需要使用串口屏、蓝牙模块/UWB模块、定时器、PWM、LED输出、按键输入(这个可以使用串口屏的按键串口信息回传事件替代)、蜂鸣器驱动。

2.1 蓝牙模块配置

本人使用的是大熊智能的双模蓝牙模块,两个蓝牙模块配对的话需要设置一主机一从机,以下蓝牙模块连接CH340模块,在电脑上使用AT命令配置两个模块。默认使用115200波特率连接。

蓝牙从机,连接无人机:

AT+NAME=DX2003-S		# 设置从机名称
AT+MASTER=01			# 设置从机工作模式
AT+BAUD=115200			# 设置波特率为115200
AT+LADDR				# 读取从机蓝牙地址,以便主机连接

+LADDR=22345000891f

蓝牙主机,连接小车:

AT+NAME=DX2003-M		# 设置主机名称
AT+MASTER=04			# 设置主机工作模式
AT+BAUD=115200			# 设置波特率为115200
AT+CONN=22345000891f	# 主机连接从机地址

连接上之后:
(1)主机显示:

IM_CONN:0		# 0代表是BLE连接上,1代表是SPP连接上

(2)从机显示:

IM_CONN:8

蓝牙断开连接命令:

AT+DSCET=1	

2.2 串口屏界面设计

串口屏使用USART HMI软件绘制界面,需要进行界面排版,字库添加,程序编译。
软件下载及学习链接:

http://mall.micromove.cn/start/download_ide.html

2.2.1 串口通信协议

1、串口屏接收:
协议为:字符串+HEX标识符
HEX标识符为:\xff\xff\xff
USART HMI软件上仿真不需要添加HEX标识符(\xff\xff\xff)。
例子:
如果是串口屏使用CH340连接电脑,则电脑上的串口工具输入(不要加空格):

t0.txt="陶晶驰电子"\xff\xff\xff
b0.txt="Hello World"\xff\xff\xff
j0.val=100\xff\xff\xff
page0.bco=WHITE\xff\xff\xff

如果是MCU串口发送数据:在2.4.2中详述。

2、串口屏发送:
(1)prints:从串口打印一个变量/常量。
(2)printh:从串口打印16进制。

2.2.2 绘图函数

主要使用的有:
(1)cirs:绘制实心圆

cirs x,y,radius,color\xff\xff\xff
cirs 160,266,6,RED\xff\xff\xff

(2)line:绘制直线

line x_start,y_start,x_end,y_end,color\xff\xff\xff
line 185,246,185,26,BLUE\xff\xff\xff

(3)插入图片

pic x,y,picid\xff\xff\xff					# picid为软件插入的ID号为x的图片
pic,123,150,0\xff\xff\xff

2.2.3 串口屏界面设计

小车能够通过蓝牙串口接收无人机传回的航点数据(协议A)和火灾位置数据(协议B),并在串口屏上显示出蓝色原点和红色六角形。

在这里插入图片描述

2.3 无人机与小车之间的通信协议设计

1、无人机通过串口发送给小车的字符串:

A,160,150,F			// 无人机航点坐标(160,150)
B,250,100,F			// 模拟火源坐标(250,100)
C,1,F				// 模拟火源ID: 1

A类表示无人机航点,F为结束标志位
B类表示无人机检测到的火源坐标,F为结束标志位。
C类表示无人机检测到的模拟火源所在的区域ID,F为结束标志位。这个协议可以不发送,直接小车通过B类协议计算模拟火源位置。

2、小车通过串口发给无人机的字符串只需要一个按键使能,使用按键输入或者串口屏的点击,通过蓝牙串口发送“TakeOff”字符串,无人机检测到就能起飞了。

2.4 小车程序设计

首先进行各个部分的初始化,然后进入while(1)循环,循环内写入大部分处理函数。中断处理函数中存放处理函数的使能位,当某些函数工作时间较长,需要在中断中使能标志位,然后在主函数main中进行处理,以免造成中断阻塞。
在这里插入图片描述

2.4.1 蓝牙串口程序

蓝牙串口程序包括串口初始化、串口发送、串口中断服务函数(串口接收)、串口数据解析等部分。

1、主函数:

#include "stdio.h"
#include <stdint.h>
#include <stdbool.h>
// ......// 全局变量
char uart4_rec_temp[50];		// 接收到暂存的字符数组
bool uart4_rec_check_flag = 0;		// 接收数据解包的标志位// ......int main(void)
{ROM_FPUEnable();//使能浮点单元ROM_FPULazyStackingEnable();//浮点延迟堆栈,减少中断响应延迟  ROM_SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN);//配置系统时钟initTime();					// 初始化滴答定时器GPIO_Init();				// LED灯初始化// ......ConfigureUART4();			// 初始化蓝牙BLE-串口4UART4_BLE_CONNECT();		// 串口4连接蓝牙// ......while(1){// ......uart4_data_check();		//串口4数据包解包// ......}
}

2、串口初始化:

// 蓝牙-串口4驱动 PC4/PC5
void ConfigureUART4(void)
{ ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);// Enable the GPIO Peripheral used by the UART.ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART4);// Enable UART0ROM_GPIOPinConfigure(GPIO_PC4_U4RX);// Configure GPIO Pins for UART mode.ROM_GPIOPinConfigure(GPIO_PC5_U4TX);ROM_GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_4 | GPIO_PIN_5);UARTConfigSetExpClk(UART4_BASE,SysCtlClockGet(),115200,(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));UARTFIFODisable(UART4_BASE);			// 使能UART4中断UARTIntEnable(UART4_BASE,UART_INT_RX);	// 使能UART4接收中断UARTIntRegister(UART4_BASE,UART4_IRQHandler);	//UART4中断地址注册IntPrioritySet(INT_UART4,USER_INT3);			//中断优先级设置USER_INT3(0最高)
}

3、串口中断服务函数:

void UART4_IRQHandler(void)		//UART4中断函数-蓝牙BLE接收中断(无人机信息发送给小车)
{uint32_t flag = UARTIntStatus(UART4_BASE,1);//获取中断标志 原始中断状态 屏蔽中断标志		UARTIntClear(UART4_BASE,flag);//清除中断标志	char ch;while(UARTCharsAvail(UART4_BASE))//判断FIFO是否还有数据		{ch = UARTCharGet(UART4_BASE);	uart4_rec_temp[temp_cnt] = ch;temp_cnt ++;}if(ch == 'F')uart4_rec_check_flag = 1;			// 接收数据解包的标志位置1if(temp_cnt >= 50)						//数组存满后清空{memset(uart4_rec_temp, 0, sizeof(uart4_rec_temp));		// 清空字符数组temp_cnt = 0;}bit_data = !bit_data;GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_5, bit_data);		//置低位点亮,保持闪烁,如果LED不闪烁了,表示程序卡死了
}

4、串口发送函数:

void UART4_SendString(const char *string)
{int len = strlen(string);while(len--){// 等待UART发送缓冲区为空while(UARTSpaceAvail(UART4_BASE) == 0);// 发送字符到UARTUARTCharPut(UART4_BASE, *string++);}
}

5、解析串口接收到的数据:
首先检测第一个数是否是“A”或“B”,然后检测字符串最后一个字符是否是“F”。接着索引字符串中的“,”,将中间的两个数字字符串拆分出来,使用atof()函数将字符串转换为浮点数。最后将获得的浮点数存入对应的变量中,或者使用调试接口输出,或使用OLED屏输出。

// 串口4数据包解包
void uart4_data_check(void)
{if(uart4_rec_check_flag == 1)		// 分析uart4_rec_temp中的数据{uart4_rec_check_flag = 0;if(uart4_rec_temp[0] == 'A')		// 是无人机XY坐标数据包{int len = strlen(uart4_rec_temp);if(uart4_rec_temp[len-1] == 'F'){char* token;token = strtok(uart4_rec_temp,",");token = strtok(NULL,",");uart4_rec_x[uav_cnt] = atof(token);token = strtok(NULL,",");uart4_rec_y[uav_cnt] = atof(token);uart4_flight_dist = uart4_flight_dist + sqrt(pow(uart4_rec_x[uav_cnt]-uart4_rec_x[uav_cnt-1],2) + pow(uart4_rec_y[uav_cnt]-uart4_rec_y[uav_cnt-1],2));printf("A-X: uart4_rec_x[%d]:%f\r\n",uav_cnt,uart4_rec_x[uav_cnt]);		// 测试printf("A-Y: uart4_rec_y[%d]:%f\r\n",uav_cnt,uart4_rec_y[uav_cnt]);		// 测试printf("A-D: uart4_flight_dist[%d]:%fm\r\n",uav_cnt,uart4_flight_dist/100);		// 测试// ......}// 处理完成后,清空uart4_rec_tempmemset(uart4_rec_temp, 0, sizeof(uart4_rec_temp));temp_cnt = 0;}else if(uart4_rec_temp[0] == 'B')		// 是火源XY坐标数据包{int len = strlen(uart4_rec_temp);if(uart4_rec_temp[len-1] == 'F'){char* token;token = strtok(uart4_rec_temp,",");token = strtok(NULL,",");uart4_fire[0] = atof(token);token = strtok(NULL,",");uart4_fire[1] = atof(token);printf("B-X: uart4_fire[0]:%f\r\n",uart4_fire[0]);		// 测试printf("B-Y: uart4_fire[1]:%f\r\n",uart4_fire[1]);		// 测试// ......}// 处理完成后,清空uart4_rec_tempmemset(uart4_rec_temp, 0, sizeof(uart4_rec_temp));temp_cnt = 0;}else{	// 没找到A/B数据包,清空uart4_rec_tempmemset(uart4_rec_temp, 0, sizeof(uart4_rec_temp));temp_cnt = 0;}}
}

相关文章:

空地协同智能消防系统——无人机、小车协同

1 题目 1.1 任务 设计一个由四旋翼无人机及消防车构成的空地协同智能消防系统。无人机上安装垂直向下的激光笔&#xff0c;用于指示巡逻航迹。巡防区域为40dm48dm。无人机巡逻时可覆盖地面8dm宽度区域。以缩短完成全覆盖巡逻时间为原则&#xff0c;无人机按照规划航线巡逻。发…...

篇二十二:解释器模式:处理语言语法

篇二十二&#xff1a;"解释器模式&#xff1a;处理语言语法" 开始本篇文章之前先推荐一个好用的学习工具&#xff0c;AIRIght&#xff0c;借助于AI助手工具&#xff0c;学习事半功倍。欢迎访问&#xff1a;http://airight.fun/。 另外有2本不错的关于设计模式的资料…...

【LeetCode 75】第二十一题(1207)独一无二的出现次数

目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 用两个unordered_map来分别存放每个数字的出现次数和出现的次数这个数,有点绕,比如说有给的数组有两个1,那么第一个map存放的是(1,2),表示1这个数子出现了两次,而第二个map存放的是(2,true),表示有出现次数为2的数…...

node中使用express+mongodb实现分页查询

文章目录 引言一、分页案例二、查询方法扩展介绍1. find()2. limit()3. skip()4. populate() 总结 引言 在Web应用程序开发中&#xff0c;分页查询是必不可少的功能之一。Node.js提供了许多优秀的工具和框架来实现分页查询&#xff0c;其中最流行的框架之一就是Express。同时&…...

信创优选,国产开源。Solon v2.4.2 发布

Solon 是什么开源项目&#xff1f; 一个&#xff0c;Java 新的生态型应用开发框架。它从零开始构建&#xff0c;有自己的标准规范与开放生态&#xff08;历时五年&#xff0c;已有全球第二级别的生态规模&#xff09;。与其他框架相比&#xff0c;它解决了两个重要的痛点&…...

Java HTTP client常见库

前言 每种编程语言里最常用的库恐怕是Http请求库了&#xff0c;如python里的requests包&#xff0c;nodejs里的request模块。 在Java世界里&#xff0c;也是百花齐放&#xff0c;山头林立。常用的有&#xff1a; HttpURLConnection: 最早的JDK提供的类Java 11提供的HttpClien…...

【Java基础教程】(四十四)IO篇 · 上:File类、字节流与字符流,分析字节输出流、字节输入流、字符输出流和字符输入流的区别~

Java基础教程之IO操作 上 &#x1f539;本节学习目标1️⃣ 文件操作类&#xff1a;File2️⃣ 字节流与字符流2.1 字节输出流&#xff1a;OutputStream2.2 字节输入流&#xff1a;InputStream2.3 字符输出流&#xff1a;Writer2.4 字符输入流&#xff1a;Reader2.5 字节流与字符…...

电商数据获取:网络爬虫还是付费数据接口?

随着电商行业的迅速发展&#xff0c;对电商数据的需求也越来越大。在获取电商数据时&#xff0c;常常面临一个选择&#xff1a;是自己编写网络爬虫进行数据爬取&#xff0c;还是使用现有的付费数据接口呢&#xff1f;本文将从成本、可靠性、数据质量等多个角度进行分析&#xf…...

树形结构——二叉树类型

本文主要介绍树形结构中的二叉树类型&#xff0c;包括二叉树、平衡二叉树、二叉查找树和完全二叉树&#xff1b; 1.二叉树 二叉树是一种树形结构&#xff0c;其中每个节点最多有两个子节点&#xff0c;通常称为左子节点和右子节点。二叉树具有以下特点&#xff1a; 每个节点…...

JavaScript对象的方法与原型链

在JavaScript中&#xff0c;对象是一种非常重要的数据类型&#xff0c;它允许我们将多个属性和方法组织在一起。对象的方法和原型链是理解JavaScript中面向对象编程的关键概念。本文将详细讲解对象的方法和原型链&#xff0c;用通俗易懂的方式帮助你深入理解这些概念。 1. 对象…...

Oracle入门初探---第一章 批量创建表、索引并插入测试数据

Oracle系列文章目录 第一章 批量创建表并插入测试数据 文章目录 Oracle系列文章目录前言一、创建表和索引二、向表中加入数据总结 前言 使用数据库&#xff0c;首先要向数据库中加入大量数据&#xff0c;本篇文章提供了一些测试数据 一、创建表和索引 -- 创建数据库和索引 -…...

全面讲解最小二乘法

常见的最小二乘法我们就不多说了&#xff0c;下面主要介绍一下最小二乘法的一些先进方法。 正则化的最小二乘法 在使用常见的最小二乘法进行回归分析时&#xff0c;常常会遇到过拟合的问题&#xff0c;也就是在训练数据集上表现的很好&#xff0c;但是在测试数据集上表现的很…...

【阻止IE强制跳转到Edge浏览器】

由于微软开始限制用户使用Internet Explorer浏览网站&#xff0c;IE浏览器打开一些网页时会自动跳转到新版Edge浏览器&#xff0c;那应该怎么禁止跳转呢&#xff1f; 1、点击电脑左下角的“搜索框”或者按一下windows键。 2、输入“internet”&#xff0c;点击【Internet选项…...

C++/Linux项目——日志系统(简介)

一&#xff0c;日志系统的目的 1.⽣产环境的产品为了保证其稳定性及安全性是不允许开发⼈员附加调试器去排查问题&#xff0c; 可以借助⽇志系统来打印⼀些⽇志帮助开发⼈员解决问题 2.上线客⼾端的产品出现bug⽆法复现并解决&#xff0c; 可以借助⽇志系统打印⽇志并上传到服…...

【Redis面试题整理一】

一、Redis定义 Redis 是一种基于内存的数据库&#xff0c;对数据的读写操作都是在内存中完成&#xff0c;读写速度非常快&#xff0c;被广泛应用于缓存方向。并且&#xff0c;Redis 存储的是 KV 键值对数据。 二、Redis为什么不存在并发竞争 对数据类型的操作都是原子性的&a…...

前端权限验证之自定义指令v-permission

自定义指令 在前端处理按钮权限详细代码 在前端处理按钮权限 使用vue自定义指令来v-permission 来控制按钮 详细代码 //index.js文件 import permission from ./permissionconst install function(Vue) {Vue.directive(permission, permission) }if (window.Vue) {window[p…...

c++使用条件变量实现生产消费问题(跨平台)

1. 生产者线程 思路&#xff1a;队列满了的情况下, 触发条件变量wait, 等待消费线程消费后唤醒继续生产. void ProducerThreadFunc() {while(1) { while(/* 容器已满 */) { /* 线程等待, 直到消费者消费后唤醒继续执行 */ }/* 生产动作 */ } }2. 消…...

怎么快速搭建BI?奥威BI系统做出了表率

搭建BI系统有两大关键&#xff0c;分别是环境搭建和数仓建设。这两点不管是哪一个都相当地费时费力&#xff0c;那要怎么才能快速搭建BI平台&#xff0c;顺利实现全企业数字化运营决策&#xff1f;奥威BI系统方案&#xff0c;你值得拥有&#xff01; 奥威BI系统方案&#xff0…...

Kafka3.4 SASL/kerberos/ACL 证以及 SSL 加密连接

Kafka3.4 SASL/kerberos ACL 证以及 SSL 加密连接 序 前面我们使用 kafka3.3.1 on zookeeper 的模式进行多网段监听的 kafka 集群&#xff0c;顺便搭建起 kafkaui 后发现一些问题&#xff0c;我们 kafka 集群没有连接认证&#xff0c;万一谁知道了我们的 kafka 连接地址&…...

UE中低延时播放RTSP监控视频解决方案

第1章 方案简介 1.1 行业痛点 在各种智慧城市、智慧社区、智慧水利、智慧矿山等数字孪生项目中&#xff0c;经常使用通UE来开发三维可视化场景。在这些场景中通常都需要把现场的各种监控视频在UE的可视化场景中接入&#xff0c;主要包含海康威视、大华、宇视、华为等众多监控…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...

TCP/IP 网络编程 | 服务端 客户端的封装

设计模式 文章目录 设计模式一、socket.h 接口&#xff08;interface&#xff09;二、socket.cpp 实现&#xff08;implementation&#xff09;三、server.cpp 使用封装&#xff08;main 函数&#xff09;四、client.cpp 使用封装&#xff08;main 函数&#xff09;五、退出方法…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...

Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目

应用场景&#xff1a; 1、常规某个机器被钓鱼后门攻击后&#xff0c;我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后&#xff0c;我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...