GithubHelp home page GithubHelp logo

bsb808 / geonav_transform Goto Github PK

View Code? Open in Web Editor NEW
67.0 67.0 32.0 562 KB

Simple transforms for using GPS-based estimates for local odometry in ROS

License: Other

CMake 6.10% C++ 62.85% Python 21.65% MATLAB 9.26% Shell 0.14%

geonav_transform's People

Contributors

bbingham-nps avatar bsb808 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

Watchers

 avatar  avatar

geonav_transform's Issues

Update datum on runtime.

Hello, we started to experience some issues when we are far from datum point (physically, many Km away.)
There would be any problem, or further unwanted consequences if we develop some mechanism to update datum on runtime? Maybe a service that we could call whenever distance between current position and Datum riches some threshold? Or check for Datum changes during the main while()

UTM == ENU ?

Hello, I was wondering if in this package UTM coordinates are perfectly aligned with ENU. I have read here that they differ due to convergence (true north vs grid north) but since you assume the orientation is true, the published coordinate system could be perfectly aligned to ENU.

Can you confirm this?

alvinxy algorithm

Hi,
the below subprogram of the alvinxy.py source looks incorrect compared to the following document: http://www.chrismurf.com/papers/auv10-navigation.pdf

def mdeglon(lat):
    '''
    Provides meters-per-degree longitude at a given latitude
    Args:
      lat (float): latitude in decimal degrees
    Returns:
      float: meters per degree longitude
    '''
    latrad = lat*2.0*pi/360.0 
    dx = 111415.13 * cos(latrad) \
         - 94.55 * cos(3.0*latrad) \
	+ 0.12 * cos(5.0*latrad)
    return dx

The correct line would be (see the operator before 0.12)

 dx = 111415.13 * cos(latrad) \
       - 94.55 * cos(3.0*latrad) \
       - 0.12 * cos(5.0*latrad) 

Loss of precision of Datum

It might be that using XmlRpc causes a loss of precision of the datum (8 digits quantised to 6 in my case), which was causing me issues. Looking into it, I wasn't able to quickly identify the cause (I got as far as looking into XmlRpc::XmlRpcValue::ValueArray), and so just overloaded nh_priv.getParam in geonav_transform.cpp with a vector<double>, which took about 2 minutes. I'm not sure if the loss of precision is a bug or an oversight but updating the source to overload getparam with a vector may be a good idea. This feature has been supported since groovy.

nav frame == base frame?

Can all transforms to nav frame be converted to base frame without impacting the overall functionality? For eg- can transform_odom2nav_ be replaced with transform_odom2base_ in the code?

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.