自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(205)
  • 资源 (9)
  • 收藏
  • 关注

原创 ubuntu20.04安装qtcreator并打开ros工程

如图,点击Project->Manage Kits 然后点击Kits目录的Desktop。拉倒最下面,点击CMake Configuration,然后点change。

2025-05-13 09:47:57 305

原创 gazebo中仿真运行LVI-SAM

在开发环境:Ubuntu 20.04 + ROS noetic下运行gazebo仿真。基于松灵机器人scout的gazebo模型修改的加入激光和摄像头的模型。简单点可以直接删除LIO-SAM文件夹,只运行gazebo仿真。

2025-05-12 17:49:48 890

原创 ubuntu20.04运行LIO-SAM

参考Ubuntu20.04下运行LOAM系列:A-LOAM、LeGO-LOAM、SC-LeGO-LOAM、LIO-SAM 和 LVI-SAM2.编译运行依赖库安装可以参考ubunut20.04 安装运行lvi-sam发现会报错 修改下面三项(1)OpenCV 版本问题找到utility.h中的:#include <opencv/cv.h>,修改为#include <opencv2/imgproc.hpp>(2)pcl问题为了让LIO-SAM支持C++14,需要修改下LIO-SAM文件夹下的CMak

2025-05-12 12:06:59 286

原创 gazebo中仿真运行LIO-SAM

开发环境:Ubuntu 20.04 + ROS noetic仿真运行需要小车的模型文件,小车上需要带激光雷达,摄像头和imu,可以考虑在turtlebot上搭建,网上搜索发现有人直接开源了的。参考文章直接下载开源的模型,仿真代码下载如下。

2025-05-12 11:22:14 322

原创 ubunut20.04 安装运行lvi-sam

安装环境配置ubuntu20.04 + ROS-Noetic安装就不详叙了,主要是GTSAM 4.0.3 和Ceres 1.14.0。

2025-05-10 10:23:49 306

原创 ubuntu下载已经安装ros的docker 并且安装相关的软件

(2)docker中安装ssh,外部通过ssh访问重而打开多个终端。例如安装ROS 2 Humble(Ubuntu 22.04)编辑/etc/docker/daemon.json文件。发现用户名变了,docker可以测试ok。进入docker中,安装ssh。允许root用户通过SSH登录。查看docker中的ip地址。重启 Docker 服务。(1)打开多个终端方法1。安装ifconfig工具。(2)为了能够拉取镜像。其他,保存一下这个镜像。设置root用户密码。输入ifconfig。

2025-05-10 08:29:35 149

原创 bev学习路线

BEVFusion Camera + LiDAR 多模态BEV融合。BEVFormer 基于Transformer的跨视角BEV建模。PETR 3D位置编码 + Transformer BEV。LSS (NVIDIA) 2D→3D→BEV 特征转换。BEV模型部署全栈教程(3D检测+车道线+Occ)国内首个BEV感知全栈系列学习教程。(1)准备一台大于4g显存的电脑。FIERY 预测未来BEV场景。使用gazebo仿真测试bev。(2)按照下面教程部署跑起来。(2)经典BEV论文与代码。

2025-04-01 10:38:45 228

原创 LVI-SAM流程

包含特征的点云话题feature/cloud_info仅被地图优化节点mapOptimization订阅,此外,地图优化节点还订阅了了视觉回环话题match_frame,然后就是分别发布了4个话题:路径话题path,精配准点云话题cloud_registered,激光回环话题loop_closure_constraints,里程计话题odometry。发布了3个话题:标记特征点的图片话题feature_img,自定义特征话题feature,特征提取系统重启标志话题restart。

2025-01-12 09:01:48 384

原创 读aloam代码

首先输入为3d激光点云。

2024-12-31 20:15:53 217

原创 基于ceres优化的3d激光雷达开源算法

【代码】基于ceres优化的3d激光雷达开源算法。

2024-12-20 10:22:45 629

原创 ubuntu新建ap热点并分享

ubuntu wifi 热点

2024-02-26 15:22:32 1725

原创 cmake中调用脚本

当使用别人的库的时候,编译的时候有时候需要调用脚本。比如第三方库通过执行脚本来编译的,然后就需要在cmake中调用这个脚本。主要使用的脚本为cmake add_custom_target和cmake add_custom_command。

