lijx10 / uwb-localization Goto Github PK
View Code? Open in Web Editor NEWAccurate 3D Localization for MAV Swarms by UWB and IMU Fusion. ICCA 2018
License: Apache License 2.0
Accurate 3D Localization for MAV Swarms by UWB and IMU Fusion. ICCA 2018
License: Apache License 2.0
Great work @lijx10 with the performance of your UAVs and thanks for making the localization code available.
I have been trying to understand the calibration part of your code. Is there is paper/documentation somewhere that could give me some hints? I understand that there is no unique solution to calibration of anchor positions if only the ranges between the anchors are known. So I have been trying to understand the following:
Thanks!
hello,
I build the project , use "catkin_make -j1", but got:
-- +++ processing catkin package: 'uwb_calibration'
-- ==> add_subdirectory(uwb_calibration)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Found Boost: /usr/include (found version "1.65.1") found components: system thread iostreams chrono date_time atomic regex
-- Found required Ceres dependency: Eigen version 3.3.4 in /usr/include/eigen3
-- Found required Ceres dependency: glog
-- Found required Ceres dependency: gflags
-- Found Ceres version: 2.0.0 installed in: /usr/local with components: [EigenSparse, SparseLinearAlgebraLibrary, LAPACK, SchurSpecializations]
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Reflexxes_LIBRARIES
linked by target "slam_pp_node" in directory /home/bran/catkin_uwb_imu/src/slam_pp
-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.
Makefile:2103: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed
Then in the slam_pp/CMakeLists.txt, I found:
find_library(Reflexxes_LIBRARIES flexxes ${PROJECT_SOURCE_DIR}/exLib/Reflexxes)
set(Relfexxes_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/exLib/Reflexxes/Reflexxes)
But not the folder
What can I do ? Thanks a lot.
Hi @lijx10, thanks for sharing your work to community. After read the reference paper: Accurate 3D Localization for MAV Swarms by UWB and IMU Fusion, when use imu's acc to serve as input to filter, i have a doubt.
As we all know, imu's acc is a measurement of imu body acc, in other words, it is local measurement, not a global measurement. The filter's variables x = [px, vx, abx, py, vy, aby, pz, vz, abz ]
are all global variables, in uwb's global frame, which is constructed by 6 uwb anchors in paper. Before use imu's acc, how to calculate the rotation between one imu frame attached on MAV and the uwb's global frame?
Any suggestion will be much appreciated! Thanks for your help :)
Hi Li Jiaxin,
Thank you for publishing this interesting piece of code.
It looks like the common_msgs package is missing some of the custom messages namely:
NavigationState.msg
GPSVelocity.msg
MeasurementPosition.msg
MeasurementVelocity.msg
PixhawkCMD.msg
PixhawkServo.msg
MeasurementPosVel.msg
MaxDynamics.msg
Reference.msg
Mission.msg
MissionStatus.msg
PathPlanningStatus.msg
Waypoint.msg
and this stops me from building the code.
Would you please add them to the repo or give me directions if they are available somewhere?
thanks
Hi Jiaxin Li
I am a Chinese too,I want to know Is there any other detail to understand those code?
The recent 1.8.2 firmware does not work well. Could you share your parameters and firmware version in your experiment?
There is an error in "./slam_pp/include/slam/uwb_node.hpp" @ line 309:
error:
} else if(m_uav_state.acceleration.linear.y<=-acceleration_linear_threshold_xy){
m_uav_state.acceleration.linear.y = -acceleration_linear_threshold_xy;
corrected
} else if(m_uav_state.acceleration.linear.x<=-acceleration_linear_threshold_xy){
m_uav_state.acceleration.linear.x = -acceleration_linear_threshold_xy;
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.