自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Ubuntu系统远程桌面安装运行记录

参考连接https://blog.csdn.net/qq_50263172/article/details/128465149。分别测试了20.04和22.04两个版本。Ubuntu系统远程桌面安装运行记录。一、widows远程。

2023-05-17 10:46:07 359

原创 机械臂姿态变换,绕当前坐标系旋转

再接再厉,勇攀高峰。

2023-04-25 14:11:28 251

原创 debian10远程ssh被拒绝

原文件默认是关闭的,需要手动打开,我这个版本还是手动添加的PermitRootLogin yes。开放22端口,允许root远程访问,Port 22,PermitRootLogin yes。查看/etc/ssh# vim sshd_config 配置文件。希望遇见问题的老铁看看,能帮助到你。

2023-04-18 15:49:05 1315

原创 go map 变量的本质是一个指针

自我激励名言:吾虽无百里之才,进一步有一步的欢喜。

2023-03-16 22:11:19 155

原创 go无法导入自定义包,使用go module

go 无法导入自定义包

2023-03-13 09:07:19 499

原创 go seelog配置文件详细解释

之前写过一篇博客,但是理解未深入,也是博取众长,今天再详细记录一遍,这个第三方库用来管理日志很方面。以下为seelog.xml的配置文件,对配置文件的使用进行了详细说明。//main函数的程序如下。...

2022-07-22 03:00:00 322

原创 工具箱使用Robotics Toolbox for MATLAB 版本 10.3.1

机械臂matlab学习一## 标题

2022-07-12 10:39:42 610 2

原创 GO grpc客户端断线重连

