自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux 个人笔记之三剑客 grep sed awk

awk 的内置变量 NR(行号)、NF(字段号)是不用添加 $ 符号的。取最后一个字段的值 $NF。

2024-03-31 17:13:52 1021

原创 Python读书笔记之《Python编程:从入门到实践》

列表 list 由一系列按特定顺序排列的元素组成。# 打印列表所有元素,指定位置元素---# 获取最后一个元素list[-1]# 列表元素的增加三种方法 append extend insertlist.append(4) # 列表末尾添加元素4list.extend(list1) # 将list1扩展入listlist.insert(0, 5) # 索引0的位置插入5# 删除三种方法。

2024-01-27 17:56:45 735

原创 Linux 读书笔记之《鸟哥的 Linux 私房菜 基础学习篇(第四版)》

同时由于程控得宜,一般来说,使用 UEFI 接口的主机,在开机的速度上要比 BIOS 来的快许多!注意: 正则表达式的特殊字符与一般在命令行输入命令的通配符并不相同,例如,在通配符当中的 * 代表的是【0 ~ 无穷多个字符】的意思,但是在正则表达式当中, * 则是【重复 0 到无穷多个的前一个字符】的意思。简单的说,正规表示法就是处理字符串的方法,他是以行为单位来进行字符串的处理行为, 正规表示法透过一些特殊符号的辅助,可以让使用者轻易的达到『搜寻/删除/取代』某特定字符串的处理程序!

2023-06-17 15:12:02 6869 3

原创 CoppeliaSim用户手册中文翻译版(一)

CoppeliaSim 用户手册文章目录主要功能历史版本许可证致谢和鸣谢概述1. 用户界面1.1 页面和视图1.2 自定义用户界面1.3 位置/方向操作1.3.1 位置对话框1.3.2 方向对话框1.3.3 使用鼠标移动物体1.4 欧拉角1.5 用户设置1.6 快捷键1.7 命令行2. 场景和模型2.1 场景2.2 模型2.2.1 模型对话框3. 环境3.1 环境对话框3.2 纹理对话框  CoppeliaSim是一款基于分布式控制架构,具有集成开发环境的机器人仿真器。每个对象/模型都可以通过内嵌.

2020-07-05 18:25:18 28660 96

原创 Linux个人笔记(二)之玩转Vim 从放弃到爱不释手

PegasusWang 玩转Vim 从放弃到爱不释手 课程笔记imooc 视频课程: https://www.imooc.com/video/19479知乎专栏: https://zhuanlan.zhihu.com/vim-video简明vim练级攻略: https://coolshell.cn/articles/5426.html2-1 初识Vim开始编辑(insert模式、normal模式)keydescription定义iinsert当前字符前插入aa

2020-05-21 10:00:43 652

原创 Linux个人笔记(一)之快乐的linux命令行

linux 个人读书笔记(一)文章目录**linux 个人读书笔记(一)**《the linux command line》-- William Shotts (《快乐的linux命令行》 翻译由`好奇猫工作室`发起)IntroductionPart 1 - Learning the ShellPart 2 Configuration and the EnvironmentPart 3 Com...

2020-03-22 11:47:56 514

原创 Linux 个人笔记整理

实际上内存是把 8 个 bit 排成 1 组, 每 1 组称为 1 个单位, 大小是 1 byte(字节), cpu 每一次只能访问 1 个 byte, 而不能单独去访问具体的 1 个小格子(bit)。1 个 byte 字节就是内存的最小的 IO 单位。CPU 的寻址能力以字节为单位,则 32 位寻址的 CPU 可以寻址 2 的 32 次方大小的地址也就是 4GB。因为 32 位系统说的是寻址范围。

2023-03-22 20:05:53 68

原创 Ubuntu 18.04 + Carla 0.9.10.1 + ROS melodic环境搭建

源码编译安装的方式 以前在旧电脑拯救者 r720 上已经测试跑通过,安装起来比较慢,Carla 和 Unreal Engine 需要分开编译,空间消耗大,且需要科学上网。Carla 版本的选择 要求支持 ROS Bridge,支持激光雷达、图像、GPS、IMU等传感器的仿真,检索到博客有人写过 melodic carla: 0.9.10.1 的安装,于是 Carla 就定了 0.9.10.1 的版本。显卡NVIDIA GeForce RTX3060。系统 Ubuntu 18.04。

