- 博客(173)
- 资源 (23)
- 问答 (3)
- 收藏
- 关注
原创 imu_utils標定程序
imu_utils標定程序1. 安裝step1:sudo apt-get install libdw-devstep2:建立WS文件夾step3: download step4:build 運行-----------------------------------------------------------------------------------------------------------------step1:確保imu正確發佈step2:錄製rosbag,
2024-04-03 08:55:14 143
原创 ORBSLAM3雙目計算深度的筆記
所以要搜索同一个平面上最相似的点 其v高度用左眼的,u用右眼的,这里称这个点是,暂且称之为零点(scaleduR0,scaledvL)* 假设最佳的点是距离1493的那个点,他的左右点是,2251 1493 2329,其中左侧的dist比右侧的小,所以要向左微调一点。* 然后搜算的框框的宽w=3,所以 u= 7(3+1+3)* v=8(3+1+3+1)的56个像素点的方形,零点是其中心。* 整理后 = (dist1-dist3)/(2.0f*(dist1+dist3-2.0f*dist2));
2024-04-01 12:03:36 428
原创 使用Kalibr標定vins參數
這裏使用的是realsense D435,使用其灰階雙目的部分(把中間红外点阵投影仪遮住應該可以取得更好的效果),廠商有給相機的標定,但由於Kalibr裏可以直接標定相機和imu的相對位置,是vins需要的參數,比自己用尺子量還準,所以用kalibr標定,所以還是使用kalibr標定vins的參數。主要步驟如下:操作環境是ros noetic1. 錄製rosbag(包含的topic包括),imu的發佈頻率200Hz,相機的部分,會用topic_tools降低頻率2. 用kalibr標定相機3. 取
2024-03-19 17:45:12 793
原创 透過GQC調整pixhawk mini 4(PX4 Mini) 的IMU頻率
打开QGC,选择Application Settings, 选择MAVLINK,中间Telemetry Stream Rate(ArduPliot Only) 的第一个 Raw Sensors 调整到100, 重启QGC可以看到IMU频率已经改到100。
2024-03-12 11:28:19 384
原创 ubuntu設定QGC獲取pixhawk Mini4(PX4 Mini 4) 的imu信息
ubuntu20.04QGC使用v4.3.0的版本飛控pixhawk Mini4飛控上只使用一條micor USB連接電腦,沒有其他線安裝命令sudo apt-get remove modemmanager -ysudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -ysudo apt install libfuse2 -ysudo apt install libxcb-xine
2024-03-08 12:04:31 434
原创 安裝c++的protobuf
protobuf安装的时候要看下src/google/protobuf下是否有*.pb.h 或 .pb.cc的文件,如果没有,则是在安装过程中生成,例如3.19.4的版本。或是23.4版本(protobuf-23.4.zip),或是3.19.6的cpp版本(protobuf-cpp-3.19.6.zip), 参考脚本。如果已经有了,就可以一般cmake的安装方法。
2024-02-16 18:38:22 382
原创 Imu_PreIntegrate_11 position Jacobian 位置残差对状态增量的雅克比矩阵
Imu_PreIntegrate_11 position Jacobian 位置残差对状态增量的雅克比矩阵
2023-10-04 15:07:22 188
原创 Imu_PreIntegrate_10 vecility Jacobian 速度残差对状态增量的雅克比矩阵
Imu_PreIntegrate_10 vecility Jacobian 速度残差对状态增量的雅克比矩阵
2023-10-04 15:05:53 158
原创 Imu_PreIntegrate_09 rotation Jacobian 旋转残差对状态增量的雅克比矩阵
Imu_PreIntegrate_09 rotation Jacobian 旋转残差对状态增量的雅克比矩阵
2023-10-04 15:04:30 100
原创 Imu_PreIntegrate_08 Position bias update 零偏更新后位置预积分量对零偏的偏导
Imu_PreIntegrate_08 Position bias update 零偏更新后位置预积分量对零偏的偏导
2023-10-04 15:02:44 59
原创 Imu_PreIntegrate_07 Vecility bias update 零偏更新后速度预积分量对零偏的偏导
Imu_PreIntegrate_07 Vecility bias update 零偏更新后速度预积分量对零偏的偏导
2023-10-04 15:01:05 726
原创 Imu_PreIntegrate_06 Rotation bias update 零偏更新后旋转预积分量对零偏的偏导
Rotation bias update 零偏更新后旋转预积分量对零偏的偏导
2023-10-04 14:59:13 32
原创 CMake使用gRPC(Protobuf) 的c++ demo
最后实际生成的位置是加上package路径的/home/user/grpc_demo_ws/grpc_demo/hello_world/proto/2. 如果pb.cc/pb.h/grpc.pb.cc/grpc.pb.h想要和proto放在同一个目录。--grpc_out 和 --cpp_out 也都是填入/home/user/grpc_demo_ws。那--proto_path的值就是/home/user/grpc_demo_ws。其余*.pb.cc *.pb.h 是用cmake生成的。
2023-06-29 17:48:22 966
原创 stm32使用clion移植canfestival(canopen)
incldue里的文件夹只保留AVR其余删除,AVR里只保留 applicfg.h,canfestival.h,config.h,timerscfg.h 四个文件,另外incldue里的cm0, cm3, .gitignore 三个文件也删除。src里删除win32文件夹,并删除canfestival.pc.in ,.gitignore,Makefile.in,symbols.c 文件。设置APB1的频率为200MHz,TIM的Prescaler=7,Period=199, Repetition=0,
2023-06-28 13:38:00 1050
原创 ubuntu22.04安装使用 protobuf 23.3静态库
target_link_libraries里,需要先写protobuf,然后rtf8_range,最后才是absl。set(protobuf_BUILD_SHARED_LIBS_DEFAULT OFF)#静态库。set(protobuf_WITH_ZLIB_DEFAULT OFF)#不使用zlib。set(protobuf_BUILD_SHARED_LIBS OFF)#静态库。set(protobuf_WITH_ZLIB OFF) #不使用zlib。安装后使用的方法,在。
2023-06-27 21:15:33 1306 1
原创 abseil absl下载 安装 合并成一个.a文件
https://github.com/abseil/abseil-cpp 下载。这里由于absl的.a文件太多了,所以用cmake foreach合并。-DCMAKE_INSTALL_PREFIX修改成自己的目录。建立一个cpp项目, 将.a文件合成一个libabsl.a。
2023-06-26 08:22:42 420
原创 SE(3)的BCH扰动模型
当我们在优化SE3的时候,Jacobian就是SE3的微小变动,对于最终投影点的变化,此时我们会把这个过程分为2个阶段,第一个阶段是SE3的变化对于世界坐标转成相机坐标的变化,第二个阶段是相机坐标的变化导致投影点的变化(这个部分与SE3无关,和相机参数有关)不一样的原因是我们写推导过程的偏微分是先写旋转的变化再写平移的变化,但是VertexSE3Expmap里面是先输入平移的t在输入旋转的r,所以左右位置要互换。可是代码里输入的是 [-(Rp+t), I]SE3deriv的推导如下。
2023-06-13 20:35:35 372
原创 cv_bridge::CvImagePtr接收sensor_msgs::msg::Image::SharedPtr后无法imshow
cv_bridge::CvImagePtr接收sensor_msgs::msg::Image::SharedPtr后可以正常的保存图片,但无法imshow,原因可能是图片尺寸信息丢失,导致无法正确分配内存,解决办法是用cv::resize重新赋予尺寸信息。
2023-05-26 07:44:14 341
原创 用rc.local脚本开机启动ros系统
先编辑/etc/rc.local 在文件末端添加以下的内容,开机运行my_start.sh。开机运行my_ros_startup.launch,把所有要开机启动的节点都写在里面。如果运行正确,reboot后rostopic查看是否都能顺利开机启动。/home/user 新建my_start.sh并赋予执行的权限。
2023-05-24 17:28:45 417
原创 Clion开发stm32 无法使用printf (undefined reference to `_sbrk‘)
undefined reference to `_sbrk' ,原因是因为arm-none-eabi编译器为了节省空间,删减了一部分代码, 只要在项目中添加实现的代码就可以了
2022-09-06 15:18:06 1452
原创 在C++里初始化并读写pybind11::array_t和pybind11::dict
在C++里初始化并读写pybind11::array_t和pybind11::dict
2022-06-05 06:49:44 2082
原创 奥比中光 astra: Could not open “2bc5/0401@3/6“: Failed to set USB interface
1. 安装libusb-1.0.9解压缩后进入libusb-1.0.9文件夹步骤 1:创建 m4 目录。mkdir m4步骤 2:依次执行 aclocal→autoconf→autoheader步骤 3:执行命令“autoreconf -vif”;步骤 4:执行命令“./configure --prefix=/usr/local”,配置 libusb 库安装目录;步骤 5:执行命令“make”,开始编译 libusb 库;步骤 6:执行命令“sudo make install”,安装 lib
2022-05-22 21:03:53 1641
原创 c++ 依照string replace 字符串
#include <iostream>#include <algorithm> // std::find#include <string>using namespace std;string replace(string _str,const string& _findWord,const string& _replaceWord){ if (_str.empty()) return ""; else {.
2022-05-08 15:16:34 454
原创 c++ 依照string的分割符号 split 字符串
#include <iostream>#include <algorithm> // std::find#include <string>#include <vector>using namespace std;vector<string>* split(const string& str, const string& splitter){ auto *res= new vector<string.
2022-05-08 14:47:46 454
原创 cmake的项目c++调用python方法
1. 使用python3.6-config --ldflags 命令取得参数#在控制台运行python3.6-config --ldflags 取得参数#-L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -L/usr/lib -lpython3.6m -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions2. 新建一个pro
2022-05-06 13:20:17 2098
原创 无法获得下列许可solidworks standard无效的(不一致的)使用许可号码(-8,544,0) 解决办法
将_SolidSQUAD_的Program Files里的所有文件夹覆盖到安装目录下,如果是默认安装,就是复制到C:\Program Files\SOLIDWORKS Corp下(而不是C:\Program Files下)-----------------------------------------------------------------------------------------------------------安装流程:1. 断网并关闭杀毒软件2. 将_SolidS
2022-03-24 22:05:11 71743 3
CMake使用gRPC(Protobuf) 的c++ demo
2023-06-29
使用Clion(cmake)运行FreeRTOS的demo
2022-11-27
cpp用cmake调用python方法的demo
2022-05-06
IC验证 - uvm验证demo代码
2021-05-10
gvim8.2 主程序,配置文件和相关的plug.rar
2021-01-28
用 verilog 实现 minst 数字识别
2020-12-17
Xilinx zynq PS 透过bram和dma和PL进行数据交互
2020-12-15
nlp命名实体识别Named Entity Recognition NER demo
2020-06-14
nlp词性标注demo
2020-06-09
xgboost.dll和xgboost.lib 2020/5/26
2020-05-26
CART回归树 可视化demo.zip
2020-05-15
支持向量机(SVM) SMO可视化demo
2020-04-28
用adaboost预测马病
2020-03-15
Qt Demo 登陆MySQL数据库增删改查
2019-09-15
Python爬虫抓取股票资料
2019-06-02
用url作为shiro的permission的范例
2019-03-29
spring-boot-my-tomcat
2019-03-27
spring-boot-shiro-demo.rar
2018-10-24
spring-boot 2.0.2 数据库配置定时任务
2018-07-27
C++是如何管理项目的目录结构的?
2019-01-24
请问企业里 Linux 的C++开发是用什么方法?
2018-11-21
idea 2018 版本如何显示编译完成的 target 文件
2018-05-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人