一、客户端代码如下:package mainimport ( "fmt" "golang.org/x/net/context" "google.golang.org/grpc" api "grpc-test/src/test" "log" "sync" "time")type client struct { receive api.DataClient}var c client = client{}func main() { var wg sync.WaitGroup

2021-12-21 17:06:26 3765

原创 go grpc 枚举使用

有不明白的地方欢迎提问交流,共同进步日积一小步,月累一大步。。。。。1 .proto文件如下syntax = "proto3"; // 协议为proto3package api; // 包名option go_package = "/;api";// 空消息message Empty {};// 简单返回结果message ResultCode { int32 code = 1;}enum PushP{ LowPush = 0; HighPush = 1;}m

2021-12-02 15:40:46 1154

原创 GO 语法糖“...“

参考地址:https://www.jb51.net/article/199309.htmpackage mainimport ( "fmt" _ "github.com/mattn/go-sqlite3")func main() { var strss= []string{ "qwr", "234", "yui", "cvbc", } test1(strss...) //切片被打散传入 strss=append(strss,strss2...) fmt.P

2021-11-26 14:36:23 89

原创 go sqlit3使用三

行索引采用字符串,不用int,修改后的数据库表和代码如下:目录结构如下package mainimport ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3")var jointNames = []string{"boom_yaw", "boom_pitch", "boom_stretch", "feed_roll", "feed_pitch", "feed_yaw", "feed_stretch", "vel_boom_y

2021-11-24 08:59:52 116

原创 go sqlit3使用二,更新数据库,并更新参数值

package mainimport ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3")var jointNames = []string{"boom_yaw", "boom_pitch", "boom_stretch", "feed_roll", "feed_pitch", "feed_yaw", "feed_stretch", "vel_boom_yaw", "vel_boom_pitch", "vel_boom_stretc

2021-11-23 21:08:06 298

原创 go sqlit3使用一

package mainimport ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3")var jointNames = []string{"boom_yaw", "boom_pitch", "boom_stretch", "feed_roll", "feed_pitch", "feed_yaw", "feed_stretch", "vel_boom_yaw", "vel_boom_pitch", "vel_boom_stretc

2021-11-23 20:29:25 2964

原创 GO 单例模式

摘录自:https://www.cnblogs.com/dracohan/p/6697899.html单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。“个人觉得比较好的在go中使用单例设计的是这种”package mainimport( "sync")type singleton s

2021-10-29 14:10:07 106

原创 go 简单工厂模式

这篇博主讲的很清晰 https://www.jianshu.com/p/95e64cc56fd9多态实现如下://main.go文件package mainimport ( "fmt" "time")//翻译接口type Translator interface { Translate(string) string}//德语翻译类type GermanTranslator struct{}func (*GermanTranslator) Translate(wo

2021-10-29 10:45:08 147

原创 GO 多态的实现

接口实现多态的方式1、定义一个接口,接口中定义一个方法,所有想要实现该接口的类型,必须先实现接口中的方法2、定义一个类型,并为该类型以接收者方式实现【步骤1】中的接口方法3、声明一个多态方法,接收的参数类型为【步骤1】中定义的接口类型4、调用该多态方法,并把【步骤2】中定义的类型作为参数传递给【步骤3】中声明的多态方法,由多态方法来调用接口方法作者:大宝_5a8e链接:https://www.jianshu.com/p/d8eae3511662来源:简书著作权归作者所有。商业转载请联系作者获

2021-10-24 16:02:05 147

原创 go seelog 初级使用

go seelog 初级使用直接上代码,撸起来1.目录结构2.配置文件seelog.xml<seelog levels="trace,debug,info,warn,error,critical"> <outputs formatid="main"> <!-- 对控制台输出的Log按级别分别用颜色显示。6种日志级别我仅分了三组颜色,如果想每个级别都用不同颜色则需要简单修改即可 --> <filter levels="

2021-10-12 18:55:15 175

原创 go grpc在两个文件中的实现

go grpc在两个文件中的实现文档结构服务端实现文件:客户端实现文件:1.创建.proto接口文件syntax = "proto3"; // 协议为proto3package api; // 包名option go_package = "/;api";// 简单返回结果message ResultCode { int32 code = 1;}//接收按键名字和bool命令message ButtonSet{ string buttonName = 1; boo

2021-10-11 20:22:06 86

原创 运动控制中的速度控制

运动控制中的速度控制本文以三臂凿岩台车为例,每条机械臂上有8个关节,控制每条机械臂的速度很重要1.对关节进行速度闭环控制速度的读取通过关节上的旋转编码器绝对位置计算出来,为了计算关节的转动速度需要注意以下事项1)传感器的位置数据上传频率应大于2倍的速度计算频率,这样才能保证计算时数据的准确性,切勿让传感器上传频率与速度计算频率一致;2)速度计算建议采用滑动窗口计算,可以计算第4次与第1次位置和速度差值,求出这段时间的平均速度,避免第4次直接减去第3次,因计算机并不能保证每次的循环时间严格一致,如

2021-09-30 09:44:54 700

原创 ‘protoc-gen-go’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 --go_out: protoc-gen-go: Plugin failed with status code

**‘protoc-gen-go’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 --go_out: protoc-gen-go: Plugin failed with status code 1.**1.win10系统,在进行从 .proto 的服务定义中生成 gRPC 客户端和服务器端的接口时候,出现下故障:C:\project\drilljumbo-control\src\api>protoc.exe --go_out=plugins=grpc:. api.proto'pro

2021-09-06 09:49:18 1760

原创 go grpc客户端与服务端连接简单使用

go grpc客户端与服务端连接简单使用1.文件目录如下:2.建立接口文件在此之前需要对grpc的使用环境进行配置,网上例程很多,不再赘述syntax = "proto3";// 定义包名option go_package = "/;test";//package test;// 可以定义多个服务,每个服务内可以定义多个接口service Waiter { // 定义接口 (结构体可以复用) // 方法 (请求消息结构体) returns (返回消息结构体) {} rpc C

2021-08-30 11:54:00 925

原创 matlab拟合多项式曲线方法