2022-10-24 20:19:49 1259 1

原创 个人自动驾驶仿真开篇

比较中意的是 CARLA 和 LGSVL 分别使用了 Unreal Engine 和 Unity 物理引擎,两个正好可以对比感受一下,CARLA 以前在 r720 ubuntu16.04 上源码编译跑过,软件的功能能满足我的需求,但电脑扛不住 风扇呼呼的 一会儿就相当卡了,所以当时放弃了,不得不说 CARLA 对电脑配置的要求还是比较高的,官方标称的最低配置 6G GPU 推荐 8G,但软件做的各方面确实挺不错的;,因为我们的出发点一致,都想找一个免费的、稳定的、Linux 平台的、长期维护的仿真软件。

2022-10-15 14:27:24 440

转载 Python3《机器学习实战》学习笔记(一):k-近邻算法

于2022年5月15日,在原文的基础上根据个人喜好修改了文章格式细节。运行平台: WindowsPython版本: Python3.xIDE: Sublime text3个人网站: http://cuijiahua.com文章目录一、简单k-近邻算法1.1 k-近邻法简介1.2 距离度量1.3 Python3代码实现1.3.2 k-近邻算法1.3.3 整体代码二、k-近邻算法实战之约会网站配对效果判定2.1 实战背景2.2 准备数据:数据解析2.3 分析数据:数据可视化2.4 准备数据:数据归.

2022-05-15 17:53:32 209

转载 Launch 深入研究 --- (启动文件编程)ROS 的 XML语法简介

ROS 提高篇 之 Launch 深入研究 - 01 — 启动文件的编程 — ROS 的 XML语法简介 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 注意: 1 . ROS 提高篇这个专栏的教学有门槛。 2 . 如果你没有学习前面的教程,请想学习前面的 beginner_Tutorials 和 learning_tf 的ROS 相关教程。 1 . 前言 在之前.

2022-03-20 17:41:30 1483

原创 ROS之 Gmapping源码解析(第一部分)

参考:https://blog.csdn.net/roadseek_zw/article/details/53316177https://blog.csdn.net/liuyanpeng12333/article/details/81946841https://blog.csdn.net/weixin_42232742/article/details/82427801https://blog.csdn.net/u013019296/article/details/78577268https://bl

2021-10-24 18:24:22 3383

转载 C++中的几种数组:array,vector,valarray

1. 内置数组(C语言风格数组)  数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。c++内置的原生数组可以存储一个固定大小的相同类型元素的顺序集合,并且其中的特定元素可以通过索引访问。它由连续的内存位置组成,最低的地址对应第一个元素,最高的地址对应最后一个元素。声明格式如下:type arrayName [ arraySize ];定义和初始化 :// 默认初始化int arr[5]; // 创建包含5个int型整数的数组,未被初始化int arr[5] = {}; //创建

2021-07-08 09:47:08 985

原创 CoppeliaSim学习笔记之加分题外篇(持续更新中。。。)

文章目录1. Vision sensor 仿真显示器效果2. Graph 地面显示移动轨迹1. Vision sensor 仿真显示器效果  首先,添加视觉传感器 Add-->Vision sensor-->Perspective type,移动到喜欢的位置。然后添加平面仿真显示器屏幕 Add-->Primtive shape-->Plane,设置显示器大小 2m×2m,移动到电视墙上,效果如下图:  隐藏 Plane 的边界,并且隐藏视觉传感器图层,修改视觉传感器分辨率 2

2021-06-20 10:52:42 730

转载 面向对象与面向过程的本质的区别

前言:如果你很想搞明白面向对象是什么,面向过程是什么,或者说二者之间的区别是什么,那么就花费一点时间来研读一下这篇博客,你一定会有很大的收获的! 一、面向对象与面向过程的区别 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 可以拿生活中的实例来理解面向过程与面向对象,例如五子棋,面向过程的设计思路就是首先分析问题

2021-05-09 16:03:39 123

原创 CoppeliaSim学习笔记之差速小车的控制与传感器的驱动

博主又去扫大街了。。。 拿萝卜先占个坑镇个楼。。 扫完立马更。。

2021-01-31 15:46:23 2433 4