2024-02-01 10:16:50 709

原创 c语言多线程队列实现

为了用c语言实现队列进行多线程通信,用于实现一个状态机。下面是实现过程。

2023-12-14 10:36:07 774

原创 ROS之交叉编译配置(树莓派)

1、环境编译平台:x86_64 ubuntu 16.04目标平台:arm ubuntu 16.04(树莓派3b)ROS版本:ROS kinetic for amd64CPU架构:编译环境64位和运行环境32位2在PC上安装arm的编译工具链https://www.cnblogs.com/sherlock-lin/p/15916143.htmlhttps://blog.csdn.net/RobotLife/article/details/105899602...

2022-03-03 20:37:45 3247 6

原创 makefile交叉编译helloworld

makefile交叉编译helloworld主要需要修改的是在本地编译helloworld基础上修改本地工具链为交叉编译工具链。1.本地使用makefile编译helloworld如图为工程目录结构.├── hello.c├── hello.h├── main.c├── Makefile├── world.c└── world.hhello.c文件#include<stdio.h>#include"hello.h"void hello(){ prin

2022-02-16 14:50:26 6176

原创 深入理解非线性二乘法求解图优化

1.求解图优化问题总体流程实际情况下求解图优化的流程如下:(1)选择你想要的图里的节点与边的类型,确定它们的参数化形式;(2)往图里加入实际的节点和边;(3)选择初值,开始迭代;(4)每一步迭代中,计算对应于当前估计值的雅可比矩阵和海塞矩阵;(5)求解稀疏线性方程????????Δ????=−????????,得到梯度方向;(6)继续用GN或LM进行迭代。如果迭代结束,返回优化值。2.图优化的目标函数2.1图优化求解slam思路SLAM的核心是根据已有的观测数据,计算机器人的运动轨迹和地

2022-01-11 18:36:17 752

原创 cartographer概率栅格地图更新过程

