- 博客(88)
- 资源 (1)
- 收藏
- 关注
原创 简明Python教程(面向对象)
面向过程的 编程:根据操作数据的函数或语句块来设计程序。把数据和功能结合起来用称为对象的东西包裹起来组织程序的方法。编写大型程序或是寻求一个更加合适的解决方案的时候,就得使用面向对象的编程技术。类和对象是面向对象编程的两个主要方面。**类:**创建一个新类型,可以包含变量(域)、函数(方法)等。**对象:**是类的实例。举例:一个int类型的变量,存储整数的变量是int类的实例(对象)。比如,(int类型)Integ=100,Integ就是一个int类的对象(实例)。
2023-06-10 11:00:44 1155
原创 shell脚本笔记
思路是从空格开始的所有内容。sed中 空格用 [[:space:]] 表示[[:space:]] :一次空格.* :除换行之外的所有字符。//’ 这行的意思表示,替换从行头开始的不可见字符(匹配任何空白字符,包括空格、制表符、换页符等等)为空。1、ps -ef |grep -w $pid|grep -v grep|grep -v $$|wc -l 查询行数。grep -v grep 反向过滤,即过滤掉包含grep的行;[ -a FILE ] 如果 FILE 存在则为真。4、shell -a到-z。
2023-06-08 16:23:56 635
原创 简明Python教程
一个简单的表达式例子如2 + 3。一个表达式可以分解为运算符和操作数。运算符的功能是完成某件事,它们由如+这样的符号或者其他特定的关键字表示。运算符需要数据来进行运算,这样的数据被称为 操作数。在这个例子中,2和3是操作数。函数是重用的程序段。允许给一块语句一个名称,然后可以在程序的任何地方使用这个名称任意多次地运行这个语句块。这被称为 调用 函数。函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。
2023-06-07 17:33:15 899
原创 SNMP Trap的session问题
最近遇到了个问题,SNMPv3 Trap上报,在snmp agent侧修改了用户密码,管理站mibbroswer上没有修改trap用户的密码,仍然可接收到trap上报消息。
2023-04-24 16:15:25 1163
原创 1、基本概念
算法定义:一个有限指令集;接受一些输入(有些情况下不需要输入);产生输出;一定在有限步骤之后终止;每一条指令必须有充分明确的目标,不可以有歧义、计算机能处理的范围之内、描述应不依赖于任何一种计算机语言以及具体的实现手段。
2022-09-17 15:51:31 270
原创 安装zsh之后roscore等ros相关命令(比如catkin_init_workspace和source命令等)全部失效解决办法
原文链接:https://www.it610.com/article/1175085066653609984.htmsource的时候报错!!!~ source ~/.bashrc/home/hri/.bashrc:16: command not found: shopt/home/hri/.bashrc:24: command not found: shopt/home/hri/.bashrc:111: command not found: shopt/usr/share/bash-compl
2021-11-14 12:43:44 442
原创 Linux进程之-信号
1、信号的基本概念信号特点: 简单,不能携带大量信息,满足特定条件发生信号的机制: 进程B发送给进程A,内核产生信号,内核处理。信号的产生:按键产生,例如ctrl+c,ctrl+z,ctrl+\调用函数 kill、raise、abort定时器 alarm、setitimer命令产生 kill硬件异常、段错误、浮点型错误、总线错误、SIGPIPE信号的状态:产生递达,信号达到并且处理完未决,信号被阻塞了信号的默认处理方式:忽略执行默认动作捕获信号的4要素: (可通过 man
2021-04-18 10:02:32 237
原创 Linux进程之-进程间通信
目录1、pipe进行父子进程间通信2、pipe进行兄弟进程间通信3、fifo进行无血缘关系的进程间通信4、mmap函数:如何使用、创建匿名映射区、进行有血缘关系的进程间通信和进行无血缘关系的进程间通信概念IPC: InterProcess Communication 进程间通信,通过内核提供的缓冲区进行数据交换的机制。IPC通信的方式:pipe 管道 --最简单 fifo 有名管道 mmap 文件映射共享IO --速度最快 本地socket --最稳定 信号 --携带
2021-04-11 22:54:18 346
原创 Linux进程之-小结(fork-多进程-getpid/getppid-僵尸进程-wait函数)
1、fork函数创建一个子进程。pid_t fork(void) 失败返回-1,成功返回值:(1)父进程返回子进程的ID(非0);(2)子进程返回0。pid_t类型表示进程ID,但为了表示-1,它是有符号整形。(0不是有效进程ID,int最小为1)注意:fork返回值不是返回两个值,而是fork后,fork函数变为两个,父子进程各自返回一个。2、多进程一次fork函数调用可创建一个子进程,创建n个子进程可以用for循环,但需注意创建完子进程后退出,不然子进程会伴随循环继续创建子子进程。.
2021-04-09 23:33:43 253
原创 Linux进程之-孤儿进程、僵尸进程、进程回收wait与waitpid
目录:1.了解进程的相关概念2.掌握fork/getpid/getppid函数使用3.掌握ps/kill命令使用4.掌握execl/execlp函数的使用5.什么是孤儿进程、僵尸进程6.掌握wait函数使用7.掌握waitpid函数的使用概念孤儿进程:父进程死了,子进程被init进程领养僵尸进程:子进程死了,父进程没有回收子进程的资源(PCB)存放于内核中,变成僵尸进程。注意:僵尸进程是不能使用kill命令清除掉的,因为kill命令只是用来终止进程的,而僵尸进程已经终止。如何回收
2021-04-07 23:04:12 246
原创 Linux进程之-进程共享/execl函数族
目录:1.了解进程的相关概念2.掌握fork/getpid/getppid函数使用3.掌握ps/kill命令使用4.掌握execl/execlp函数的使用5.什么是孤儿进程、僵尸进程6.掌握wait函数使用7.掌握waitpid函数的使用进程共享进程表示如下图所示,一个a.out程序也即是一个进程。父子进程之间在fork之后的异同:相同点:全局变量、data、.text、栈、堆、环境变量、用户ID、宿主目录、进程工作目录、信号处理方式…等。不同之处:父子进程 1.进程id、2.f
2021-03-31 22:56:02 172 2
原创 Linux进程之-fork创建单进程\多进程
目录:1.了解进程的相关概念2.掌握fork/getpid/getppid函数使用3.掌握ps/kill命令使用4.掌握execl/execlp函数的使用5.什么是孤儿进程、僵尸进程6.掌握wait函数使用7.掌握waitpid函数的使用1、fork函数作用:创建一个子进程pid_t fork(void); 失败返回-1,成功返回:(1)父进程返回子进程的ID(非负);(2)子进程返回0。pid_t类型表示进程ID,但为了表示-1,它是有符号整型。注意返回值.
2021-03-28 22:54:52 187 1
原创 Linux进程之-概念
dup2(oldfd, newfd)--> newfd指向oldfd的文件,dup用于复制。1.了解进程的相关概念2.掌握fork/getpid/getppid函数使用3.掌握ps/kill命令使用4.掌握execl/execlp函数的使用5.什么是孤儿进程、僵尸进程6.掌握wait函数使用7.掌握waitpid函数的使用1、进程相关概念程序和进程:程序是指编译好的二进制文件,在磁盘上,不占用系统资源{CPU、内存、打开的文件、设备、锁....};进程,是一个抽象的
2021-03-28 22:29:53 123 1
原创 Linux线程之-文件锁fcntl()函数
1.概念系统中只允许一个该名字的进程存在(进程间互斥),借助fcntl函数来实现锁机制。操作文件的进程没有获得锁时,可以打开,但无法执行read、write操作。2.fcntl函数#include <unistd.h>#include <fcntl.h>int fcntl(int fd, int cmd, ... /* arg */ );作用:获取、设置文件访问控制属性。参数:fd,文件描述符;cmd,具体操作命令。F_SETLK(struct fl
2021-03-14 00:28:49 391
原创 Linux之线程-信号量sem_*
1. 概念信号量可理解为进化版的互斥锁/量,允许多个线程访问共享资源。由于互斥锁的力度比较大,如果希望在多个线程间对某一对象的部分数据进行共享,使用互斥锁是没有办法实现的,只能将整个数据对象锁住。这样虽然达到了多线程操作共享数据时保证数据正确的目的,却无形中导致线程的并发性下降。线程从并行执行变成了串行执行,与直接使用单进程无异。信号量,是相对折中的一种处理方式,既能保证同步,数据不混乱,又能提高线程并发。2.主要应用函数sem_init函数 sem_destroy函数 sem_wait函数
2021-03-13 14:38:48 923 1
原创 Linux之线程条件变量cond
概念:条件变量不是锁,要和互斥量组合使用。条件变量就是生产者“生产”完成,消费者才能“使用”,如果没有“产品”,消费者就会被条件变量cond阻塞等待生产者“生产”。(生产者与消费者模型)函数:1.超时等待int pthread_cond_timedwait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex, const struct timespec *restrict abs
2021-03-12 23:48:21 631 2
原创 Linux之线程-读写锁pthread_rwlock_t
**主要内容:(1)互斥量及如何使用(2)什么是死锁,如何解决(3)什么是读写锁,如何使用**(4)条件变量实现的生产消费者模型(5)信号量实现的生产消费者模型3.读写锁特点:读共享,写独占,写优先级高。读写锁仍然是一把锁,有不同的状态:未加锁、读锁和写锁。场景:适合读的线程较多的情况线程A加写锁成功,线程B请求读锁。--线程B阻塞 线程A持有读锁,线程B请求写锁。--线程B阻塞 线程A持有读锁,线程B请求读锁。--B加锁成功 线程A持有读锁,然后线程B请求读锁,然后线程C请求
2021-03-03 23:34:32 527 2
原创 Linux之线程-互斥量mutex与死锁
**主要内容:(1)互斥量及如何使用(2)什么是死锁,如何解决(3)什么是读写锁,如何使用**(4)条件变量实现的生产消费者模型(5)信号量实现的生产消费者模型**线程同步**协调步骤,顺序执行。解决同步的问题:加锁!数据混乱的原因:- 资源共享(独享资源则不会);- 随机调度(意味着数据访问会出现竞争);- 线程间缺乏必要的同步机制。(解决该点最为可行,因此需要用到互斥量)**1.mutex互斥量**两个线程访问同一块共享资源,如果不协调顺序,容易造成数据混乱。解决方...
2021-02-28 23:19:12 349
原创 ygz_slam_ros测试
###将ygz_slam_ros单独拿出来编译#按照安装依赖https://gaas.gitbook.io/guide/software-realization-build-your-own-autonomous-drone/wu-ren-ji-zi-dong-jia-shi-xi-lie-part-3-zai-wu-gps-huan-jing-xia-tong-guo-slam-shi-x...
2019-12-09 09:52:12 1020
原创 SLAM测试5-YGZ-Stereo-Inertial(GAAS双目视觉ygz -立体惯性SLAM)
这篇主要测试GAAS开源无人机里用到的一种SLAM算法,目的是先对该SLAM算法进行熟悉,再开始入手GAAS视觉定位。GIThub上的代码地址为:https://github.com/gaoxiang12/ygz-stereo-inertial这是ygz -立体惯性SLAM,立体惯性VO。它是专为立体声和立体声惯性传感器模块,如vi传感器。它采用LK光流作为前端,滑动窗口束调节作为后端。您...
2019-11-13 19:43:19 1053
原创 ORB_SLAM2测试4-单目+ROS+AR(Monocular Augmented Reality Demo)遇到的问题
问题:由于想测试一下单目+AR的例子,git上使用的是数据集,我想用usb摄像头去试一下,在/home/chen/catkin_ws2/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/AR/ros_mono_ar.cc里,修改了所要订阅的节点/usb_cam/image_raw。回到/ORB_SLAM2目录下,删掉build,重新编译chen@chen:~/c...
2019-11-13 16:49:26 643
原创 ORB_SLAM测试3-单目摄像头+ROS+ORB_SLAM2实时测试
介绍:这篇博客首先启动一个单目摄像头(参看上一篇博客),发布节点话题/usb_cam/image_raw,ORB_SLAM2订阅摄像头数据进行处理(修改相应的源文件里话题类型,默认是/camera/image_raw)。git上有ros节点使用介绍,https://github.com/Vincentqyw/ORB-SLAM2-CHINESEa. 为mono、monoAR、stereore...
2019-11-13 15:39:02 2324
原创 ORB-SLAM2测试2
高翔老师《SLAM十四讲》第一讲的课后练习1.运行一段录制好的视频作为SLAM数据输入:这里可以是自己录制的视频,格式更改为myvideo.mp4,就可以。脚本文件myvideo.cpp和参数配置文件myvideo.yaml,就直接贴上高翔老师的代码在下面;运行ORB_SLAM2,假如上节测试已经安装好了,如果没有,先编译好ORB_SLAM2。a. git clone http...
2019-11-13 10:25:13 404
原创 ORB-SLAM2测试1
ORB-SLAM2路人皆知,下面只记录自己的笔记:0.安装ORB-SLAM2,并生成库这篇github不错,可以根据提示先配置好依赖,编译ORB-SLAM2包,并生成目标库文件https://github.com/Vincentqyw/ORB-SLAM2-CHINESE1.运行离线数据集离线数据集分为单目、双目和深度,分别测试了一个数据集查看效果:a.单目数据集测试下载...
2019-11-12 17:57:41 1236 1
原创 ROS的新手教程--学习笔记1
干货在最后或者另一篇博客https://mp.csdn.net/postedit/102992022小白开始学习,来自官网或者他人博客欢迎指正。0.安装ROS和配置ROS环境安装ROS通过官网,如果新手可以考虑安装完整的,免得以后需要继续安装。sudo apt-get install ros-kinetic-desktop-full如果从apt这样的包管理器安装ROS,那么这些...
2019-11-09 21:31:08 700
原创 ROS学习笔记1
回顾:1. 一些常用命令组合:rospack = ros+pack(age): 提供与ros包相关的信息roscd = ros+cd: 将目录更改为ros包或堆栈rosls = ros+ls: 列出ros包中的文件roscp = ros+cp: 从ros包中复制文件rosmsg = ros+msg: 提供与ros消息定义相关的信息rossrv = ros+srv:提供与ro...
2019-11-09 21:28:05 357
原创 cmake学习问题
最近在学习cmake管理工程代码,遇到源文件链接库和头文件这个地方一直搞不明白,如果有大神还望赐教,联系方式QQ995479574gaoxiang SLAM十四讲里面,按照课本,先建立一个工程目录slamtest创建三个文件(源文件useHello.cpp,库文件libHello.cpp和头文件useHello.h )和一个CMakeLists.txt. 内容如下:源文件src/use...
2019-10-19 17:12:38 127
原创 在TX2上安装ch340/341USB驱动(TTL转串口驱动)
参考博客:https://blog.csdn.net/lybhit/article/details/78661709问题描述:使用的TTL转串口插在TX2上读不出端口USB,分析原因是需要安装对应CH340驱动1.首先从Github仓库下载所需文件git clone https://github.com/jetsonhacks/instalACMMoudle这里把该文件放...
2019-07-31 19:16:04 1854
原创 自主飞行无人机开发--SALM cartographer开源框架 rplidar A2/3
参考学习网站:https://google-cartographer-ros.readthedocs.io/en/latest/问题提出:四旋翼搭载激光雷达A3进行SLAM室内定位,其怎样Running Cartographer ROS on your own bag //https://google-cartographer-ros.readthedocs.io/en/latest/特意去...
2019-07-24 15:38:39 1124
原创 Qt Creator使用 ROS工作空间导入
ubuntu16.04安装Qt59的过程如下:sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenialsudo add-apt-repository ppa:levi-armstrong/ppasudo apt update && sudo apt install qt57creatorsudo apt...
2019-07-19 11:06:22 1717
Linux命令行与shell脚本编程大全第3版(编写shell的宝典).zip
2022-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人