自定义博客皮肤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)
  • 资源 (2)
  • 收藏
  • 关注

原创 树莓派内核编译

树莓派的内核文件在boot分区下,这个分区的文件系统是fat32的,因此可以在windows下直接访问。树莓派官网链接:https://www.raspberrypi.org/documentation/linux/kernel/building.md本地编译你需要先安装最新版的Raspbian,这是树莓派官方的Linux发行版,然后启动树莓派,连接网络并登陆到系统。第一步是获取内核源码,速度会比较慢:git clone --depth=1 https://github.com...

2021-12-12 16:04:01 374

原创 c语言 管道

c语言 管道从父进程流向子进程的管道在父进程创建无名管道并产生子进程后,父子进程均拥有管道两端的访问权。此时关闭父进程的管道输出端、关闭子进程的管道输入端,就形成一个从父进程到子进程的管道流,数据由父进程写入、从子进程读出。创建从父进程流向子进程的管道过程如下:1st:创建管道,返回无名管道的两个文件描述符fildes[0]和fildes[1]。int fildes[2];pipe(fildes);2nd:创建子进程,子进程继续无名管道文件描述符。3rd:父进程关闭管道的输出端,

2021-05-27 20:04:38 463

原创 树莓派linux led字符设备驱动

1、开发环境搭建开发环境系统ubuntu 16(64位),在PC上安装虚拟机。1.1 确定树莓派linux版本raspi@raspberrypi:~ $ cat /proc/versionLinux version 4.19.75-v7+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1270 SMP Tue Sep 24 18:45:11 BST 2019如上图可知

2021-05-18 10:19:42 729 2

原创 创建Linux内核函数的Man手册

编写驱动程序的时候,一般情况下使用的都不是 C标准库的函数,而是 Linux内核中的函数。所以即使用 man命令 也找不到很多函数的帮助信息,这很不利于 Linux内核的学习。好在Linux内核虽然没有直接提供手册,却提供了创建手册的工具。我们可以手动生成 Linux内核的 Man手册。1、下载一个稳定版本的内核例如:linux-4.4.8。 一般情况下用 Linux系统自带的源码不行,建议到官方网站下载最新版本。2、安装依赖装好manpages-devsudo a...

2021-05-11 18:28:12 690

原创 TXT文件读写

