自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(179)
  • 资源 (15)
  • 收藏
  • 关注

原创 PLC编程与实践——基础实验

一.准备1.首先我们要在电脑上装好博途软件,系统win7,win10都可以,安装步骤可以参考这篇博客2.打开软件如图,创建新项目,创建好后,点击组态设备——添加新设备,选择plc型号,实验室的型号是cpu 1214c DC/DC/DC6ES7 214-1AG40-0XB0,如图,双击选好的cpu,进入主界面二.实验内容1.起保停通过plc实现启动保持停止功能,这...

2019-12-23 18:26:42 539 1

原创 US-016超声波测距模块

1.概述US-016超声波测距模块可实现2cm~3m的非接触测距功能,供电电压为5V,工作电流为3.8mA,支持模拟电压输出,工作稳定可靠。本模块根据不同应用场景可设置成不同的量程(大测量距离分别为1m和3m);当Range管脚悬空时,量程为3m。US-016能将测量距离转化为模拟电压输出,输出电压值与测量距离成正比。2.主要技术参数 电气参数 ...

2019-12-10 11:24:24 842

原创 TIA portal v14怎么安装?

TIA portal v14怎么安装?博途v14授权秘钥安装教程图解TIA portal(博途)v14 是西门子工业自动化集团发布的一款全新的全集成自动化软件,本文主要针对TIA portal v14怎么安装的问题,来为大家带来了博途v14授权秘钥安装教程TIA portal(博途)v14 是西门子工业自动化集团发布的一款全新的全集成自动化软件,是业内首个采用统一的工程组态和软件项目...

2019-12-09 10:50:46 705

原创 socket封装

写在前面因为经常用到套接字通信,故对socket函数进行封装,方便后面直接调用,涉及到的平台包括linux和windows。Linuxgithub开源地址目录结构includecommon.h 需要的头文件mysocket.h socket基类头文件(包含发送以及接收函数)tcpclient.h 客户端类头文件tcpserver.h 服务端类头文件srcclient_main.cpp 客户端测试代码server_main.cpp 服务的测试代

2020-11-25 11:07:46 7

原创 move_base使用自己编写的全局规划器

编写全局规划器编写全局规划器首先在工作目录创建功能包catkin_create_pkg relaxed_astar nav_core roscpp rospy std_msgs在功能包下编写对应的头文件和源文件具体的规划器代码根据自己的实际需求进行编写,本文为简化版,结尾处附有github 源代码链接。RAstar_ros.h#include <stdio.h>#include <stdlib.h>#include <unistd.h>#includ

2020-11-04 15:01:09 58 3

原创 Realsense T265 简单上手

Realsense T265 简单上手实验室新买了一个相机,属于intel realsense 系列,两个单色鱼眼相机,自带IMU并配有VPU,性能强大,可以直接输出位置。就是拿来当IMU用也是不错的。废话不多说,直接上手系统:ubuntu16.041. 安装SDK可以直接去官网看教程,SDK的安装可以采用编译安装,也可以使用源安装,这里我们选用简单的源安装。# Add Intel server to the list of repositories :echo 'deb http://

2020-11-02 14:48:48 62

原创 Fast Segmentation of 3D Point Clouds: A Paradigm on LiDAR Data for Autonomous Vehicle Applications阅读

该篇点云论文主要分为两个阶段的创新:①点云地面点的提取(Ground Plane Fitting, GPF);②点云扫描聚类快速提取(Scan Line Run, SLR);一、Ground Plane Fitting, GPF先上伪代码图解释:第一步:首先根据输入的点云,进行一个按照高度的排序,选出N个高度最低的点,并求取高度平均值,作为后续初始种子的评价,根据高度和预设的阈值进行划分,得到种子点云(可以理解为地面点云的初始化)第二步:根据获得的初始化点云,求取平面的法向量

2020-10-28 11:35:16 45

原创 通过示教器或ROS控制UR机械臂