原创 ROS之 teleop_controller

文章目录双轮差速驱动模型键盘控制Ackerman 车辆模型键盘控制双轮差速驱动模型键盘控制a. turtlebot_teleopControl Your Turtlebot!---------------------------Moving around: u i o j k l m , .q/z : increase/decrease max speeds by 10%w/x : increase/decrease only linea

2020-12-27 17:48:50 1417 2

原创 ROS之map_server 源码解析

文章目录1.1 map_server1.2 map_saver1.3 附  CoppeliaSim 仿真的翻译教程已经完成,接下来计划一边更新 CoppeliaSim 实战教程,一边进行轮式机器人基础软件包的源码学习整理。按照个人习惯,先对简单的软件包 map_server 下手。源码与流程框图相互结合更容易理解,也能帮助我后期快速回顾。于是调研了一番应用在代码结构整理层面上的流程框图软件,很多人推荐了Understand,号称是高效代码静态分析的神器,一方面可以阅读代码,另一方面Butterfly还能

2020-12-27 11:15:12 3472 1

转载 Apollo代码学习(二)—车辆运动学模型

文章目录前言车辆模型单车模型(Bicycle Model)车辆运动学模型阿克曼转向几何(Ackerman turning geometry)小结Apollo(阿波罗)是一个开放的、完整的、安全的自动驾驶平台,以灵活和高性能的技术架构,为全自动驾驶提供支持。前言  要实现对车辆的控制,研究其运动学模型和动力学模型必不可少。上文对横纵向控制的构成及实现做了概述,本文将从车辆的运动学和动力学模型入手,研究如何控制车辆,以及为什么这样控制车辆。  本文的观点及图表多基于下述书籍及链接,并结合Apollo

2020-12-06 16:05:31 1423

原创 ROS之 laser_filters 激光过滤包

github code通过插件可以配置下列滤波器:LaserScanRangeFilter 设定距离阈值,超出则设置为nanScanShadowsFilter 针对物体边沿的扫描和识别LaserScanAngularBoundsFilter 将设定的角度外的扫描数据删除LaserScanBoxFilter 无视一个区块内的数据(常用于无视机器人本体对激光雷达数据的干扰)LaserScanAngularBoundsFilterInPlace 不会删除目标角度扇区外的数据,但会把对应扫描的距离值设

2020-12-06 11:08:02 3878 5

原创 双轮差速机器人运动控制模型推导与CoppeliaSim仿真实现

  博客第一部分 运动学分析建模是参考此博客两轮差速移动机器人运动分析、建模和控制进行整理扩展,第二部分为根据个人实际应用进行理解整理,如有错误之处,敬请指正。1. 运动学分析建模  运动特性为两轮差速驱动,其底部后方两个同构驱动轮的转动为其提供动力,前方的随动轮起支撑作用并不推动其运动,如图两轮差速驱动示意图所示。  定义其左右驱动轮的中心分别为 WlW_lWl​和WrW_rWr​,且车体坐标系中这两点在惯性坐标系下移动的线速度为vlv_lvl​和vrv_rvr​ ,理想情况下即为左右轮转动时做圆

2020-11-22 19:38:40 5633

转载 每天一个linux命令(25):linux文件属性详解

  Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。具体情况如下:命令:ls -lih输出:[root@localhost test]# ls -lih总计 316K2095120 lrwxrwxrwx 1 root root 11 11-22 06:58 linklog.log -> log2012.log2095112 -rw-r--r-- 1 root root 296K 11-13 06:03

2020-10-20 09:29:19 191

转载 每天一个linux命令(24):Linux文件类型与扩展名

  Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件)。一. 文件类型  Linux文件类型常见的有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,现在我们进行一个简要的说明。1. 普通文件  我们用 ls -lh 来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是

2020-10-20 09:23:01 197 1

原创 CoppeliaSim用户手册中文翻译版(二)

CoppeliaSim 用户手册文章目录5. 计算模块5.1 计算模块属性对话框5.2 碰撞检测5.3 距离计算5.4 逆运动学5.4.1 IK组和IK元素的基础知识5.4.2 解决IK和FK的任何类型的机制5.5 逆运动对话框5.5.1 IK元素对话框5.6 动力学5.6.1 设计动态仿真5.6.2 一般动力学特性5.6.2.1 动态引擎常规属性6. 在CoppliaSim及其周围编写代码6.1 嵌入式脚本6.1.1 仿真脚本6.1.1.1 主脚本和子脚本6.1.1.1.1 主脚本6.1.1.1.2 .

