自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (16)
  • 收藏
  • 关注

原创 数据结构定义

数据结构定义

2022-08-14 22:23:04 351 1

原创 二叉排序树的建立与遍历

二叉排序树的建立与遍历

2022-08-12 11:56:03 227

原创 Ardupilot中添加参数并在地面站显示

第二步 修改Parameters.h文件第三步 修改Parameters.cpp文件第四步 修改config.h文件

2022-06-25 09:17:31 508 2

原创 Ardupilot笔记:自定义LOG输出

在调试的过程中,如果想知道自己定义的一个变量的数据是如何变化的该怎么办呢?1、log.cpp中自定义结构体struct PACKED log_Data_SXC { LOG_PACKET_HEADER; uint64_t time_us; float PN; float PE;};2、log.cpp中编写自定义结构体赋值函数void Rover::Log_Write_Data_SXC(){ Vector2f posNE1; AP::ah

2021-09-20 17:20:08 400 1

原创 Ardupilot源码笔记:实现添加新的导航控制算法

APM中使用的导航控制算法为LI控制算法,其具体的实现如下图所示:乏了,后面再写

2021-03-26 19:21:15 400 3

原创 Ardupilot笔记:各类之间的调用关系

2021-03-18 16:55:32 171

原创 Ardupilot笔记:Rover auto模式下的执行流程

先从mode_auto.cpp的update()开始分析。进入函数update()后会执行函数navigate_to_waypoint()。mode_auto.cppvoid ModeAuto::update(){ // update navigation controller navigate_to_waypoint();}mode.cppvoid Mode::navigate_to_waypoint(){ // update navigation control

2021-03-13 16:06:33 1068 3

原创 APM L1航迹控制算法实现

主要为了得到转向加速度a,a=2VVsinη/L1APM中对L1进行了优化,L1=L1_PL1_DV/π,2用K=4ζζ代替。// update L1 control for waypoint navigation 使用了大量的向量运算void AP_L1_Control::update_waypoint(const struct Location &prev_WP, const struct Location &next_WP, float dist_min){ //gcs().

2021-03-12 16:22:01 1222

原创 Auto模式下的log输出

mode_auto.cpp#include "mode.h"#include "Rover.h"#define AUTO_GUIDED_SEND_TARGET_MS 1000bool ModeAuto::_enter(){ gcs().send_text(MAV_SEVERITY_NOTICE, "Run:mode_auto.cpp-->ModeAuto::_enter()"); // fail to enter auto if no mission commands

2021-03-02 16:01:08 425

原创 ROS实现串口通信

虚拟串口的搭建参考Linux下添加虚拟串口,接收和发送数据com.py文件代码如下:#! /usr/bin/env python#coding=utf-8import ptyimport osimport selectdef mkpty(): # master1, slave = pty.openpty() slaveName1 = os.ttyname(slave) master2, slave = pty.openpty() slaveNam

2020-10-18 21:23:51 2115

原创 ROS之tf空间坐标广播与监听

坐标广播#!/usr/bin/env python# -*- coding: utf-8 -*-import roslibroslib.load_manifest('test')import rospyimport tfimport turtlesim.msgdef turtle_pose(msg, turtlename):#回调函数 print msg.x, msg.y br = tf.TransformBroadcaster() # 将位置信息打包广播到wor

2020-10-16 09:42:58 604 3

原创 ROS服务数据自定义

服务数据的定义与话题数据大部分相同,唯一要注意的一处是在CMakeLists.txt文件中,服务数据的定义应为:add_service_files(FILES man.srv)服务端#!/usr/bin/env python# -*- coding: utf-8 -*-import time, threadimport rospyfrom geometry_msgs.msg import Twistfrom test.srv import man,manResponse,manReques

2020-10-14 15:58:23 209

原创 ROS服务端与客户端

服务端#!/usr/bin/env python# -*- coding: utf-8 -*-import time, threadimport rospyfrom geometry_msgs.msg import Twistfrom std_srvs.srv import Trigger, TriggerResponsepubcommand = Falsetpub = rospy.Publisher('/turtle1/cmd_vel', Twist, queue_size=10)

2020-10-14 15:01:43 353

原创 ROS话题发布与订阅

话题发布#!/usr/bin/env pythonimport rospyfrom geometry_msgs.msg import Twistdef velocity_publisher(): # ROS节点初始化 #anonymous=True,表示后面定义相同的node名字时候,按照序号进行排列 rospy.init_node('velocity_publisher',anonymous=True) # 创建一个Publisher,发布名为/turtle1/cmd

2020-10-13 18:22:16 441

原创 ROS编写自己的msg(Python实现)

#!/usr/bin/env pythonimport rospyfrom test.msg import Person#Person.msg文件在test/msg文件夹下#需在工程根文件夹下面运行,否则会报错,同时要设置可运行def people_publisher(): rospy.init_node('People',anonymous=True) people_pub=rospy.Publisher('/mymsg',Person,queue_size=10) r

2020-10-13 18:15:08 1092

原创 ROS命令行工具的使用

以小海龟为例启动ROS Masterroscore启动小海龟仿真器 (运行一个节点需重新打开一个终端)rosrun turtlesim turtlesim_node#rosrun+功能包名+节点名启动海龟键盘控制节点rosrun turtlesim turtle_teleop_key基于qt的可视化工具命令–rqt_graphrqt_graph/teleop_tutle:键盘控制节点/turtlesim:小海龟仿真器节点/turtle/cmd_vel:一个话题显示ros系统相

2020-10-13 16:01:56 565

原创 ROS基本操作命令

创建工作空间工作空间是一个存放工程开发相关文件的文件夹。包括代码空间src、编译空间build、开发空间devel、安装空间install。代码空间src: 放置工程代码。mkdir catkin_ws#创建catkin_ws文件夹cd catkin_ws#进入catkin_ws文件夹mkdir src#创建src文件夹cd src#进入src文件夹catkin_init_wokespace#初始化src文件夹为工作空间 catkin_ws/src下新增一个CMakeLists.txt文件

2020-10-11 11:21:39 509

原创 广义特征向量计算方法

代数重数与几何重数(对于单个特征值而言)代数重数:相同特征值的个数。几何重数:特征子空间的维数为几何重数,因为空间是几何里的概念,rank(λI−A)=n−αrank(λI-A)=n-αrank(λI−A)=n−α中的ααα值,几何重数 ≤ 代数重数。在几何重数 = 代数重数时,A可以变换为对角阵,但两者不相同时,A只可以变换为约当阵,这里就需要使用广义特征向量。广义特征向量计算rank(λI−A)=n−αrank(λI-A)=n-αrank(λI−A)=n−α,代数重数为kkk,则对于λλλ这个

2020-10-06 14:49:12 24528 4

原创 直流电机建模及仿真

电路方程电枢回路的电压平衡方程式:U=E+I∗Ra U=E+I*Ra U=E+I∗RaUUU----------电动机的电枢电压(V)EEE----------电枢绕组的感应电势(V)III-----------电枢电流(A)RaRaRa--------电枢回路总电阻(Ω)直流电机的电枢电势方程式:E=CeϕnE=C_{e}\phi nE=Ce​ϕnCeC_{e}Ce​-------电势常数:Ce=pN60aC_{e}=\cfrac{pN}{60a}Ce​=60apN​pp

2020-09-22 20:34:52 6251

原创 三相交流电机中的坐标变换

由于异步电动机三相原始动态模型相当复杂,分解和求解这组非线性方程十分困难,在实际应用中必须予以简化,简化的基本思路就是将复杂的问题分解成一个一个简单易处理的问题,将复杂的三相坐标系转换成易理解的两相坐标系。其关键点就是将需要控制的三个量变换成两个量,控制这两个量的效果和控制原来的三个量的效果相同。即ABC坐标转换到α-β静止坐标或d-q同步旋转坐标。ABC坐标下ABC为三相坐标系下,三相电压的大小是随时间变化的正弦波形,相位依次相差120°,如下图所示:Clark变换α-β静止坐标系下,αβ的大小

2020-09-20 16:48:09 4905 1

原创 电机相关物理公式及知识点

转矩公式 :T=F∗rT=F*rT=F∗r转矩=扭力*作用半径电机功率:P=F∗VP=F*VP=F∗V功率=力*速度转动惯量: J=∫mr2dmJ=∫ mr ^2 dmJ=∫mr2dm转动惯量是表征刚体转动惯性大小、衡量刚体抵抗旋转运动的惯性的物理量。转矩和转动惯量关系:T=J∗wT=J*wT=J∗w转矩=转动惯量*角加速度...

2020-09-19 20:16:17 5249

原创 Java实现深度神经网络:ReLU层

使用Java实现/** * ReLU层 * * @author xiaocheng * */public class ReLU { public ReLU() { } public double[] out(double[] x) { double[] out = new double[x.length]; for (int i = 0; i < x.length; i++) { out[i] = ReLUF(x[i]); } return out;

2020-09-18 20:48:18 338

原创 Java实现深度神经网络:PReLU层

使用Java实现/** * PReLU层 * * @author xiaocheng * */public class PReLU { public PReLU() { } public double[] out(double[] x) { double[] out = new double[x.length]; for (int i = 0; i < x.length; i++) { out[i] = PReLUF(x[i]); } return ou

2020-09-18 20:42:39 195

原创 Pytorch笔记:卷积层的相关知识点

实验代码import torchimport torch.nn as nnimport torch.nn.functional as F#h/w = (h/w - kennel_size + 2padding) / stride + 1 卷积计算x = torch.randn(2, 3, 7, 6) # batch, channel , height , widthm = nn.Conv2d(3, 1, (3, 2), (2,1)) # in_channel, out_channel ,ke.

2020-09-18 18:55:01 257

原创 Java实现深度神经网络:BatchNorm2d层

使用Java实现/** * 归一化 对一张图的归一化 * * @author SXC 2020年9月11日 下午2:00:15 */public class BatchNorm2d { double weight = 0.5653, bias = 0; public BatchNorm2d(int num_features) { } public double mean(double[] x) { double meanvalue = 0; for (int i = 0;

2020-09-11 14:36:28 139

原创 Java实现深度神经网络:Sigmoid层

Java实现深度神经网络:Sigmoid层使用Java实现Sigmoid.java/** * Sigmoid层 * * @author SXC 2020年9月11日 下午12:56:31 */public class Sigmoid { public Sigmoid() { } public double[] out(double[] x) { double[] out = new double[x.length]; for (int i = 0; i < x.le

2020-09-11 13:24:21 823

原创 Java实现深度神经网络:Linear层

Java实现深度神经网络:Linear层使用Java实现Linear .java/** * Linear 层 * @author SXC 2020年9月11日 上午10:39:35 */public class Linear {// out_features个神经元 double[][] weight;// 每行为一个神经元的weight double[] bias; int in_features, out_features; public Linear(int in_featur

2020-09-11 12:49:20 423

原创 Python:操作Excel表格

Python:操作Excel表格读操作:import xlrdf = xlrd.open_workbook('F:\\pythontest\\test.xlsx')#打开excel表sheet1 = f.sheets()[0]#读取excel文件中的第0个sheet,也就是sheet1sheet1.row_values(0)#对每一行的值进行操作sheet1.row(0)#第1行中每个单元格的类型+值#xlrd中cell(x,y)的类型分类 空:0,字符串:1,数字:2,日期:3,布尔:4,e

2020-09-10 20:12:14 102

原创 Pytorch笔记:风格迁移

Pytorch笔记:风格迁移训练模型:风格迁移网络+VGG16网络生成网络:风格迁移网络代码如下(根据陈云《深度学习框架:Pytorch入门与实践》的代码改动)main.pyimport torch as timport cv2 as cvimport torchvision as tvimport torchnet as tntfrom torch.utils import datafrom transformer_net import TransformerNetimport ut

2020-09-07 21:57:26 490

原创 Pytorch笔记:使用DCGAN生成人脸

Pytorch笔记:使用DCGAN生成人脸代码如下:train.pyimport argparseimport torchimport torchvisionimport torchvision.utils as vutilsimport torch.nn as nnfrom random import randintfrom model import NetD, NetGparser = argparse.ArgumentParser()parser.add_argument('-

2020-09-05 22:42:35 1225 2

原创 opencv实现人脸检测(Java实现)

opencv实现人脸检测(Java实现)/** * 人脸识别功能(抄袭DEMO) * @author SXC * 2020年7月2日 下午11:23:26 */import org.opencv.core.Core;import org.opencv.core.Mat;import org.opencv.core.MatOfRect;import org.opencv.core.Point;import org.opencv.core.Rect;import org.opencv.c

2020-09-04 22:50:02 756

原创 Pytorch笔记:自编码

import torchimport cv2 as cvimport torch.nn as nndef gettensor(s): scr = cv.imread(s) #print(scr.shape) c = torch.from_numpy(scr)/1.00 c=c.reshape(100*143*3) return c#print(gettensor().shape)def getimg(x,i): x=x.reshape(143,1

2020-08-31 23:08:01 200

原创 Pytorch笔记:RNN 循环神经网络 (回归)

Pytorch笔记:RNN 循环神经网络 (回归)import torchfrom torch import nnimport numpy as npimport matplotlib.pyplot as plt# torch.manual_seed(1) # reproducible# Hyper ParametersTIME_STEP = 10 # rnn time stepINPUT_SIZE = 1 # rnn input sizeLR = 0.02

2020-08-29 11:06:18 835 1

原创 Pytorch笔记:通过训练好的文件建立神经网络

Pytorch笔记:通过训练好的文件建立神经网络import torchimport numpy as npimport torch.nn.functional as Fx=torch.Tensor([[1,1],[1,0],[0,1],[0,0]])#训练数据y=torch.Tensor([[1],[0],[0],[1]])#标签#print(y)#搭建cnn的快速方法net=torch.nn.Sequential( torch.nn.Linear(2,10), torch

2020-08-27 20:41:30 134

原创 Pytorch笔记:通过快速搭建法建立深度神经网络cnn

Pytorch笔记:通过快速搭建法建立深度神经网络cnnimport torchimport numpy as npimport torch.nn.functional as Fx=torch.Tensor([[1,1],[1,0],[0,1],[0,0]])#训练数据y=torch.Tensor([[1],[0],[0],[1]])#标签#print(y)#搭建cnn的快速方法net=torch.nn.Sequential( torch.nn.Linear(2,10), t

2020-08-27 20:19:43 348

原创 Pytorch笔记:建立深度神经网络cnn

Pytorch笔记建立深度神经网络cnnimport torchimport numpy as npimport torch.nn.functional as Fx=torch.Tensor([[1,1],[1,0],[0,1],[0,0]])#训练数据y=torch.Tensor([[1],[0],[0],[1]])#标签#print(y)class network(torch.nn.Module): def __init__(self,in_num,hidden_num,out_

2020-08-27 19:59:44 431

原创 神经网络,多输入多输出

神经网络,多输入多输出单个神经元类/** * 单个神经元 * * @author SXC 2020年8月13日 下午9:48:19 */public class Neurons { ThreeNeurons tN; double input[]; double inputandoutput[]; double weight[];// 包含一个偏置的权重,数量比输入大一个 private double nowoutput; private double ez;// e误差对z中间输

2020-08-19 20:42:24 11227 2

原创 多层神经网络代码实现

多层神经网络单个神经元类/** * 单个神经元 * * @author SXC 2020年8月13日 下午9:48:19 */public class Neurons { ThreeNeurons tN; double input[]; double inputandoutput[]; double weight[];// 包含一个偏置的权重,数量比输入大一个 private double nowoutput; private double ez;// e误差对z中间输出的导数

2020-08-19 15:09:51 629

原创 Java通过jxl.jar写入Excel数据

Java通过jxl.jar写入Excel数据,代码如下:import java.io.File;import java.io.IOException;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;public class ReadExcel { public static void main(String[] args) { try { readE

2020-07-26 15:38:12 424

原创 Java通过jxl.jar读取Excel数据

java读取Excel数据,代码如下:import java.io.File;import java.io.IOException;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;public class ReadExcel { public static void main(String[] args) { try { readExce

2020-07-26 15:24:13 293

crc_encode.m

matlab实现飞控使用的MAVLINK协议中的CRC-16/MCRF4XX校验 ,本文件计算传输数据内容的校验码

2021-08-16

Hungarian算法实现无人机编队切换.zip

Hungarian算法实现无人机编队切换,主要为matlab代码,F队形到Z队形的切换,可以动态实时查看切换过程。

2021-06-17

深度学习风格迁移马赛克化

训练时间10小时,完成6万张图片输入训练,模型名字中数字为读取多少张图片后生成的模型,文件夹内图片为该模型的风格,该方法一个模型只能实现一个风格

2020-09-07

haarcascades.rar

官方人脸检测模型,文件为xml文件,可用于人脸检测,人脸定位,方便后续裁剪等操作,生成自己的数据集,仅在opencv中使用

2020-09-04

jxl-2.6.12.zip

jxl是java操作Excel的一个工具类,同样的工具类还有apache的poi,这个工具类我没用过,用了jxl就够了,jxl在进行数据量较大的工作中性能较强于poi,但是在样式上逊色于poi,可以完成基本操作

2020-07-26

安卓中搭建使用opencv实例

安卓中搭建使用opencv环境实例,实现图像的读取、二值化、灰度图、边缘、复古等简单功能,无需下载opencvmanager.apk

2020-07-25

jfreechart-1.0.1.zip java画线

JFreeChart主要用来各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等,本资源包括必备的三个库文件包jcommon-1.0.0.jar jfreechart-1.0.1.jar gnujaxp.jar

2020-07-05

Java实现二维码QRCode的编码和解码

Java也可以实现二维码的解码和编码,现用Java实现二维码中QRCode的编码和解码

2018-06-02

JAVA串口完整代码

用JAVA编写的串口完整代码,使用了RXTXcomm.jar包进行开发,能进行数据的发送与接收

2018-06-01

G402鼠标宏驱动

G402鼠标宏驱动,在下载前请看下你所需的鼠标驱动型号

2018-05-28

Virtual Serial Port Driver虚拟串口vspd

如果你的电脑没有串口,或串口不够用,可以使用这个工具来添加任何的端口号,可用于软件调试。

2018-05-28

JAVA串口程序源码

JAVA串口程序源码,可以通过串口进行数据的发送与接收

2018-05-28

兼容win7的64位系统RS232驱动

兼容win7的64位系统RS232驱动,可以使用于串口通信软件

2018-05-24

YH_XDS100V1使用说明和安装指导

YH_XDS100V1使用说明和安装指导,主要为DSP开发板的仿真器使用安装

2018-05-24

F28335PCB - 引脚标注

DSP TMS320F28335的开发板PCB图,引脚标注图,详细标注

2018-05-24

DSP tms320f28335开发板原理图

DSP tms320f28335开发板原理图,包括GPIO口分布、蜂鸣器、D/A、LED、按键

2018-05-24

空空如也

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

TA关注的人

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