一、初始化二、抓取实验1.编写程序1.1选择为机器人编程——选择一个空程序。2.机械手激活下面开始编写程序,依次点击结构——URCap——机械爪激活,回到命令窗口,点激活。3.设置路点依次点击结构——基本——路点,回到命令窗口,设置路点,可以用手动或者点击各个关节按钮,将机械臂移动到合适的位置.4.机械手抓取依次点击结构——URCap——机械爪——EditAction,调整机械爪的状态(抓)。同理设置第二个路点和机械爪(放),点击下方...

2020-10-23 15:12:58 156 4

原创 windows下 Qt+OpenCV环境搭建

主要借鉴下面两篇博客,其中第二篇详细点,但是错误处有一些。注意:1.安装Qt依照参考1,不用选择全部安装,参考2会导致过渡安装小号空间。2.使用Cmake编译opencv的时候参照 参考1配置3.配置好环境变量后,请重新启动电脑在进行程序测试。参考1:Qt+OpenCV环境搭建 - 简书 https://www.jianshu.com/p/c244c9d01fe0本机环境:Windows7-64位Qt Creator 4.5.1OpenCV 3.2.0CMake 3.1..

2020-10-21 14:41:50 29

原创 C++ 的bitset 用法简介

https://www.cnblogs.com/magisk/p/8809922.htmlbitset是C++语言的一个类库,用来方便地管理一系列的bit位。使用bitset需要导入头文件:#include <bitset>函数: bool any(); ------ 如果有位被设置为1返回真,否则返回假。 size_type count(); ------ 返回bitset中被设置成1的位的个数。 bitset &flip(); 或 bitset &

2020-09-13 14:22:07 19

原创 编程题:根据前序遍历和中序遍历,重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */

2020-09-07 15:37:13 41

原创 常用排序算法C++实现以及复杂度

