Coder Social home page Coder Social logo

lijx10 / uwb-localization Goto Github PK

View Code? Open in Web Editor NEW
315.0 17.0 141.0 193 KB

Accurate 3D Localization for MAV Swarms by UWB and IMU Fusion. ICCA 2018

License: Apache License 2.0

CMake 6.09% C++ 52.21% Python 4.77% C 36.93%
uwb localization uav imu ekf-localization uwb-dataset

uwb-localization's People

Contributors

lijx10 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uwb-localization's Issues

Calibration of anchor positions

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:

  1. Do you move the tag (or the UAV) during the calibration process?
  2. What are the inputs to calibration - ranges of all anchors from the tag or ranges of all anchors from each other?
  3. What are direction and coordinate constraints? How do you arrive at those?

Thanks!

Build error

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.

how to convert imu acc into uwb's global frame?

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 :)

Some message files are missing

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

Error in code

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;
    

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.