2020-10-12 10:56:57 10239 4

原创 CoppeliaSim学习笔记之仿真环境与小车模型的搭建

博主正在扫大街,先站坑,扫完大街再更新。。。。

2020-09-30 10:50:31 4231 7

原创 CoppeliaSim学习笔记之CoppeliaSim Edu V4.1.0 + Ubuntu 16.04 + ROS Kinetic环境搭建与基础测试

博主很懒先站坑。。。。

2020-09-29 10:26:23 6249 12

原创 机器人仿真开篇

机器人仿真开篇标签: CoppeliaSim  因为工作调整,所以需要调研机器人常用的仿真软件,并且选出一款能够与ROS进行通信的仿真软件,用于与move_base等对接测试轮式移动机器人导航算法,后期用于软件的回归测试。以前从未接触过仿真相关的东西,要说能凑合沾上边有点意思的可能也就rviz可视化一下,接下来作为小白对这段学习中的一点一滴进行记录,不足之处还望不吝赐教!(先说明一下,老的V-Rep就是新的CoppeliaSim)  下图为早期从wiki[2]上扒下来的仿真软件的一些参数对比图片:(最

2020-09-29 10:20:50 989 1

转载 每天一个linux命令(23):Linux 目录结构

  对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统至关重要,下面我们就开始了解一下linux目录结构的相关知识。  当在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin … … 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件。文件系统在Linux下看上去就像树形结构,所以我们可以把文件系统

2020-09-03 10:30:22 152

原创 Linux个人常用指令总结持续更新中。。。

先站坑

2020-08-22 10:54:10 227

转载 每天一个linux命令(22):find 命令的参数详解

  find一些常用参数的一些常用实例和一些具体用法和注意事项。1.使用name选项  文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为 pathname参数,波浪号~代表了你的$HOME目录。  find ~ -name "*.log" -print  想要在当前目录及子目录中查找所有的*.log文件

2020-08-22 10:49:24 227

转载 每天一个linux命令(21):find命令之xargs

  在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。  find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续

2020-08-22 10:27:56 194

转载 每天一个linux命令(20):find命令之exec

  find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。  exec解释:  -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。  {} 花括号代表前面find查找出来的文件名。  使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。在有些操作系统中只允许-

2020-08-22 10:18:44 651

转载 每天一个linux命令(19):find 命令概览

  Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。1.命令格式  find pathna

2020-08-21 10:09:29 171

转载 每天一个linux命令(18):locate 命令

  locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。1.命令格式  locate [选择参数] [样式]2.命令功能  locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命

2020-08-21 09:49:59 172

转载 每天一个linux命令(17):whereis 命令

  whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。  和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。  但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用where

2020-08-12 18:39:59 223

转载 每天一个linux命令(16):which命令

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:  which 查看可执行文件的位置。  whereis 查看文件的位置。  locate 配合数据库查看文件位置。  find 实际搜寻硬盘查询文件名称。  which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。1. 命令格式   which 可执行文件名称2.

2020-08-12 18:34:44 230

转载 每天一个linux命令(15):tail 命令

  tail 命令从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。1. 命令格式  tail[必要参数][选择参数][文件]2. 命令功能  用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。3. 命令参数params-f 循环读取-q 不显示处理信息-v 显示详细的处理信息

2020-08-12 18:27:16 129

转载 每天一个linux命令(14):head 命令

  head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。1. 命令格式  head [参数]... [文件]...2. 命令功能  head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。3. 命令参数params-q 隐藏文件名-v 显示文件名-c<字节> 显示字节数-n<行数> 显

2020-08-12 18:19:56 133

转载 每天一个linux命令(13):less 命令

  less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 pageup pagedown 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。1. 命令格式  less [参数] 文件2. 命令功能  less

2020-08-12 18:13:15 120

转载 每天一个linux命令(12):more命令

  more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。1. 命令格式  more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]2. 命令功能  more命令和cat的功能一样都

2020-08-12 17:43:27 153

空空如也

空空如也

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

TA关注的人

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