# robot_pose_ekf
**Repository Path**: yongwangzhiqiankai/robot_pose_ekf
## Basic Information
- **Project Name**: robot_pose_ekf
- **Description**: 系统环境ros-noetic,其它环境可以自己测一下
这个扩展滤波器是我已经魔改好的,把topic对上就直接使用 具体看robot_pose_ekf.launch
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 13
- **Forks**: 8
- **Created**: 2022-09-17
- **Last Updated**: 2025-07-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
扩展卡尔曼滤波器
作者:
苏凯 微信号:yongwangzhiqiankai 微信昵称:一往无前
邮箱: 422168787@qq.com qq交流群号: 742679602,也欢迎企业hr入群招聘
系统环境:
系统:ubuntu20.04
ros1版本: noetic
imu是轮趣科技提供的一款imu 型号N100
项目里面有这款imu的驱动
这个扩展滤波器是我已经魔改好的,把topic对上就直接使用 具体看robot_pose_ekf.launch
=============================================================================================
一.改里程计代码
1.把里程计发布的坐标注释掉
//todo sukai 做imu与扩展卡尔曼滤波器融合时历程计计算的代码中要把发布tf坐标的代码需要注释掉
//odomBroadcaster.sendTransform(tf::StampedTransform(transform, ros::Time::now(), "odom", "base_link"));
2.改topic名
//导航用 sukai
pubOdom = nh.advertise("/odom_to_ekf", 5);
不改代码中topic名的话就在launch中加入以下语句:
二.imu中的发布imu数据的topic名知否与扩展卡尔曼滤波器订阅的一致
三.imu 的安装坐标 【这一部份在视频讲解里漏了】
(下面2选1)
3.1可以配置在urdf里
3.2也可以发布静态坐标的方式
=================================================================================================
编译
编译扩展卡尔曼滤波器 robot_pose_ekf
# 1.进入 robot_pose_ekf 文件夹之后,运行
catkin_make
解决编译“robot_pose_ekf”package时遇到的问题:No package 'orocos-bfl' found
git clone https://salsa.debian.org/science-team/orocos-bfl.git 【代码中已有克隆好的包】
# 2. 解压源代码后,编译安装
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
# 3.启动:
3.1启动里程计
roslaunch ***** ****.launch
3.2启动imu
roslaunch imu imu_driver.launch
3.3启动 扩展卡尔曼滤波器
roslaunch robot_pose_ekf robot_pose_ekf.launch
3.4 查看是否启动成功
rosservice call /robot_pose_efk/get_status
3.5 查看Odometry sensor和IMU sensor 是否is used ,is active来确保ekf包的是否正确使用
rosrun rqt_tf_tree rqt_tf_tree
---------------------------------------------
ERROR
-- Looking for Cppunit - not found
-- You will not be able to build tests. To build tests, first set the path where cppunit can be found using CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH.
svn: E155007: “/home/sukai/3rdparty/orocos-bfl”不是工作副本
1. 安装libcppunit-dev (sudo apt-get install libcppunit-dev 或者类似的包)