linux
文章平均质量分 54
Jzzzzzzzzzz
我爱学习,学习使我快乐
展开
-
Ubuntu18.04 ROS melodic安装 cartographer
Ubuntu18.04 ROS melodic安装 cartographercartographer是Google开发的建图的包,笔者在Ubuntu16.04安装过hit版本的cartographer,但是在Ubuntu16.04的环境下,会报出很多的错误,因此不再采用。安装cartographer最大的问题就是需要翻墙,CSDN上的包现在基本不靠谱。经过一番折腾,还是科学上网,参考官方的教程。不需要ROS需要ROS若直接安装Compiling Cartographer ROS这个教程,很可能出现c原创 2021-09-23 14:25:21 · 407 阅读 · 0 评论 -
野外移动机器人的导航-导航算法调研
1原创 2021-07-05 20:50:47 · 663 阅读 · 4 评论 -
野外移动机器人的导航-建图调研
octomap中3d-rrt路径规划octomap中进行路径规划基于UAV的源码原创 2021-07-01 23:08:52 · 656 阅读 · 0 评论 -
《基于RGBD相机的Active SLAM的研究》-实物平台的搭建
使用的平台采用的是kobuki的机器人底盘,上位机采用nuc原创 2021-06-18 22:19:55 · 201 阅读 · 2 评论 -
《基于RGBD相机的Active SLAM的研究》-RRT*
本文将介绍ompl库中,RRT*算法在路径导航中的应用设置2D导航地图中的边界条件,机器人的状态可以用(x,y,theta)来描述 // set the bounds for the A=R^6 ob::RealVectorBounds Qbounds(n); Qbounds.setLow(0, MIN_X); // x_min Qbounds.setHigh(0, MAX_X); // x_max Qbounds.setLow(1, MIN_Y); // y_min Qbounds.setH原创 2021-05-11 09:00:03 · 297 阅读 · 0 评论 -
《基于RGBD相机的Active SLAM的研究》-仿真
搭建的仿真环境roslaunch /home/jianzhuozhu/catkin_ws/src/Active-ORB-SLAM2-master/Examples/ROS/ORB_SLAM2/launch/turtlebot_world.launchroslaunch turtlebot_teleop keyboard.launch原创 2021-05-06 11:20:26 · 268 阅读 · 1 评论 -
《基于RGBD相机的Active SLAM的研究》-Active-ORB-SLAM2源码安装
github地址:https://github.com/XinkeAE/Active-ORB-SLAM2安装步骤Clone the repository:git clone https://github.com/XinkeAE/Actuve-ORB-SLAM2.gitcd Active-ORB-SLAM2chmod +x build.sh./build.shThis will create libORB_SLAM2.so at lib folder and the executable原创 2021-03-06 15:24:33 · 653 阅读 · 1 评论 -
《基于RGBD相机的Active SLAM的研究》-orb_slam2源码解读
注:本文使用的代码为orb_slam2_ros详见:https://github.com/electech6/ORB_SLAM2_detailed_comments1,线程trackingtrack线程在文件Tracking.cc中间,包含两部分:估计运动、跟踪局部地图Step 1:初始化mState为tracking的状态,包括 SYSTME_NOT_READY, NO_IMAGE_YET, NOT_INITIALIZED, OK, LOST,在初始化之后,如果跟踪正常,这个状态量为OKSt原创 2021-03-02 18:58:34 · 362 阅读 · 0 评论 -
《基于RGBD相机的Active SLAM的研究》-模型建立
基于RGBD相机的Active SLAM的研究系统状态向量的协方差系统的状态空间模型视觉SLAM系统的数学描述系统状态向量的协方差状态协方差矩阵P就是状态之间的协方差组成的矩阵,对角线元素是各个状态的方差,其余元素是相应元素的协方差系统的状态空间模型这是小车Body的状态向量,代表小车在世界坐标系下面的位姿而在本体坐标系下面,仅有两个控制量我们将这两个本体坐标系下面的量映射到世界坐标系下面去,按照zyx的顺序,构成一个旋转矩阵得到的运动学模型如下将面这个式子离散化,变成运动方程原创 2021-03-01 10:07:32 · 163 阅读 · 0 评论 -
《基于RGBD相机的Active SLAM的研究》-PNP方法
针对map_frame到camera_frame的转换的问题,打算采用基于PNP的ORB_SLAM2,故有必要对PNP好好回顾一下。1,P3P在 SLAM 当中,通常的做法是先使用 P3P/EPnP 等方法估计相机位姿,然后构建最小二乘优化问题对估计值进行调整(Bundle Adjustment)。顾名思义,P3P仅仅使用3对匹配点,如图由余弦定理可知x2+y2−2xycos⟨a,b⟩=AB2/OC2y2+1−2ycos⟨b,c⟩=BC2/OC2x2+1−2xcos⟨a,c⟩=AC2/OC2x原创 2020-12-18 11:08:12 · 426 阅读 · 1 评论 -
Batch normalization实践
输入数据,一元二次函数,加上高斯噪声y=x2−5y=x^2-5y=x2−5x_data = np.linspace(-7, 10, 500)[:, np.newaxis]noise = np.random.normal(0, 8, x_data.shape)y_data = np.square(x_data) - 5 + noise建立7层神经网络,每一层都使用 relu作为激励函数,7层,每层30个神经元。这是输入数据不对输入层norm每层的数据分布误差曲线对输入数据也norm原创 2020-12-12 20:26:44 · 207 阅读 · 0 评论 -
《SLAM十四讲》阅读笔记-《2D Grid Mapping and Navigation with ORB SLAM》
Though this point cloud can be useful for obtaining the 3D structure of the environment, it is not as useful for path planning and navigation using algorithms that need a 2D occupancy grid map as input.The point cloud produced by ORB SLAM is somewhat sp.原创 2020-11-28 20:44:36 · 1456 阅读 · 4 评论 -
《SLAM十四讲》阅读笔记-ORB_SLAM2实践
1,安装ORB_SLAM2参考安装,不是一番风顺会有一些坑2,安装astra相机注意要安装openin,再去安装功能包安装3,RGB-D实时跑参考启动相机roslaunch astra_camera astra.launch启动SLAMrosrun ORB_SLAM2 RGBD /home/jianzhuozhu/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/jianzhuozhu/catkin_ws/src/ORB_SLA原创 2020-11-28 14:41:19 · 234 阅读 · 0 评论 -
《slam十四讲》阅读笔记-视觉里程计
1,尺度不变性计算机视觉界引入了尺度不变特征的概念。 它的理念是, 不仅在任何尺度下拍摄的物体都能检测到一致的关键点,而且每个被检测的特征点都对应一个尺度因子。 理想情况下,对于两幅图像中不同尺度的的同一个物体点, 计算得到的两个尺度因子之间的比率应该等于图像尺度的比率。注意ORB并没有解决尺度不变性的问题,需要再加上图像金字塔的才能达到尺度不变性。2,ORB特征匹配ORB特征匹配,相比SIFT,SUFT来说更快,但是降低了一定的精度和健壮性。ORB使用FAST关键点和BRIEF描述子,匹配方法使原创 2020-11-12 16:25:01 · 183 阅读 · 1 评论 -
解决opencv在vs code中头文件找不到的问题
在一段程序中,有引用opencv头文件#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/features2d/features2d.hpp>#include <opencv2/highgui/highgui.hpp>尽管cmake会通过,但这时候vs code在这些下面会出现红色波浪线无法打开 源 文件 "opencv2/core/core.hpp"无法打开原创 2020-11-09 21:05:28 · 11021 阅读 · 3 评论 -
《slam十四讲》阅读笔记-非线性优化
1,对似然函数的理解似然性(likelihood)与概率(possibility)同样可以表示事件发生的可能性大小,但是二者有着很大的区别:而所谓最大似然估计(Maximize Likelihood Estimation, MLE)是指在给定的观测数据下,找出参数θ\thetaθ ,使得生成观测数据xxx的概率函数P(x∣θ)P(x|\theta)P(x∣θ)最大,表示为在状态估计问题中,状态变量xxx成为参数,这个时候表示为在这种情况下,可以理解成“在什么样的状态下,最可能产生现在观测到的数原创 2020-11-07 10:52:56 · 582 阅读 · 0 评论 -
movebase局部规划调参
这个介绍的比较清楚局部规划调参简书里面一共有5个有关的,movebase写的比较好原创 2020-10-23 17:08:59 · 493 阅读 · 0 评论 -
Ubuntu18.04+openv-2.4.9
ubuntu18.04安装openv-2.4.9会出现很多问题安装教程参考安装踩坑亲测有效原创 2020-10-21 20:58:34 · 114 阅读 · 0 评论 -
双系统删除Ubuntu,出现grub无法正常启动的解决办法
https://blog.csdn.net/Liuss2/article/details/80384563原创 2020-10-18 16:18:42 · 313 阅读 · 0 评论 -
vrep_ros_bridge
vrep_ros_bridge原创 2020-09-23 11:16:35 · 168 阅读 · 0 评论 -
自主导航系列20-cartographer排雷
1.安装kinetic+cartographer+turtlebot3仿真Cartograrher的安装首先在ubuntu主目录下建立cartographer的工作环境“google_ws”$mkdir google_ws1.安装依赖$ cd google_ws$ sudo apt-get update$ sudo apt-get install -y python-wstool python-rosdep ninja-build2.初始化工作空间$ cd catkin_ws$ wst原创 2020-09-14 08:52:33 · 237 阅读 · 1 评论 -
自主导航系列21-layered论文阅读
自主导航系列21-costmap2020-9-101.costmap论文研究Costmaps for Context-Sensitive Navigation 这篇论文阐述了layered maps相对于Monolithic的优点,解读了layered costmap的构造和他的生成过程标准的layered costmap分为4层static map layer:静态层,是master costmap的底层,可以使用预先生成的静态地图,也可以创建空白地图obstacles layer:激光原创 2020-09-14 08:51:56 · 248 阅读 · 0 评论 -
python学习之旅1-win入门
python学习之旅1-win入门1,安装官方的安装实在是太慢了,推荐这个网址下载3.8.2,安装好,记得添加python的地方要勾选!运行python的文件的时候输入命令python test.py即可。用#号作注释2,数据类型在给变量赋值的时候,不需要声明数据类型,赋什么类型的值,就是什么类型如,如c='ddd d dcd'print(c)a,b,c,d=1,2,3,4print(a,b,c,d)注意变量的命名不能以数字开头元组类型b=()列表类型c=[]字典类型原创 2020-09-08 09:43:40 · 206 阅读 · 0 评论 -
自主导航系列19-costmap与rostopic
自主导航系列19-costmap与rostopic2020-9-41,插件安装新建一个ros功能包,catkin_make的时候输出成库文件在move_base里面修改参数配置文件,使得move_base引用这个插件自行新建一个发布坐标点的节点配置文件添加以下代码costmap_common_paramsobstacles: observation_sources: scan scan: {data_type: LaserScan, topic: /scan, marki原创 2020-09-04 16:29:01 · 267 阅读 · 0 评论 -
自主导航系列18-ros插件机制
自主导航系列18-ros插件2020-9-31,一个bug在编译sub1= n.subscribe("/cmd_vel", 1,SimpleLayer::openpoints);时,出现报错no matching function for call to ‘ros::NodeHandle::subscribe(使用sub1= n.subscribe("/cmd_vel", 1, & SimpleLayer::openpoints,this);编译通过。主要的问题在于在类里原创 2020-09-04 16:28:30 · 383 阅读 · 0 评论 -
自主导航系列17-costmap
自主导航系列17-costmap日期:2020-9-11,movebase总体框架2,仿真环境下的结构关系需要修改的部分[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pUTnjJBv-1599208020713)(/home/jianzhuozhu/.config/Typora/typora-user-images/image-20200901091640714.png)]rostopic info /move_base_node/global_costma原创 2020-09-04 16:27:13 · 207 阅读 · 0 评论 -
自主导航系列16-rrt源码
自主导航系列16-rrt源码参考1,理论基础简单来说,Rapidly Exploring Random Trees 快速探索随机树是基于随机采样的规划算法。RRT的起点为一个根节点root拓展根节点的方法为随机采样+步长限制+碰撞检测,每一轮迭代都会由父节点产生子节点N轮迭代后,我们已经获得了一颗如下图所示的随机树,这时我们发现此时的随机采样点竟然幸运地落在了终点的步长限制范围内,并且二者之间不存在障碍物总结一下就是生成一个随机采样点NewNode,并判断采样点是否位于自由区域遍历随机树,原创 2020-08-30 21:57:24 · 186 阅读 · 0 评论 -
自主导航系列15-cartographer源码
自主导航系列15-cartographer源码1,关于cartographer的一点小错误这种情况laser与map有不正常的关系我们启动原创 2020-08-28 16:46:40 · 218 阅读 · 0 评论 -
自主导航系列14-Cartographer
本来打算用gmapping的但是odom的偏差巨大,只好使用Cartographer。先试一下装的时候挺复杂的Cartographer库目前只支持到Ubuntu16.04版本,所以不能安装更高版本。最好是新开一个工作空间,因为他的编译方式1.安装所有依赖项sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libproto原创 2020-08-24 16:54:49 · 545 阅读 · 0 评论 -
视觉slam系列3-相机
视觉slam系列3-相机针孔相机模型我们直接贴出公式K表示相机的内参矩阵,是由相机出厂就设置好的。自己确定相机的内参称之为标定。转换到世界坐标系,更有T为它的外参矩阵,若对Pc归一化,则可以在等式坐标消除Z参数。...原创 2020-08-21 19:12:26 · 135 阅读 · 0 评论 -
视觉slam系列1-编程基础
视觉slam系列1-编程基础1,g++指定输出名g++ helloSLAM.cpp -o [输出可执行文件名,后缀不重要]2,cmake根据CmakeLists.txt用 cmake 命令生成一个 makefile 文件,然后,用 make命令,根据这个 makefile 文件的内容,编译整个工程以.a和.so为尾缀的都是库文件,其中.a为静态库,.so为共享库文件,可以使用# 添加一个共享库add_library(hello_shared SHARED src/libHell原创 2020-08-16 21:03:34 · 138 阅读 · 0 评论 -
自主导航系列11-gazebo的模型建立
自主导航系列11-gazebo的模型建立昨天在做有关robpt_pose_ekf的时候,发现自己gazebo的知识极度欠缺,反正这段时间比较闲,我可以学一下这些基础的东西使用robot_pose_ekf如果不使用这个包可能会出现“卡墙”之前的节点关系我试着与move_base结合,这个图使用的是基于turtlebot3融合之后的产物完成后的/tf长这样修改的turtlebot3_roboot_pose_ekf如下<launch><i.原创 2020-07-28 20:50:17 · 634 阅读 · 1 评论 -
自主导航系列10-robot_pose_ekf
自主导航系列10-robot_pose_ekf1,基本准备工作运行一个带有/imu和/odom融合的包roslaunch turtlebot3_gazebo turtlebot3_house.launchrostopic/clock/cmd_vel/gazebo/link_states/gazebo/model_states/gazebo/parameter_descriptions/gazebo/parameter_updates/gazebo/set_link_sta原创 2020-07-27 11:08:28 · 329 阅读 · 0 评论 -
自主导航系列9-/odom
自主导航系列9-/odom主要学习有关move_base的launch文件的常用node与launch1,成员nodegmapping包,我们不赘述了<node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen" >move_base参数设置<node pkg="move_base" type="move_base" respawn="false" name="move原创 2020-07-25 21:40:04 · 893 阅读 · 0 评论 -
自主导航系列7-DWA
自主导航系列7-DWA在Movebase主体中,各层地图的更新被启动,Action的回调函数触发全局规划线程,若成功,则将全局规划结果传入局部规划器,循环进行局部规划,得到速度指令,控制机器人前进,直到到达目标。其间,需要判断机器人是否到达终点(若是则规划停止)、机器人是否状态异常如发生震荡行为(若是则进入恢复行为)、机器人是否超时(若是则停止规划发布零速,否则重新规划)等等。1,costmap这一篇讲costmap讲的挺好的2,move_base的动作服务器move_base类利用ac原创 2020-07-23 10:12:58 · 485 阅读 · 0 评论 -
自主导航系列6-自主探索slam
自主导航系列6-自主探索slam1,三叉树算法的问题 节点识别的问题,这是一个很大的问题,节点种类繁多,具体情况复杂 需要很好的控制小车,拐弯算法难度大 没有现成的代码,轨迹规划等包需要自己写,而且要求控制精度高,难以实现 基于以上原因我决定现将三叉树搁置一段时间,着重研究move_base包的原理以及实现2,安装ros_exploringgit clone https://github.com/huchunxu/ros_exploring.git安装常见问题原创 2020-07-21 23:32:40 · 832 阅读 · 0 评论 -
自主导航系列5-无先验走迷宫
自主导航系列4-无先验走迷宫1,编写靠左走的仿真程序/***************************************************** * @author:jianzhuozhu * E-mail:sz170320221@163.com * Date:2020/7/19 * Description:*/#include <opencv2/opencv.hpp>#include <opencv2/core/core.hpp>#incl原创 2020-07-19 21:35:42 · 256 阅读 · 0 评论 -
自主导航系列4-障碍的探测
自主导航系列4-障碍的探测1,安装turtlebot3因为turtlebot3有激光雷达,很简单的操作几条命令cd ~/catkin_ws/srcgit clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.gitgit clone https://github.com/ROBOTIS-GIT/turtlebot3.gitgit clone https://github.com/ROBOTIS-GIT/turtlebot3_simula原创 2020-07-19 13:25:54 · 301 阅读 · 0 评论 -
自主导航系列2-导航控制
1,已有的导航包roslaunch turtlebot_gazebo amcl_demo.launch//使用点击2D Pose Estimate 选择机器人初始位置,2D Nav Gaol 选择目标点,即可自动规划,这时导航的功能(局部规划)roslaunch turtlebot_rviz_launchers view_navigation.launch...原创 2020-07-14 23:25:41 · 341 阅读 · 0 评论 -
坐标变换
https://blog.csdn.net/chentravelling/article/details/53558096原创 2020-01-15 15:31:08 · 191 阅读 · 0 评论