Code Monkey home page Code Monkey logo

finch-pose's People

Contributors

itchono avatar shinyshuckle168 avatar

finch-pose's Issues

Module: Rotations Stage 2

Introduction

Finds rotation matrix which rotates the x and y unit vectors at some position such that the satellites scanline "matches" a reference scanline. The optical (z) axis should be pointing towards the ground target.

Note: the across track direction (y') is the y axis projected to the plane tangential to the earth at the ground target.

Inputs

  • unit position vector: np.array - N*3
  • ground target: np.array - N*3
  • across track direction vector: np.array - N*3

Outputs

  • rotation matrix: np,array - 3*3*N

Implementation

  1. The rotated y axis is in the plane shared by the z axis at the spacecraft's position and the across track direction vector at the ground target.
  2. Therefore, the rotated x axis is normal to this plane and is equal to cross(z, y')
  3. See 'Rotations Stage 1' for how to get rotation matrix which rotates x to desired orientation - process is the same as rotating z. This rotation matrix also orients the y axis correctly.

Module: Rotations Stage 1

Introduction

Finds rotation matrix which rotates the z unit vector at some position such that it points towards the ground target.

Inputs

  • unit position vector: np.array - N*3
  • ground target: np.array - N*3

Outputs

  • rotation matrix: np,array - N33

Implementation

  • Source

  • let the z unit vector before rotation be A and after rotation be B

  • consider the basis vectors u, v, and w constructed by the vector projection of B on A, the vector rejection of B on A, and the normal of the plane which A and B form

  • the change of basis matrix for this basis is C=[u v w]

  • the rotation matrix R_z rotates vectors about the z axis

  • cos(theta) and sin(theta) can be replaced with dot(A, B) and cross(A, B)

  • U = C^-1 R_z C transforms A to the new basis, rotates it to the desired position, and then transforms it back to the original basis

Module: Convert lat/lon ground position coordinates to ECI frame

Introduction

This module takes in a latitude and longitude on the surface of the Earth, then generates equivalent ECI positions given an input array of times

Inputs

  • latitudes: np.array - N*1
  • longitudes: np.array - N*1
  • times: np.array - N*1

Outputs

  • ECI positions: np.array - N*3

Implementation

Using Celest, we will do the following:

  1. Generate a "fake" Satellite object using a code snippet similar to satellite = Satellite(position=gcrs, frame='gcrs', time=julian, offset=0)
  2. This will take in an array of latitude and longitude positions corresponding to the location on the ground at each desired time
    etc.

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.