matlab拟合多项式曲线方法表格数据如下%方法一 ---------------------------------------------%多项式拟合polyfit% x=[1 2 3 4 5 6 7 8 9];% y=[9 7 6 3 -1 2 5 7 20];%从表格中读取数据 data=xlsread('ploat.xlsx'); x = xlsread('ploat.xlsx','Sheet1','A1:A10'); y = xlsread('ploat.xlsx','S

2021-08-09 15:38:52 2163

原创 2021-07-18

七月的烟雨来一场旅行如火热般炽恒梦中的姑娘啊何时再见到留有期许也是漫无边际的等待不如来一场较量生死一战的沙场不为荣誉只为内心的热浪如你所述的厌倦临时生活而那美好终将是刹那烟火心与心的眷恋比彩虹还要绚烂也许还能再等个几年但平凡的生活才是人间最真切的平淡不如再做个梦吧可终究还是一场空为了生活活着为了这不甘平庸而又无力的梦想坚持着年少曾经幻想报国而如今过好自个儿无奈啊感叹啊复杂啊...

2021-07-18 09:03:31 58

原创 go语言对每个字节的位进行操作

package mainimport ( "fmt" "github.com/imroc/biu")/** golang二进制bit位的常用操作,biu是一个转换二进制显示的库 [email protected]*/func main() { var( /** 1个字节=8个二进制位,每种数据类型占用的字节数都不一样 注意位操作千万不要越界了,如某个类型占8个bit位,偏移时候不要超过这个范围 */ a uint8=30 ) //a输出结果:00

2021-06-02 11:28:32 875

原创 go mod和grpc使用

go mod使用1.检查go.mod文件设置名字和版本一定要对应2.参考网站https://blog.csdn.net/zhangyibei2008/article/details/104672471设置好后就可以引用其他包里面的函数来

2021-05-20 21:07:03 154

原创 2021-05-15

生而为何1.病床守望2021.5.1日本人与老婆大婚,婚宴结束后连续左侧肚疼几日的侄子去郑大三附院检查,5日下午转至郑大一附院。检查过程也是一波三折,7-8次的彩超,增强CT三院和医院各一次,所谓的专家换了一波又一波,盯着屏幕看不出病因,病因还是模糊,在13号晚上9:47分开始手术,检查发现原因,切除阑尾和肿大淋巴结和…,说明医学还远没有发达到大家想象的地步,医学依科技,吾辈需强人。肚子上开了一个大口子8cm左右,进行微创手术,可能我对微创的认识不到位吧。后续是侄子与伤口进行强烈精神和意志力对抗,在这几

2021-05-15 22:39:09 83

原创 2021-03-26

go 读写csv文件package mainimport ( "encoding/csv" "fmt" "os")func write() { f, err := os.Create("test.csv") if err != nil{ fmt.Println(err) return } defer f.Close() var data = make([][]string, 4) data[

2021-03-26 14:20:46 29

原创 2021-02-06

空间向量计算欧拉角已知空间内两个向量,求从一个向量变换到另一个向量的空间坐标变换矩阵或欧拉角```pythonimport numpy as npimport math#注通过空间向量求欧拉角,与通过空间向量坐标转换求欧拉角结果一样,少了一个自由度# p1为向量起点,p2为向量终点p1 = np.array([[9.8113], [4.85333], [3.58656]])p2 = np.array([[7.8113 * 2], [6.85333 * 2], [2.58656 * 2]])

2021-02-06 11:24:31 412 1

原创 2020-12-24

struct{}package mainimport ( "fmt" "log" "time")//struct {}是一个无元素的结构体类型,通常在没有信息存储时使用。优点是大小为0,不需要内存来存储struct {}类型的值。//struct {} {}是一个复合字面量,它构造了一个struct {}类型的值,该值也是空。var ch chan struct{} = make(chan struct{}, 2)func foo() { ch <- struct{}{}

2020-12-24 21:16:07 44

原创 2020-12-19

golang文件保存+时间戳1.文件保存package mainimport ( "bufio" "fmt" "math" "os" "time")func main(){ filePath:="d:/angle.txt"//文件保存目录 file,err:=os.OpenFile(filePath,os.O_WRONLY|os.O_CREATE,0666) if err!=nil{ fmt.Printf("打开文件错误\n",err) return } defer

2020-12-19 17:17:02 118 2

原创 seelog使用简介

1.安装"github.com/cihub/seelog"go getgithub.com/cihub/seelog在安装之前需要先安装一个git:Git-2.29.2.3-64-bit.exe下载地址https://blog.csdn.net/stephen_curry300/article/details/109938273import ( log "github.com/cihub/seelog" "fmt" "time")2.xml文件配置//异步.

2020-12-15 20:56:34 1046

原创 CANopen协议学习

CANopen协议学习https://www.kvaser.cn/about-can/higher-layer-protocols/canopen/?renqun_youhua=174080

2020-05-23 15:34:13 314

原创 霍尔器件在电机中的原理及作用介绍

霍尔器件在电机中的原理及作用介绍霍尔器件是一种磁传感器。用它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件以霍尔效应为其工作基础。 霍尔器件具有许多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高(可达1MHZ),耐震动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。原理:有霍尔型是通过电机的霍尔型号来判断当前电机运动的状态,然后控制器根据霍尔所采集的信号...

2020-04-23 14:34:12 6379 1

原创 矩阵导数

矩阵导数,参看以下链接https://wenku.baidu.com/view/f7fa307a580216fc700afdb9.html

2020-03-02 21:07:33 99

原创 19.launch启动文件的使用方法

19.launch启动文件的使用方法1、Launch文件2、3、launch示例3.1 创建learning_launchchen@ubuntu:~/catkin_ws/src$ catkin_create_pkg learning_launch3.2 在learning_launch里面创建文件夹launch并创建文件simple_launch<launch>...

2020-02-28 11:18:38 973

原创 17.ROS中的坐标系管理系统

17.ROS中的坐标系管理系统参考书籍“”“机器人学导论”1、机器人中的坐标变换1.1.安装tf功能包chen@ubuntu:~$ sudo apt-get install ros.melodic.turtle.tf1.2启动roslaunch的一个脚本文件来启动很多节点chen@ubuntu:~$ roslaunch turtle_tf turtle_tf_demo.launch...

2020-02-27 18:06:34 334

原创 13客户端Client的编程实现

13客户端Client的编程实现1、创建功能包进入工作空间catkin_ws/src下面打开功能包chen@ubuntu:~/catkin_ws/src$ catkin_create_pkg learning_service roscpp rospy std_msgs geometry_msgs turtlesimusage: catkin_create_pkg [-h] [--meta...

2020-02-27 15:25:10 705

原创 12话题消息的定义与使用

12话题消息的定义与使用1、自定义话题消息1.1、在learning_topic中创建文件夹msg创建Person.msg文件chen@ubuntu:~/catkin_ws/src/learning_topic/msg$ touch Person.msg打开该文件,并写入以下内容,在编译的时候会编译成相应的c++或python可执行文件string nameuint8 sex...

2020-02-26 17:55:41 384

原创 11订阅者Subscriber的编程实现

11订阅者Subscriber的编程实现1、创建订阅者代码 C++ *//** * 该例程将订阅/turtle1/pose话题,消息类型turtlesim::Pose */ #include <ros/ros.h>#include "turtlesim/Pose.h" //消息类型定义// 接收到订阅的消息后,会进入消息回调函数void poseCallback...

2020-02-26 16:10:17 513

原创 10发布者Publisher的编程实现

10发布者Publisher的编程实现1、创建功能包1.1、一定要把功能包放在工作空间的src文件夹里面创建功能包命令:catkin_create_pkg功能包名:learning_topic依赖:roscpp rospy std_msgs geometry_msgs turtlesimchen@ubuntu:~/catkin_ws/src$ catkin_create_pkg le...

2020-02-26 11:37:33 547 2

空空如也

空空如也

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

TA关注的人

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