- 博客(199)
- 资源 (9)
- 收藏
- 关注
原创 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
201
原创 读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
358
原创 cmake中调用脚本
当使用别人的库的时候,编译的时候有时候需要调用脚本。比如第三方库通过执行脚本来编译的,然后就需要在cmake中调用这个脚本。主要使用的脚本为cmake add_custom_target和cmake add_custom_command。
2024-02-01 10:16:50
693
原创 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.youkuaiyun.com/RobotLife/article/details/105899602...
2022-03-03 20:37:45
3105
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
6029
原创 深入理解非线性二乘法求解图优化
1.求解图优化问题总体流程实际情况下求解图优化的流程如下:(1)选择你想要的图里的节点与边的类型,确定它们的参数化形式;(2)往图里加入实际的节点和边;(3)选择初值,开始迭代;(4)每一步迭代中,计算对应于当前估计值的雅可比矩阵和海塞矩阵;(5)求解稀疏线性方程????????Δ????=−????????,得到梯度方向;(6)继续用GN或LM进行迭代。如果迭代结束,返回优化值。2.图优化的目标函数2.1图优化求解slam思路SLAM的核心是根据已有的观测数据,计算机器人的运动轨迹和地
2022-01-11 18:36:17
730
原创 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
5091
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
7244
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
871
原创 足式机器人探索(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
1019
原创 足式机器人探索(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
2020
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
2082
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
948
原创 cartographer算法流程
cartographer算法流程首先输入是激光,imu,odom数据,总体分为前端和后端前端定位和建图流程如下总的定位和建图从GlobalTrajectoryBuilder::AddHorizontalLaserFan开始运行局部定位和建图从LocalTrajectoryBuilder::AddHorizontalLaserFan开始。1.局部定位和建图主要函数是ScanMatch在ScanMatch主要流程(1)pose_prediction作为初始位姿给real_time_scm进行解算
2021-07-15 10:19:08
1242
原创 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
531
原创 cartographer编译运行
下载了一个详细注释版本https://github.com/xiangli0608/cartographer_detailed_comments_ws直接编译不行然后按照下面步骤安装参考https://blog.youkuaiyun.com/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
812
1
原创 在Linux中将文件编码转换为UTF-8
参考https://blog.youkuaiyun.com/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
10346
原创 (六)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
1179
原创 (五)ubuntu下一键编译烧录调试stm32程序
在ubuntu下用makefile或者cmake编译好stm32程序后,需要烧录到stm32板子上,不管只直接用jlink的驱动程序烧录还是用openocd烧录,命令都比较多,怎么方便烧录呢?用集成开发环境VSCode配置好脚本可以实现一键调试和烧录。1.ubuntu下VSCode + CMake 编译调试下面这个博客写的很清晰,强烈推荐https://blog.youkuaiyun.com/huangyifei_1111/article/details/108850986参考VSCode+stm32cub
2021-04-14 17:34:04
2192
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
1809
原创 正点原子跑马灯库函数版本程序各个文件的作用
正点原子跑马灯库函数版本程序各个文件的作用库函数: 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
528
2
原创 (三)ubuntu16下用makefile交叉编译STM32跑马灯led程序并烧录
stm32开发通常在windows下用keil进行开发。但是在keil中编译一个简单的点亮led的程序,新建工程的过程感觉都比较复杂。集成开发环境只需要告诉芯片类型就能自动指定交叉编译工具,而且不需要写makefile...
2021-04-12 14:43:45
2088
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
3562
原创 (二)stm32不同系统如何调试
在单片机上开发代码可以选择操作系统和不选择操作系统。不选择操作系统一般只能通过将循环切片,就是定义这个循环运行多少ms来实现看起来像多线程的东西,逻辑上看起来是分开执行的。选择实时操作系统一般有rtthread和freertos。选择在硬件资源宽裕的情况下用RT-Thread开发应用是比较方便的。https://blog.youkuaiyun.com/u013184273/article/details/1038057331.rtthread下如何调试打印信息一般使用rtthread的rk_kprintf
2021-03-25 09:28:32
498
原创 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
3068
原创 c/c++/linux精确定时器
https://blog.youkuaiyun.com/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
1117
原创 slam结合深度学习相关进展汇总笔记
各种汇总https://github.com/Ewenwan/MVisionorb简单结合检测https://github.com/Supersharker/ORBSLAM2_With_YOLOV3
2021-01-08 16:58:10
1098
原创 orbslam2中获取扩展树和本质图
orbslam2中使用扩展树和本质图的目的之一是减小优化函数的计算量。首先要理解共视图和扩展树和本质图的定义1.共视图如果两个关键帧的共视地图点超过15个点,就增加一条边,视为共视。所有的这些边连接在一起形成了共视图。如图12.扩展树对于所有的关键帧,每个关键帧都能够得到和当前关键帧共视程度最大的关键帧。将当前关键帧和共视程度最大的关键帧连接起来组成了扩展树。如图3.本质图本质图的定义为:1.扩展树的连接关系2.共视关系好的(>100)连接关系3. 形成闭环的连接关系,闭环后地
2020-12-29 10:37:33
1157
原创 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
1065
原创 获取系统时间戳的方法(使用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
5271
原创 emplace_back 导致的段错误
主要遇到的问题是,ubuntu16自带的编译器编译运行没有问题, vector<cv::Point2f> cur_un_pts; cur_un_pts.emplace_back(cv::Point2f(b.x() / b.z(), b.y() / b.z()));换种交叉编译工具联使用以上这种方式插入会出现段错误如果用push_back函数就没有问题cur_un_pts.push_back(cv::Point2f(b.x() / b.z(), b.y() / b.z()));原因
2020-11-19 19:16:14
2357
1
原创 eigen交叉编译段错误例子及解决
https://github.com/rubengooj/pl-slam/commit/2a62192a5fc0e2071f6976379c474b7ebfc90e33https://blog.youkuaiyun.com/HUAJUN998/article/details/54311561#commentBoxhttps://www.cnblogs.com/flyinggod/archive/2004/01/13/13433452.htmlhttps://blog.youkuaiyun.com/wojiushixiangs
2020-11-17 20:27:55
3853
4
原创 win10下安装python和画图工具并读取excel文件画图
1.首先在win10下安装python进入官网https://www.python.org/downloads/release/python-373/下载对应版本的python,名字为Windows x86-64 executable installer下载好后双击运行点把环境变量加入到路径中的勾勾。安装就能成功(1)找到命令提示符双击进入,输入python --version查看python版本出现如下图说明正确2.安装python画图需要依赖的库安装pip在cmd中输入python -
2020-10-25 21:47:15
643
原创 linux系统调试笔记
1.根目录满了解决方法(1)查看系统内存占用du -sh /*发送有异常的东西如log删除掉(2)查看程序实际占用的内存先top或ps 查看进程pid然后用grep VmRSS /proc/[pidnum]/status查看实际占用
2020-10-23 10:21:03
243
原创 mnn移植tf代码
参考https://www.yuque.com/mnn/cn/usageMNN当前支持Tensorflow(Lite)、Caffe和ONNX的模型转换问题:不是用Tensorflow(Lite),只用Tensorflow的模型能行不思路1.将tf模型转为mnn的模型2.交叉编译mnn3.调用代码用mnn
2020-08-05 19:57:52
702
原创 安装tensorflow的c++接口(手动编译tensorflow)
参考https://blog.youkuaiyun.com/seniusen/article/details/82972335https://www.cnblogs.com/seniusen/p/9756481.html安装tensorflow的c++接口需要从源码重新编译tensorflow,最重要的参考来自于官方文档。https://blog.youkuaiyun.com/q199502092010/article/details/90289998源码安装tf的时候,会用到Bazel,版本不对应,后面会引起好多麻烦。
2020-07-22 08:42:56
1508
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关注的人