- 博客(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
原创 cmake中调用脚本
当使用别人的库的时候,编译的时候有时候需要调用脚本。比如第三方库通过执行脚本来编译的,然后就需要在cmake中调用这个脚本。主要使用的脚本为cmake add_custom_target和cmake add_custom_command。
2024-02-01 10:16:50
709
原创 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
2021-04-16
ledmakefiletest.tar.gz
2021-04-13
libtensorflow-cpu-linux-x86_64-2.3.0-rc2.tar.gz
2020-07-22
libtensorflow-gpu-linux-x86_64-1.12.0.tar.gz
2020-07-22
双目标定图像数据集
2018-11-15
cmake自定义模块使用示例
2018-11-08
ros的urdf机器人模型
2018-07-20
由旋转矩阵计算欧拉角
2017-02-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人