1.txt文件读json文件{ "name": "mculover666", "age": 22, "weight": 55.5, "address": { "country": "China", "zip-code": 111111 }, "skill": ["C", "Java",

2021-05-02 14:25:56 160

原创 树莓派wiringPi安装及交叉编译

1.树莓派wiringPi1.wiringPi安装方案A——使用GIT工具sudo apt-get install git-core//如果在这个过程中出现错误,尝试更新软件,例如输入以下指令:sudo apt-get updatesudo apt-get upgrade//紧接着可以通过GIT获得wiringPi的源代码git clone https://github.com/WiringPi/WiringPi//若需要更新wiringPi。cd wiringPigit

2021-04-12 20:26:41 2278

转载 树莓派内建驱动boot分区

树莓派目录结构 /boot 放置Linux内核以及其他用来启动树莓派的软件包 /bin 放置与Raspbian有关(包括运行图形界面所需的)的二进制可执行文件 /dev 这是虚拟文件夹之一,用来访问所有连接设备,包括存储卡 /etc 系统管理和配置文件 /home Linux上的我的文档,包含用户名命名的文件夹 /lib 各种应用需要的代码库 /lost+found 一般情况下是空的,当系统非法关机后,这里就存放了一些文件 .

2021-04-09 15:44:16 1980

原创 sha256 C语言实现

1. SHA256对于任意长度的消息,SHA256都会产生一个256bit长的哈希值,称作消息摘要。这个摘要相当于是个长度为32个字节的数组,通常用一个长度为64的十六进制字符串来表示来看一个例子:hello world 这句话,经过哈希函数SHA256后得到的哈希值为:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9在线加密2.SHA256信息预处理SHA256算法中的预处理就是在想要Hash

2020-11-30 16:13:44 10613 8

原创 处理argv字符时用到的函数

处理argv字符时用到的函数包含C 标准库 #include <stdlib.h>序号 函数 & 描述 1 double atof(const char *str) 把参数str所指向的字符串转换为一个浮点数(类型为 double 型)。 2 int atoi(const char *str) 把参数str所指向的字符串转换为一个整数(类型为 int 型)。 3 long int atol(const char *str)...

2020-11-11 17:00:51 222

转载 Linux size 命令

Linux size 命令size命令基本上列出了输入目标文件的段大小和总大小size [-A|-B|--format=compatibility] [--help] [-d|-o|-x|--radix=number] [--common] [-t|--totals] [--target=bfdname] [-V|--version] [objfile..

2020-08-23 16:54:05 2470

原创  c语言获取unix时间戳并解析

c语言获取unix时间戳并解析#include <stdio.h>#include <time.h>int main(void) { time_t tick; //这是一个适合存储日历时间类型。 struct tm tm; //这是一个用来保存时间和日期的结构。 char s[100]; tick = time(NULL); tm = *localtime(&tick); //struct tm *localtime(const t.

2020-08-05 14:50:00 2669

原创 linux查看操作某串口(或串口终端)

1.查看某个串口的波特率等信息,可在控制台输入stty -F /dev/ttyAMA0 -a #ttyAMA0为要查看的串口2.用stty设置串口参数stty -F /dev/ttyAMA0 ispeed 115200 ospeed 115200 cs83.发送数据sudo echo "sss" > /dev/ttyAMA04.接收数据...

2020-04-25 14:24:22 2468

原创 罗技手柄使用及总结

1.首先安装joy这个节点,通过sudo apt-get install ros-kinetic-joy2.配置JoyStickls /dev/input/你会看到by-id event1 event12 event15 event18 event3 event6 event9 mouse0by-path event10 event13 ...

2019-12-05 20:10:52 1518

原创 USB摄像头ROS驱动

在ROS下常用的主要有两种驱动包:usb_cam和uvc_cam我这里用的是usb_cam包第一次使用首先要安装这个包,安装完了之后就可以很方便的运行摄像头节点了1.在ROS工作空间安装ROS:cd catkin_ws/srcgit clone https://github.com/bosch-ros-pkg/usb_cam.git usb_camcd ..cat...

2019-11-28 16:19:55 1561 2

转载 一阶滤波器

1. 一阶滤波算法的原理一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现普通硬件RC低通滤波器的功能。一阶低通滤波的算法公式为: Y(n)=αX(n) (1-α)Y(n-1) 式中:α=滤波系数;X(n)=本次采样值;Y(n-1)=上次滤波输出值;Y(n)=本次滤波...

2019-08-29 20:34:07 5641 2

转载 欧拉角和四元数之间的转换

欧拉角和四元数之间的转换// 四元数转Euler// q0 q1 q2 q3// w x y zvoid quaternion_2_euler(float quat[4], float angle[3]){ angle[0] = atan2(2.0 * (quat[3] * quat[2] + quat[0] * quat[1]), 1.0 - 2.0 * (quat[...

2019-07-22 17:32:18 1031

原创 cartographer主从机rviz订阅地图出错

参考:https://answers.ros.org/question/261071/rviz-client-md5sum-error/[ERROR] [1563347805.272316618]: Client [/rviz] wants topic /submap_list to have datatype/md5sum [cartographer_ros_msgs/SubmapList/...

2019-07-17 15:40:31 1749 9

转载 彩色图像和深度图像合成点云

彩色图像深度图像点云图从2D到3D(数学部分)上面两个图像给出了机器人外部世界的一个局部的信息. 假设这个世界由一个点云来描述:X={x1,…,xn}.其中每一个点,有r,g,b,x,y,z一共6个分量,表示它们颜色与空间位置。 颜色方面,主要由彩色图像记录; 而空间位置,可以由图像和相机模型、姿态一起计算出来。 对于常规相机,SLAM里使用针孔相机模型: ...

2019-06-27 15:10:02 7430 7

转载 python-解决pip安装CV2速度慢的问题

1.pip安装CV2对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。国内源:新版ubuntu要求使用https源,要注意。清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:htt...

2019-05-20 10:59:48 15093

转载 ROS常见msg类型

message:#文件位置:geometry_msgs/Vector3.msgfloat64 xfloat64 yfloat64 z #定义加速度项,包括线性加速度和角加速度#文件位置:geometry_msgs/Accel.msgVector3 linearVector3 angular #定义数据的参考时间和参考坐标#文件位置:std_msgs/Header.ms...

2019-04-19 22:24:34 4778

原创 python网络编程QQ小程序

最近应课程要求,设计一个基于Python的网络程序,所实现的功能为:聊天、发送文件。服务器运行截图:客户端运行截图:客户端代码:# -*- coding: utf-8 -*- from tkinter import *import socketimport threading import timefrom tkinter.filedialog...

2019-04-19 16:27:03 562

原创 rosdep

rosdep是一个用于安装系统依赖项的命令行工具1.安装rosdepsudo apt-get install python-rosdep2.初始化rosdepsudo rosdep initDoNOTrunrosdepupdatewith sudo. It is not required and will result in permission errors l...

2019-04-17 22:15:29 2025

转载 Ubuntu 解决E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

问题:E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?终端执行:sudo apt-get update 或者执行安装操作时出现E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无...

2019-04-17 12:47:05 174

原创 ROS的GPS驱动包

ROS WiKi地址:http://wiki.ros.org/nmea_gps_driverROS功能包:nmea_gps_driverPackage to parse NMEA strings and publish a very simple GPS message. Does not require or use the GPSD deamon1.节点nmea_topic_d...

2019-04-02 18:16:48 3615 6

原创 Ubuntu修改登录密码

Ubuntu更改密码步骤: 进入Ubuntu,打开一个终端,输入 sudo su转为root用户。 注意,必须先转为root用户!!! sudo passwd user(user 是对应的用户名) 。 输入新密码,确认密码。 修改密码成功,挂起,enter进入系统登录界面,输入新密码进入Ubuntu。 ...

2019-03-30 10:40:13 15494

原创 创建ROS自定义消息和服务类型

1.创建msg首先切换到功能包底下:$cd catkin_ws/src/scan$mkdir msg在msg文件夹下创建 一个名为laserscan.msg的文件,输入如下内容:Header headerfloat32 angle_min # start angle of the scan [rad]float32 angle_max # en...

2019-03-29 23:29:50 1320

转载 初探Turtlebot2

1. kobuki ros驱动安装1)硬件连接示意图,硬件连接接口都有防误插,连接到kobuki上的如图所示,一个为kinect的12V 1.5A供电接口,一个为与计算机通信的USB接口。2)ROS为kinetic版本,打开终端,运行如下命令: (也可以下载编码进行编译)sudo apt-get update sudo apt-get install ros-kinetic-...

2019-03-24 14:09:26 2538

原创 turtlebot2--修改操纵杆控制的速度(记录)

操纵杆使用的是XBOX360launch文件地址/opt/ros/kinetic/share/turtlebot_teleop/launch/xbox360_teleop.launch源码<launch> <!-- Push the left frontal button labeled as 'LB' to activate cmd_vel...

2019-03-22 15:26:43 776

转载 阿里ubuntu镜像源

ubuntu 14.04:http://mirrors.aliyun.com/ubuntu-releases/14.04/ubuntu 16.04:http://mirrors.aliyun.com/ubuntu-releases/16.04/ubuntu 18.04:http://mirrors.aliyun.com/ubuntu-releases/18.04/...

2019-03-20 14:39:05 613

原创 配置主从机

1.一般要求相同的ubuntu系统,机器人电脑为主机,工作站电脑为从机配置如下:此次我的turtlebot2上网本为主机,工作站为丛机1,配置工作站IP地址exportROS_MASTER_URI=http://(turtlebot2IP):11311exportROS_IP=(工作站的IP)2,配置turtlebot2IP地址exportROS_MASTER_URI=h...

2019-03-17 14:43:38 1063

原创 hector_imu_attitude_to_tf

Package:hector_imu_attitude_to_tfnode:imu_attitude_to_tf_node将IMU提供的横滚和俯仰角发布给TFSubscribed Topic:imu_topic(sensor_msgs/Imu)Imu发布的TopicParameters1.base_stabilized_frame (string, default: “ba...

2019-03-14 22:34:29 1015

转载 PCL中的ICP

ICP(迭代最近点)算法:https://www.cnblogs.com/21207-iHome/p/6038853.htmlICP的简单应用程序#include &lt;iostream&gt;#include &lt;pcl/io/pcd_io.h&gt;#include &lt;pcl/point_types.h&gt;#include &lt;pcl/registrati...

2019-03-14 21:36:03 1276

原创 R—Fans激光雷达三维PiontCloud2数据转二维LaserScan数据进行2D建图

本文所用的源码地址:https://github.com/ros-perception/pointcloud_to_laserscan.gitROS官网的说明: http://wiki.ros.org/pointcloud_to_laserscan激光SLAM算法种类比较多:其中就不乏人们所常用的:Hector,Karto,gmapping,cartographer;其中Hector算法只需...

2019-03-08 18:31:34 3601 10

原创 PCL库学习系列 一.点云的读取

1.点云数据文件格式(*.PCD)test_pcd.pcd# .PCD v0.7 - Point Cloud Data file formatVERSION 0.7FIELDS x y zSIZE 4 4 4TYPE F F FCOUNT 1 1 1WIDTH 5HEIGHT 1VIEWPOINT 0 0 0 1 0 0 0POINTS 5DATA ascii0.3...

2019-03-08 10:50:22 3611

原创 使用xsens控制Turtle移动

使用xsens MTi -28控制Turtle移动1.首先安装Xsens的驱动(kinetic)版本 sudo apt-get install ros-kinetic-xsens-driver rosstack profile rospack profile2. 启动Xsens,查看输出数据 sudo chmod 777 /dev/ttyUSB* roslaunch ...

2019-03-06 22:54:26 606

转载 ubuntu定时关机

1.定时关机sudo vi /etc/crontab添加:# shutdown daily30 23 * * * root /sbin/halt就是每天23:30关机2.定时执行Python脚本在桌面上打开终端输入:sudo crontab -e然后添加:*/1 * * * * usr/bin/python2.7 /home/li/d/python...

2019-03-01 15:20:37 1829

转载 ROS在rviz中实时显示轨迹(nav_msgs/Path消息的使用)

如何在rviz中如何实时显示轨迹呢?本文分析nav_msgs/Path结构,实现在rviz中画出圆形轨迹1.实现在rviz中画出圆形轨迹1.1分析nav_msgs/Path.msg结构nav_msgs/Path.msg结构std_msgs/Header headergeometry_msgs/PoseStamped[] poses将以上结构展开如下:std_msgs/Header...

2019-02-28 22:01:47 5719

翻译 ROS创建点云数据并在rviz中显示

实验环境kinetic+ROS+PCL1.新建工程mkdir -p catkin_ws/srccd catkin_ws/srccatkin_create_pkg chapter6_tutorials pcl_ros roscpp rospy sensor_msgs std_msgs cd ..catkin_make 2.编辑主函数pcl_create.cpp#include &amp;amp;amp;amp;amp;l...

2019-02-28 11:38:14 15325 10

原创 创建ROS功能包--小乌龟画圆和矩形

参考文章:https://blog.csdn.net/IMBA_09/article/details/84950696cd ~/catkin_ws/srccatkin_create_pkg my_turtle_package std_msgs rospy roscppstd_msgs,rospy,roscpp 为依赖包一个catkin的包主要有以下几个部分组成:(1)必须包括一个pac...

2019-02-26 15:17:59 3888 3

原创 xtion pro live驱动安装使用以及出现的问题

question:install 华硕Xtion pro live driver and use itanswer:https://blog.csdn.net/weixin_39272225/article/details/79886805question:creating depth generator failed. Reason: USB interface is not support...

2019-02-25 14:05:40 999

跟我一起写Makefile.pdf

跟我一起写 Makefile (PDF 重制版) 作者: 陈皓 2020 年 05 月 24 日 目录 1 概述 1 1.1 关于程序的编译和链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 makefile 介绍 3 2.1 makefile 的规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 一个示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 make 是如何工作的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 makefile 中使用变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 让 make 自动推导 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6 另类风格的 makefiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.7 清空目标文件的规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.8 Makefile 里有什么? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.9 Makefile 的文件名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.10 引用其它的 Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.11 环境变量 MAKEFILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.12 make 的工作方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 书写规则 13 3.1 规则举例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 规则的语法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3 在规则中使用通配符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.4 文件搜寻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.5 伪目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.6 多目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.7 静态模式 . . . . . . . . . . . . . .

2020-05-29

点云ICP思维导图-图片资源

ICP的思维导图,作为个人资料收藏

2019-03-26

空空如也

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

TA关注的人

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