1.冒泡排序int boblesort(int a[], int len){ for(int i=len-1;i>0;i--) { int flag = 1; int index = 0; for (int j = 0; j < i; j++) { if (a[j] > a[j + 1]) { cout<<"**"<<endl; int temp = a[j]; a[j] = a[j + 1];

2020-09-05 14:32:24 27

原创 Lego-loam编译安装与运行

依赖ROS (tested with indigo and kinetic) gtsam (Georgia Tech Smoothing and Mapping library)安装gtsam先决条件Boost >= 1.43 (Ubuntu: sudo apt-get install libboost-all-dev) CMake >= 2.6 (Ubuntu: sudo apt-get install cmake) A modern compiler, i.e., at l

2020-08-25 18:21:45 102

原创 解决:找不到step7 basic。

解决方法1.停止automation license manager service服务2.删除授权文件检查你的授权文件夹AX NF ZZ是放在哪个盘,C盘还是D盘,在工具--文件夹选项--查看----选上显示所有文件和文件夹,同时去掉隐藏受保护的操作系统文件(推荐),就能看到里面的内容,可以直接删除,再重新授权,授权时注意只要安装使用的授权就行。3.重新授权4.启动automation license manager service服务1.删除原授权的License:打开.

2020-08-25 15:31:17 666

原创 Ubuntu初始设置—美化

效果图ubuntu安装分区单独安装ubuntu时,/boot分区设为主分区,给2G,其他都是逻辑分区,交换分区(swap)给8G,根目录 / 给40G以上,其他的都给/ home,将boot安装在/boot分区。安装Windows和ubuntu双系统时,设置U盘启动时要选择有uefi前缀的U盘,注意不要分/boot分区,交换分区(swap)设为主分区,给8G,其他都是逻辑分区,根目录 / 给40G以上,其他给 /home,将boot安装在Windows boot manager。一般

2020-08-24 11:11:13 53

转载 解决罗技GHUB 安装 一直初始化 下载不了问题

罗技的GHUB在安装时一直处于初始化状态,可以通过修改时间解决。原地址罗技 GHub 解决初始化无法安装教程侵删。

2020-08-24 10:34:21 11718

转载 卡尔曼滤波算法原理

卡尔曼滤波算法的深入理解_L_smartworld的博客-CSDN博客_kalman滤波算法原理 https://blog.csdn.net/L_smartworld/article/details/82145013以前对于这个算法只会调用,并没有深入的理解。现在碰到一个项目,没办法只能硬着头皮去理解了。网上看了很多资料,感觉写的也一般般,现在我讲自己的理解。 卡尔曼滤波算法的核心是动态调整权值。用过互补滤波的应该知道它的权值是静态的,而卡尔曼是动态的。刚刚接触卡尔曼也不要紧张,我来...

2020-08-23 14:49:13 110

原创 2021.8.23杭州安恒机试——斐波那契数的迭代与判断

斐波那契数的迭代与判断。#include <iostream>using namespace std;int fab(int n){ if(n==0) return 0; if (n == 1) return 1; if (n>=2) return fab(n - 1) + fab(n - 2);}int isfab(int m){ int result = 0; if (m == 0) return 1; for (int i = 0;

2020-08-23 10:56:08 66

原创 Matlab和ROS数据互联

Matlab中集成了ROS的扩展接口,实现了与ROS的通信,极大的方便了我们的调试,下面我先简单介绍下如何实现通信,方法一般都能百度的到,我就不详细的介绍了,首先,Matlab的版本最好新一点,貌似老版还不支持ROS,我用的版本是R2016a。保证自己装有Matlab和ROS的两个pc保持在同一网端,当然Matlab和ROS装在同一pc上是OK的,我用的是一台装有Win10系统(安装了Matlab)和一台装有Ubuntu16.04(装有ROS)的PC,首先查看两台电脑的ip,windows可以进入cmd

2020-08-02 17:18:04 114

原创 Ubuntu16.04下Autoware1.10编译安装

最新版本的 Autoware,因为新版本不带雷达和相机的标定工具,我安装的是 1.10.依赖项:需要Qt ROS CUDA可选。我这里本身是kinect ros,所以只需要安装qt。安装qt5.12.从Qt官网找到要下载的包linux-x64链接:https://download.qt.io/official_releases/qt/5.12/5.12.9/.根据自己的系统选择对应的包。 cd /home/user/Downloads进入到下载目录里。/user是自

2020-08-01 14:56:42 158

原创 在VS中配置snap7并用snap7与PLC通信

前言之前实验室的小车使用OPC与上位机通信,但由于年代已久,师兄们写的代码已看不懂加上OPC配置比较麻烦,故现在现在采用snap7进行开发。snap7介绍Snap7是一个基于以太网与西门子S7系列PLC通信的开源库,在世界领域应用很广。但也许是因为资料比较少,而且很多都是纯英文,在国内反而没有大规模的应用。snap7官网有具体的说明以及相应的论坛。vs上snap7配置首先去这个网址下载snap7的开发包https://sourceforge.net/projects/snap7/files/1

2020-07-30 22:11:21 611

原创 nginx-RTMP + ffmpeg实现远程图传

uuid: 6de37c35-4f6e-6483-3c9e-0ac28cf911e8title: 网络图传配置categories:Linuxtags:linuxweb因为学习需要搭建远程的图像传输,最后决定采用nginx + rtmp模块+ ffmpeg+web的方式进行服务器端配置首先服务器端要安装nginx和nginx-rtmp模块,如果都没有安装可以一起编译安装,如果已经安装nginx,则需要单独安装模块。下面简单说一下下载nginx-rtmp-module Git.

2020-07-28 16:15:45 41

原创 Kinect v2.0 在ubuntu 16和ROS中的驱动安装和内参标定

安装Kinect 2.0驱动下载驱动包:cd ~ #设置克隆目录,当前在Home目录中,也可以设置在其它目录中git clone https://github.com/OpenKinect/libfreenect2.git cd libfreenect2安装编译工具:sudo apt-get install build-essential cmake pkg-config安装libusb. The version must be >= 1.0.20:sudo a...

2020-07-28 13:14:48 61

原创 两轮差速运动解算

正运动学解逆运动解编码订阅cmd_val下的geometry_msgs::Twist消息 ,并且实际转化为左右轮的速度,以下是转换的源码。geometry_msgs::Twist twist = twist_aux;double vel_x = twist_aux.linear.x;double vel_th = twist_aux.angular.z;double right_vel = 0.0;double left_vel = 0.0;if(vel...

2020-07-27 10:16:30 294

原创 利用Eigen求广义逆矩阵

原理:代码:Eigen::MatrixXd MainWindow::pinv(Eigen::MatrixXd A){ Eigen::JacobiSVD<Eigen::MatrixXd> svd(A, Eigen::ComputeFullU | Eigen::ComputeFullV);//M=USV* double pinvtoler = 1.e-8; //tolerance int row = A.rows(); int col = A.co

2020-07-24 14:34:46 223

原创 利用Robosense 16线雷达和IMU在自己机器人上在线实时跑3D Cartographer(二)

关于3D cartographer 需要加入IMU,如果IMU 消息加入顺利,那就很快的。下面一点一点说问题。Launch文件这里我试验了cartographer_node和cartographer_offline_node,都是可以成功的跑出来的。很关键的就是要把消息映射好,如果跑起来报错,打开rqt_graph,可以看到消息传递,如果是隐射对的,但是cartographer-ros没有订阅你的话题,建议查看下你的lua文件。比如我一开始 num_point_clouds = 2总

2020-07-16 15:19:47 288 5

转载 Cartographer的CSM理解

原文链接:https://blog.csdn.net/weixin_35695879/article/details/103511418前言在激光SLAM中,相关性扫描匹配可是重点中的重点,而分支限界加速更是大大提高了它的实时性。本文就来详细解读一下其中的奥秘。激光SLAM前端既然是SLAM,那么通常都会分为前端和后端。前端充当里程计的角色,比如我们熟知的VO(视觉里程计)和VIO(视觉惯性里程计)。激光SLAM也需要前端,对于每一帧点云,通常是使用所谓的扫描匹配(scan-match)方法

2020-07-14 16:42:57 195

原创 在自己的机器人上跑 Cartographer pure location纯定位

本文基于本人的2D Cartographer SLAMhttps://blog.csdn.net/qq_34935373/article/details/107181281话不多说:依然三个项目文件配置:launch文件:<launch> <param name="/use_sim_time" value="false" /> <param name="robot_description" textfile="$(find cartograp

2020-07-13 14:22:39 657 17

原创 利用Robosense 16线雷达和IMU在自己机器人上在线实时跑3D Cartographer(一)

前提:1.需要三维激光启动节点,发布/points2;2.需要IMU发布imu 的相关消息。步骤和2D一样:下面我直接给文件内容,看了2D,3D应该好理解很多,不过我花了比2D多2倍的世界,可能脑子不在线:urdf文件:...

2020-07-12 16:03:19 425 5

原创 字符数组转化成HEX(16进制)字符串

将数组转成16进制hex字符串数组(版本二比版本一效率高-未测试)更多内容参考以下网址。https://www.chenxublog.com/2020/03/08/c-fast-convert-hex-char-array.html#include <stdio.h>#include <string>#include <iostream>using namespace std;const char hex_table[] = { '0','1','2'

2020-07-11 19:31:05 145

原创 windows和linux下各类型字节长度

2020-07-10 14:19:47 152

原创 CP2102 USB to UART Bridge Controller 驱动安装(windows or Ubuntu)

CP2102是一款USB转TTL电平的USB转串口芯片,使用时发现诸多小网站上的驱动不是病毒就是安装后无效,经同事推荐去官网下载后成功连接。官网地址:https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers打开上述链接,按照自己系统下载驱动,并解压和安装。gen根据电脑选择64 或者32位。然后就可以在电脑看到端口了。哇,搞了一上午st_link,其好像不能作为UART转US

2020-07-09 14:39:13 2669

原创 串口在ros中的使用

参考http://www.roswiki.com/read.php?tid=557&fid=391.通过sudo apt-get install ros--serial下载ROS对应版本的工具包serial会安装在opt/ros//share/serial目录下,重启终端,输入 roscd serial,可以检测到serial包的路径,说明serial包已经安装成功2.使用ros自带的serial包,编写节点#include <ros/ros.h> #include &lt

2020-07-08 14:16:45 210 1

原创 rosbag使用简介

话题录制:录制所有发布出来的话题,此时默认将话题保存在一个以当时时间戳命名的文件夹中:$ rosbag record -a1录制指定话题:$ rosbag record /topic1 /topic121话题回放:基本功能:$ rosbag play <your bagfile name>1等待一定时间之后发布bag文件中的内容$ rosbag play <your bagfile name> -d <delay time>1按一定频率

2020-07-08 13:53:07 107

原创 利用Robosense 16线雷达在自己机器人上跑cartographer 2D(二)

大概流程走完,其实还是有点懵逼的,下面就官方文档,讨论下细节,要是我自己没注意到的点。Validate your bag如果是准备跑自己的或者别人的bag包,这一步是很有必要的,可以从中获得相关消息的topic和frame_id,这个在填写lua文件和launch 文件的topic重映射时可以用到。首先要在工作目录 source 下,然后执行命令:source devel_isolated/setup.bashcartographer_rosbag_validate -bag_filen

2020-07-08 10:17:26 220 1

原创 利用Robosense 16线雷达在自己机器人上跑cartographer 2D(一)

首先,根据不同的雷达,了解雷达发布的点云消息。(IMU也是一样,了解IMU发布的点云topic)。本文使用的是Robosense 16线激光雷达,暂时未使用IMU(建议6轴,再加上GPS定位精度会高很多)发布PointCloud2类型的消息默认的topic为rslidar_points。主要步骤分为:配置URDF文件 —》配置.lua文件—》配置launch文件上述三个文件分别在cartographer的configura_files、urdf、launch文件夹下。配置URDF文件意义

2020-07-07 15:38:54 466 1

原创 Robosense 16线激光雷达在ros中使用

we环境:1、Robosense 16线激光雷达;2、笔记本电脑;3、Ubuntu 16.04;4、ROS Kinetic。安装依赖项sudo apt-get install libpcap-dev下载源码到工作目录的src/文件夹下cd ~/catkin_ws/srcgit clone https://github.com/RoboSense-LiDAR/ros_rslidar修改权限cd ~/catkin_ws/src/ros_rslidar...

2020-07-07 08:55:42 446

原创 apt-get报错:E:无法获得锁/var/lib/dpkg/lock E :无法获取dpkg前端锁

解决方法:sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock如果不行,继续执行:ps -e | grep apt查询当前有那些进程,然后kill掉sudo kill ##进程号##

2020-07-07 08:14:02 129

原创 Cartographer编译安装

官网安装教程:https://google-cartographer-ros.readthedocs.io/en/latest/compilation.html不过由于网络问题,可能在下载的时候会下载中断。我会上传我自己下载的到资源处,可能需要点金币。cartographer的安装主要是prtobuf和cartographer的安装,cartographer_ros时ROS的功能包,调用cartographer算法。安装依赖:sudo apt-get updatesudo apt-get

2020-07-06 15:17:30 85

原创 Git学习记录

如果对命令行不太熟悉,可以使用客户端来管理代码。在windows平台下可以使用GitHub desktop上传代码,下载地址为https://desktop.github.com/,安装完成启动客户端创建仓库可以通过github的官网中登陆自己的账号,点击Repositories创建一个新的仓库,输入仓库名(英文)并对仓库简单的描述,初始化一个readme。克隆仓库如果是通过官网创建的仓库,可以直接克隆仓库。打开新创建的项目,可以看到有一个"clone or download"的..

2020-06-13 10:24:37 66

STM32F429 FreeRTOS用户指南.pdf|STM32F429 FreeRTOS开发手册V1.2.zip

STM32F429 FreeRTOS用户指南.pdfSTM32F429 FreeRTOS用户指南.pdfSTM32F429 FreeRTOS用户指南.pdfSTM32F429 FreeRTOS用户指南.pdfSTM32F429 FreeRTOS用户指南.pdfSTM32F429 FreeRTOS用户指南.pdfSTM32F429 FreeRTOS用户指南.pdfSTM32F429 FreeRTOS用户指南.pdfSTM32F429 FreeRTOS用户指南.pdfSTM32F429 FreeRTOS用户指南.pdf

2020-10-18

2d_3d_myself.zip

cartographer配置

2020-07-12

cartographa.zip

cartography安装资源和测试实例bag.

2020-07-06

roboware stidio 和gazebo model.zip

roboware stidio 和gazebo model.zip RoboWare_raw_master_Studio_roboware-studio_1.2.0-1524709819_amd64

2020-03-22

snap7dlllib.zip

snap7dlllib.zip

2019-11-01

robot_vision.zip相机标定,单目、双目、opencv、cvbrige等代码文件

robot_vision.zip相机标定,单目、双目、opencv、cvbrige等代码文件

2019-09-25

linux/ros/qt/snap7.tar.gz

博客中的实验过程中的代码包,代码注释多为实验过程。

2019-08-20

snap7库在qt5下的配置程序存档

snap7库在qt5下的配置程序存档。

2019-08-09

snap7-master.zip

Snap7作为上层软件与PLC的交互,实现了PLC的读写等操作,以及PLC之间的通讯问题!作为Qt开发的功能包

2019-08-09

pto718test.zip

PLCS7-1200的1212DCDCDC的pto测试轴,按照指定速度运行的梯形图。

2019-08-03

ros大集合.zip

本压缩包汇集了各种各样的ros-indigo的电子教材,很多都是很经典的,比如ros_by_example_indigo_volume_1.pdf,Learning ROS for Ubuntu .pdfLearning robotics using python.pdfROS_Robot_Programming_CN.pdfA Gentle Introduction to ROS .pdfROS机器人程序设计.pdfROS十天学基础(by dreamluo开源机器人操作系统--ROS (张建伟等著).pdf).pdf

2019-07-30

基于QT开发的读取微软xbox手柄读写信息,并写入文件

通过qt软件读取微软手柄的按键消息,界面化显示,并写入文件txt,QT版本为QTcreator5.5,使用前请删除***.pro.user文件,写入的joy_keyinfo.txt文件位于编译生成的文件夹里面。该版本存在问题:手柄轴的零点漂移问题,不知道是实验室手柄问题还是代码问题,待解决。

2019-07-25

elmo驱动器相关的手册

elmo驱动器相关的手册,接线图,软件使用,代码编写等等

2019-07-08

ros_car_py

使用python完成了真实环境下的二轮移动机器人的运动控制,ROS建图和导航,并加入了上位机控制的UI界面设计。实验室所采用的二轮机器人配备了24V电源,beaglebone控制板作为客户端,上位机笔记本ROS结点作为服务器,Kinect V1深度相机结合ros包将深度信息转换为激光信息完成建图和导航

2019-05-02

自主移动机器人导论(中文版)Introduce to autonomous mobile robots

Introduce to autonomous mobile robots, Rolland Siegwart IIIah R. Nourabakhsh.

2019-04-26

空空如也

空空如也

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

TA关注的人 TA的粉丝

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