1.占据栅格地图理论推导对于一个点,它要么有(Occupied状态,下面用1来表示)障碍物,要么没有(Free状态,下面用0来表示)障碍物。在占据栅格地图中,对于一个点,我们用p(s=0)p(s=0)p(s=0)来表示它是Free状态的概率,用p(s=1)p(s=1)p(s=1)来表示它是Occupied状态的概率,当然两者的和为1。两个值太多了,我们引入两者的比值来作为点的状态。Odd(s)=p(s=1)p(s=0)(1)Odd(s)=\frac{p(s=1)}{p(s=0)} \tag1Odd(s

2021-12-25 11:23:31 5206 4

原创 全覆盖规划算法Coverage Path Planning开源代码ipa_coverage_planning编译

论文Indoor_Coverage_Path_Planning_Survey_Implementation_Analysis代码地址https://github.com/ipa320/ipa_coverage_planningcatkin_make#中间会有缺少ros 模块包根据编译出错安装包sudo apt-get install ros-版本-报错后面提示缺少包sudo apt-get install ros-kinetic-opengmsudo apt-get install ros-k

2021-11-26 17:08:52 7352 25

原创 足式机器人探索(3)-Mini Cheetah学习参考资料

1.论文原版论文Dynamic Locomotion in the MIT Cheetah 3 Through Convex Model-Predictive Control2.网上资料及博客https://www.zhihu.com/column/c_1090923972006240256https://zhuanlan.zhihu.com/p/190044338

2021-09-16 21:23:01 902

原创 足式机器人探索(2)-Mini Cheetah仿真运行

1.启动机器狗首先到Cheetah-Software/build/ 目录下执行./sim/sim选择mini cheetah,simulator,点击start,就会弹出一个图形界面,如下图这只小狗是睡着的,没有站起来怎么让小狗站起来呢?2.让小狗站起来(1)设置参数在中间的参数列表中,把cheater_mode设置为1,把control_mode设置为1,use_rc设置为0(2)启动控制器执行./user/MIT_Controll/mit_ctrl m s发现小狗站起来了

2021-09-15 21:29:32 1052

原创 足式机器人探索(1)-开源代码Mini Cheetah编译

最近比较火的小米机器狗开卖了,搞机器人的多么希望有一条自己的机器狗啊!机器狗铁蛋,能走能遛能空翻机器狗买不到,仿真总还是能跑吧。那么就来跑跑控制机器狗跑的算法吧。听说机器狗也有开源的算法,大家都用MIT Mini Cheetah在开发,那么就来一探究竟吧。1.下载代码地址https://github.com/mit-biomimetics/Cheetah-Software#readme什么都不安装,编译mkdir buildcd buildcmake .../../scripts/mak

2021-08-24 22:13:10 2058 2

原创 cartographer跑gazebo仿真包

cartograph的输入数据为imu,odom,laser,可选(tf, tf_static)对于一个含有以上数据的包,如何改对应的参数跑起来呢?首先启动的是demo_backpack_2d.launch,在其中又启动了backpack_2d.launch1.打开仿真录一个包rosbag record -O laser.bag /imu /odom /scan /tf /tf_static2.激光数据激光数据改backpack_2d.launch文件修改这一句 是把 /echoes 的话

2021-07-27 11:52:34 2104 3

原创 FreeRTOS 在Linux下仿真启动gdb调试

FreeRTOS 在Linux系统下启动gdb会报下面这个错误The inferior stopped because it received a signal from the operating system.Signal name :SIGUSR1Signal meaning :User defined signal 1要想能在linux下使用gdb调试,需要看官方文档https://www.freertos.org/FreeRTOS-simulator-for-Linux.html#g

2021-07-23 18:07:29 967

原创 cartographer算法流程

cartographer算法流程首先输入是激光,imu,odom数据,总体分为前端和后端前端定位和建图流程如下总的定位和建图从GlobalTrajectoryBuilder::AddHorizontalLaserFan开始运行局部定位和建图从LocalTrajectoryBuilder::AddHorizontalLaserFan开始。1.局部定位和建图主要函数是ScanMatch在ScanMatch主要流程(1)pose_prediction作为初始位姿给real_time_scm进行解算

2021-07-15 10:19:08 1262

原创 mrpt-slam源码编译运行

环境ubuntu16.04ros-kinetic(1)下载地址https://github.com/mrpt-ros-pkg/mrpt_slam(2)下载后catkin_make有错误提示无mrpt_bridgemrpt_bridgeConfig.cmake下载地址https://github.com/mrpt-ros-pkg/mrpt_bridge下载好了放到工程目录下编译提示无marker_msgsmarker_msgsConfig.cmakehttps://github.c

2021-07-14 21:22:51 543

原创 cartographer编译运行

下载了一个详细注释版本https://github.com/xiangli0608/cartographer_detailed_comments_ws直接编译不行然后按照下面步骤安装参考https://blog.csdn.net/x_r_su/article/details/52927564(1)安装依赖sudo apt-get updatesudo apt-get install -y \ cmake \ g++ \ git \ google-mock \

2021-07-14 15:18:28 828 1

原创 在Linux中将文件编码转换为UTF-8

参考https://blog.csdn.net/sxf_123456/article/details/78895357转换c文件encodingc.sh#!/bin/bash### 将 values_here 替换为输入编码FROM_ENCODING="GB18030"### 输出编码 (UTF-8)TO_ENCODING="UTF-8"### 转换命令CONVERT=" iconv -f $FROM_ENCODING -t $TO_ENCODING"### 使用循环转换多个文件for

2021-05-26 18:02:12 10523

原创 (六)ubuntu下用cmake新建freertos的跑马灯工程

本文实现在ubuntu下用cmake新建freertos的demo工程,并交叉编译烧录到正点原子STM32F103RCTb精英开发板上。由于对freertos不熟,所以先用stm32cubemx新建个用makefile编译的包含freertos的demo工程先在板子上跑起来。然后再把工程改写为cmake工程编译。平台:ubuntu16.04LTS芯片:STM32F103RCTb1.在stm32cubemx上新建freertos的demo工程首先demo工程实现的功能是在一个freertos线程中循

2021-04-15 18:05:58 1228

原创 (五)ubuntu下一键编译烧录调试stm32程序

在ubuntu下用makefile或者cmake编译好stm32程序后,需要烧录到stm32板子上,不管只直接用jlink的驱动程序烧录还是用openocd烧录,命令都比较多,怎么方便烧录呢?用集成开发环境VSCode配置好脚本可以实现一键调试和烧录。1.ubuntu下VSCode + CMake 编译调试下面这个博客写的很清晰,强烈推荐https://blog.csdn.net/huangyifei_1111/article/details/108850986参考VSCode+stm32cub

2021-04-14 17:34:04 2240 1

原创 (四)linux下用cmake交叉编译STM32跑马灯程序

首先参考的是这篇文章使用CMake和VSCode开发STM32在环境都安装好以后,在github 上下载cmake工程模板,下载命令为git clone https://github.com/rxdu/stm32_cmake.git由于我的开发板和github工程不一样,需要修改相应的文件。平台如下平台:ubuntu16.04LTS芯片:STM32F103RCTb由于hal第三方库是通用的,不需要修改。主要需要修改的是平台相关的文件。平台相关文件有(1)startup_stm32f103xe

2021-04-14 11:40:58 1829

原创 正点原子跑马灯库函数版本程序各个文件的作用

正点原子跑马灯库函数版本程序各个文件的作用库函数: startup_stm32f10x_hd.s core_cm3.c  FWLIB:misc.c、stm32f10x_gpio.c、stm32f10x_rcc.c(该文件涉及时钟)这三个文件属于不可缺少文件  HARDWARE:led.c(led初始化相关代码)  关于 startup_stm32f10x_hd.s 这个文件说明主要功能如下:初始化堆栈指针 SP初始化程序计数器指针 PC设置堆、栈的大小设置中断向量表的入口地址配置外部

2021-04-13 10:24:36 542 2

原创 (三)ubuntu16下用makefile交叉编译STM32跑马灯led程序并烧录

stm32开发通常在windows下用keil进行开发。但是在keil中编译一个简单的点亮led的程序,新建工程的过程感觉都比较复杂。集成开发环境只需要告诉芯片类型就能自动指定交叉编译工具,而且不需要写makefile...

2021-04-12 14:43:45 2127 1

原创 gitlab服务器ubuntu16环境下搭建

1.ubuntu16安装gitlab首先参考在ubuntu16上搭建gitlab(实测可用)2.管理员账号初始化完成后想登录http://127.0.0.1/ 需要账号和密码登录,注册一个后登录报Your account is pending approval from your GitLab administrator and hence blocked错误,需要管理员账号初始化.账号初始化参考下面博客https://www.bbsmax.com/A/amd0eM9kzg/初始化好后输入

2021-03-26 20:39:47 3569

原创 (二)stm32不同系统如何调试

在单片机上开发代码可以选择操作系统和不选择操作系统。不选择操作系统一般只能通过将循环切片,就是定义这个循环运行多少ms来实现看起来像多线程的东西,逻辑上看起来是分开执行的。选择实时操作系统一般有rtthread和freertos。选择在硬件资源宽裕的情况下用RT-Thread开发应用是比较方便的。https://blog.csdn.net/u013184273/article/details/1038057331.rtthread下如何调试打印信息一般使用rtthread的rk_kprintf

2021-03-25 09:28:32 509

原创 cube-slam详解

问题:使用深度学习的目标检测得到个框,怎么将这些框用上并集成到slam中做物体级别的slam?卡耐基梅隆大学的Shichao Yang, Sebastian Scherer,在论文CubeSLAM: Monocular 3D Object SLAM中给出了答案。并且结合orbslam的代码已经开源。地址:https://github.com/shichaoy/cube slam1.总体贡献及思路(1)由图像平面的框得到3d世界里的立方体。(2)建立物体级别的整套观测误差函数,并放入ORBSLAM2

2021-01-19 15:30:19 3104

原创 c/c++/linux精确定时器

https://blog.csdn.net/qq_18059143/article/details/90182304?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-3&spm=1001.2101.3001.4242https://www.cnblogs.com/wanglijun/p/8556011.htmllinux c定时器https://www.cnblogs.com/elesos/p/

2021-01-13 21:08:30 1128

原创 slam结合深度学习相关进展汇总笔记

各种汇总https://github.com/Ewenwan/MVisionorb简单结合检测https://github.com/Supersharker/ORBSLAM2_With_YOLOV3

2021-01-08 16:58:10 1113

原创 orbslam2中获取扩展树和本质图

orbslam2中使用扩展树和本质图的目的之一是减小优化函数的计算量。首先要理解共视图和扩展树和本质图的定义1.共视图如果两个关键帧的共视地图点超过15个点,就增加一条边,视为共视。所有的这些边连接在一起形成了共视图。如图12.扩展树对于所有的关键帧,每个关键帧都能够得到和当前关键帧共视程度最大的关键帧。将当前关键帧和共视程度最大的关键帧连接起来组成了扩展树。如图3.本质图本质图的定义为:1.扩展树的连接关系2.共视关系好的(>100)连接关系3. 形成闭环的连接关系,闭环后地

2020-12-29 10:37:33 1171

原创 bundle adjustment(光速平差法)残差和雅克比详细推导

​ba残差和雅克比推导设输入位姿为世界坐标系在当前cam坐标系下的位姿,表示为TwcT^c_wTwc​。输入的点为当前点在世界坐标系下的位置,表示为PwP^wPw,点在cam坐标系下表示为PcP^cPc得到点在cam坐标系下的位姿Pc=Rwc∗Pw+twc (1)P^c=R^c_w*P^w+t^c_w \quad (1)Pc=Rwc​∗Pw+twc​ (1)ba的残差雅克比求导需要对于位置求导,链式法则中这一项求导是关键设ba的残差为e=u−1sKexp(ς)Pwe = u-\frac{1

2020-12-25 10:49:27 1090

原创 获取系统时间戳的方法(使用c,c++,ros)

使用c++的system_clock::now()获取时间戳#include <chrono>inline uint64_t now_in_us_canbus() { return std::chrono::duration_cast<std::chrono::microseconds> (std::chrono::system_clock::now().time_since_epoch()).count();}设

2020-12-23 16:42:52 5297

cubemxrtosled.tar.gz

linux下用cmake交叉编译基于FreeRTOS的STM32跑马灯程序 详细请参考博客https://lightsail.blog.csdn.net/article/details/115689820 https://editor.csdn.net/md/?articleId=115725414

2021-04-16

ledmakefiletest.tar.gz

ubuntu16下交叉编译STM32跑马灯led程序并烧录的demo程序 https://lightsail.blog.csdn.net/article/details/115621592 包括vscode一键烧录脚本参考博客 https://lightsail.blog.csdn.net/article/details/115703002

2021-04-13

libtensorflow-cpu-linux-x86_64-2.3.0-rc2.tar.gz

libtensorflow是tensorflow编译成的c语言库,源地址wget https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.3.0-rc2.tar.gz 下载太慢,方便大家下载

2020-07-22

libtensorflow-gpu-linux-x86_64-1.12.0.tar.gz

libtensorflow是tensorflow编译成的c语言库,源地址 https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-1.12.0.tar.gz下载太慢,方便大家下载

2020-07-22

双目标定图像数据集

打印的标定板每个格子大小为4cm*4cm. 数据集数量为40张. 标定后的T如下 T: !!opencv-matrix rows: 3 cols: 1 dt: d data: [ -6.0660435539064854e-02, -1.2209630833796844e-04, 9.8321891780593206e-04 ] ``` 两个虚拟相机的基线b=normal(T) 标定出来的基线距离为b=6.06mm 实际量出来的6.1mm 误差在1mm之内

2018-11-15

cmake自定义模块使用示例

cmake中经常使用find_package寻找模块,使用起来非常方便.find_package的原理是什么呢?如何自己写个模块提供给别人使用?如果别人希望用find_package的形式使用你的模块中的库,我该如何用cmake写这个库呢? 这个例子能够弄清楚以上的问题. 示例中的myapp程序通过find_package调用mylib中的库

2018-11-08

ros的urdf机器人模型

ros机器人小车,加载urdf示例程序 在机器人操作系统(ROS)中,经常需要模拟机器人运动,那么首先需要新建一个机器人。 创建简单的机器人模型的步骤如下: (1)创建硬件描述包 (2)建立urdf文件 (3)建立launch命令文件 (4)效果演示

2018-07-20

由旋转矩阵计算欧拉角

2017-02-16

计算机正念冥想对情绪的调节作用_理论与神经机制_陈语

正念冥想对情绪的调节作用(个人收藏)

2017-01-17

空空如也

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

TA关注的人

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