- 博客(22)
- 收藏
- 关注

原创 Turtlebot2+激光雷达定点移动和避障(利用已有的地图)
准备工作 :已经建好图并保存需要运行的几个launch文件1、启动turtlebot的launch文件$ roslaunch turtlebot_bringup minimal.launch2、自主行驶的launch文件 $ roslaunch turtlebot_navigation amcl_demo.launch3、在rviz观察tb在地图上的移动的launch文件$ ro...
2019-11-19 17:34:32
2349
1
原创 Maix Dock M1W demo1--使用屏幕和摄像头详解
import sensor, lcd #导入库--sensor摄像头、lcd屏幕sensor.reset() #摄像头初始化init()sensor.set_pixformat(sensor.RGB565)# 设置摄像头格式RGB565sensor.set_framesize(sensor.QVGA)#设置分辨率QVGA:320x240sensor.run(1) #启动sensor.skip_frames() #跳过开始的一些帧lcd.init(freq=15000000) #lcd初始化,
2022-03-29 21:55:51
1181
1
原创 std::string查找---find、rfind &转换--stoi、to_string
size_type find()于字符串中寻找字符#include <string>#include <iostream>using namespace std;int main(){ int n; string const s = "This is a string"; // 从 string 开始搜索 n = s.find("is");//2 // 从位置 5 开始搜索 n = s.find("is", 5);//5
2022-03-11 15:39:31
1781
原创 std::string操作--replace、substr、copy
replace()替换字符串的指定部分#include <iostream>#include <string> int main(){ std::string str("The quick brown fox jumps over the lazy dog."); //替换[10,10+5)的内容 str.replace(10, 5, "red"); // (5) str.replace(str.begin(), str.begin(
2022-03-11 15:15:39
1382
原创 std::string操作---compare、starts_with、ends_with
compare()比较两个字符串#include <string>#include <iostream>using namespace std;int main(){string{""};//stringstring("abc");//char * int ret=string{"a"}.compare(string{"b"});//大于1,小于-1,等于0 int ret2=string{"abc"}.compare(1,2,string{"bc"});//"ab
2022-03-11 15:04:46
2808
原创 std::string操作--push_back、pop_back、append
void push_back( char ch);后附字符到结尾size()>max_size()抛出异常#include<iostream>#include<string>using namespace std;int main(){ string s = "abc"; s.push_back('d'); cout << s << endl; return 0;}void pop_back( );erase(end() -
2022-03-11 11:43:15
1458
原创 cs模式多进程多线程通信
多线程Client:创建套接字,连接服务器,通信Server:创建套接字,绑定,监听,接收,创建子线程,通信#include <pthread.h>int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); - 功能:创建线程 - 返回值:成功:0,失败:错误号 - 参数: -thread:传出
2022-03-11 11:16:49
508
原创 std::string操作——clear、insert、erase
clear清除全部内容#include <cassert>#include <string>int main(){ std::string s{ "Exemplar" }; std::string::size_type const capacity = s.capacity(); s.clear(); assert(s.capacity() == capacity); assert(s.empty()); assert(
2022-03-09 11:42:02
1077
原创 std::list
std::list 是支持常数时间从容器任何位置插入和移除元素的容器。不支持快速随机访问。它通常实现为双向链表。与 std::forward_list相比,此容器提供双向迭代但在空间上效率稍低。在 list 内或在数个 list 间添加、移除和移动元素不会非法化迭代器或引用。迭代器仅在对应元素被删除时非法化。5.2 成员函数5.2.1 修改器函数说明clear清除内容 (公开成员函数)insert插入元素 (公开成员函数)emplace (C++11)原位构造元
2022-03-03 11:55:08
751
1
原创 CS模式通信C++
C/S模式Client:创建套接字,连接服务器,通信Server:创建套接字,绑定,监听,接收,通信相关函数socket函数socket函数#include <arpa/inet.h>int socket(int domain, int type, int protocol); -功能:创建一个套接字 -返回值: - 成功:返回文件描述符,操作的就是内核缓冲区 - 失败: -1 -参数: - domain:协议
2022-03-03 11:52:36
734
原创 二进制编码之格雷码
LeeCode89格雷码没有提前了解过格雷码的可能没有思路,一般会先找规律,但是会耗费很长时间也没有思路。学习过格雷码的同学可能会记得一个公式,而这个题目也就是按照这个公式求解的。(数电课程,是不是想到卡诺图了?卡诺图也是按照格雷码画的,这里就不再细说。)二进制编码有权码有权码有权码无权码无权码十进制8421码5421码2421码余3码BCD格雷码000000000000000110000100010001000101000001
2022-01-10 18:45:16
2033
原创 HDFS分布式文件系统操作
大数据与数据挖掘技术实验二:HDFS分布式文件系统操作启动Hadoop$ cd /usr/local/hadoop$ ./sbin/start-dfs.h #启动hadoop实验内容一、利用Shell命令和HDFS进行交互Hadoop支持很多Shell命令,其中fs是HDFS最常用的命令,利用fs可以查看HDFS文件系统的目录结构、上传和下载数据、创建文件等。教材《大数据技术原理与应用》的命令是以”./bin/hadoop dfs”开头的Shell命令方式,实际上有三种shell命令方式。
2022-01-03 23:28:17
3516
原创 蓝桥杯C++基础之标准库vector
标准库类型vectorvector表示对象的集合,其中所有对象的类型都相同。集合中的每个对象都有一个与之对应的索引,索引用于访问对象。因为vector“容纳着”其他对象,所以它也常被称作容器(container)。#include<vector>using std::vector1、定义和初始化vector对象vector<type> v1;//v1是一个空vector,它潜在的元素是type类型,执行默认初始化vector<type> v2(v1);//v
2021-12-30 12:10:39
846
原创 蓝桥杯C++组基础知识之标准库类型string
标准库类型string标准库类型string表示可变长的字符序列,使用前先加头文件#include<string>using std::string1、定义和初始化string对象string s1; //默认初始化,s1是一个空字符串string s2=s1; //s2是s1的副本//拷贝初始化string s2(s1); //s2是s1的副本//直接初始化string s3="hiya"; //s3是该字符串字面值的副本//拷贝初始化string s3("hiya
2021-12-30 00:00:18
3353
原创 c++类型限定符、存储类
C++修饰符类型数据类型修饰符signedunsignedlongshort类型限定符const:const类型的对象在程序执行期间不能被修改改变。const与static的区别volatile:告诉编译器不需要优化volatile声明的变量,让程序可以直接从内存中读取变量。对于一般的变量,编译器会对变量优化,将内存中的变量值放在寄存器中会加快读写速率(寄存器>cache>内存>外存)。restrict:只有C99增加了,restrict修饰的指针是唯一一种访问它所
2021-12-29 23:58:53
497
原创 C预处理器、错误处理、可变参数、内存管理、命令行参数
2、#undef、#ifdef、#ifndef、#error、#pragma//取消已定义的FILE_SIZE 重新定义它为42#undef FILE_SIZE#define FILE_SIZE 42//当MESSAGE未定义时,才定义MESSAGE#ifndef MESSACG #define MESSAGE "What you want"#endif//如果定义了 DEBUG,则执行处理语句#ifdef DEBUG //do what you want#endif
2021-12-28 15:25:32
375
原创 宏定义、define与typedef的区别、预编译、编译、汇编、链接
二、宏定义、define与typedef的区别、预编译、编译、汇编、链接1、typedef与#define1、define:宏定义,c语言中预处理命令一种。宏:宏(Macro)是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction)它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。计算机语言如C或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C的宏预处理器的工作只
2021-12-27 11:24:28
2070
原创 枚举 回调函数 位域 共用体 数组函数传递
一、数据类型1、基本类型2、枚举类型算数类型,被用来定义在程序中只能赋予其一定的离散整数的值。//定义enum 枚举名称{ 枚举元素1; 枚举元素2; ...};//自增 初始第一个为0,若未赋值则自增,赋值则从赋值的元素开始自增enum DAY{ MON=1;TUE;WED,THU,FRI,SAI,SUN};enum DAY day;//强制类型转换int a=1;day = (enum day) a;3、void类型4、派生类型????
2021-12-26 23:07:34
283
原创 Turtlebot2搭载激光雷达(ydlidar F4pro)通过gmapping构建地图准备:
环境:ubuntu16.04、turtlebot2、F4pro、ros kinetic分两部分一、运行激光雷达(简单的来说就是使激光雷达旋转起来)二、运行建图的文件(能在rviz上显示图像)需要下载的东西:1、激光雷达的ROS驱动包https://github.com/EAIBOT/flashgo或者克隆(先创建工作空间再使用命令克隆包,如果直接下载压缩包,则不用): $ git ...
2019-11-19 16:16:28
1686
2
原创 Python 酷Q qq机器人初学
Python 酷Q本片博客就简单的介绍用Python写酷Q插件的准备工作安装Python3.7(32-bit)我用的是Python37,因为目前仅支持Python32位版本,所以就只能用32位的。地址:https://www.python.org/ftp/python/3.7.4/python-3.7.4-webinstall.exe安装指导:https://zhuanlan.zhi...
2019-07-29 00:38:06
6931
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人