Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manif refactor #648

Merged
merged 69 commits into from
Feb 16, 2024
Merged

Manif refactor #648

merged 69 commits into from
Feb 16, 2024

Conversation

rbridges12
Copy link
Collaborator

Summary

Closes #439

What features did you add, bugs did you fix, etc?
Added the manif library as a git submodule and refactored all C++ code to use the manif::SE3d type instead of our previous custom SE3 type. Same for SO3.

Did you add documentation to the wiki?

No

How was this code tested?

I ran the auton mission in the sim and tested all the sim features, zed wrapper changes need to be tested on hardware at some point

Did you test this in sim?

Yes

Did you test this on the rover?

No

Did you add unit tests?

No

SO3 q = SO3{delta.y(), R3::UnitY()} * mCameraInWorld.rotation() * SO3{-delta.x(), R3::UnitZ()};
mCameraInWorld = SE3{p, q};
// TODO: Is there a way to combine this with the above?
mCameraInWorld.asSO3() = worldRelativeAngularVelocity + mCameraInWorld.asSO3();
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah I tried this too, you cant apply the world relative rotation as a twist (in se3) because it considers it to be rotating at the origin not the rover position. you can fix it if you write out this annoying formula for your position component of the twist (instead of 0) to basically counteract the offset, but this is cleaner imo

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah. Kind of annoying.

@qhdwight qhdwight self-requested a review February 16, 2024 16:03
Copy link
Collaborator

@qhdwight qhdwight left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so fire

src/simulator/simulator.hpp Outdated Show resolved Hide resolved
src/simulator/simulator.gui.cpp Outdated Show resolved Hide resolved
package.xml Outdated Show resolved Hide resolved
pyproject.toml Outdated Show resolved Hide resolved
src/simulator/simulator.controls.cpp Show resolved Hide resolved
SO3 q = SO3{delta.y(), R3::UnitY()} * mCameraInWorld.rotation() * SO3{-delta.x(), R3::UnitZ()};
mCameraInWorld = SE3{p, q};
// TODO: Is there a way to combine this with the above?
mCameraInWorld.asSO3() = worldRelativeAngularVelocity + mCameraInWorld.asSO3();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah. Kind of annoying.

@rbridges12 rbridges12 merged commit 831c73a into integration Feb 16, 2024
@rbridges12 rbridges12 deleted the manif-refactor branch February 16, 2024 22:16
@qhdwight qhdwight mentioned this pull request Feb 18, 2024
qhdwight added a commit that referenced this pull request Feb 18, 2024
* read messages from base station

* sending RTCMs over ros

* launch file with both GPSs, RTCMs successfully transmitted

* port change

* output screen

* added gps driver for rover gps and merged master into rtk

* edited rtk launch and esw.yaml

* used pyubx reader instead of serial getline()

* added preliminary dual gnss file

* add notes

* graph vectors for heading calculations

* calc heading and bearing

* driver testing; not fully working 👽

* plots for heading calculations

* added get_heading_vector function

* add tests for vector heading method

* working as intended furing testing

* add tests to determine optimal amt of sig figs for gps coordinates

* added more message parsing

* started adding gps to gazebo

* finished adding new gps and links

* edited links

* added links

* try to debug plugins and make test subscriber file

* added left and right gps using groups

* gps creation and subscribers

* add tests for moving gps and subscribed

* started editing gps linearization

* gps now put in sim

* edited test subscriber

* added pose calculation using heading

* tests for both gps distance

* changes for testing with convert lat long to cartesian to see offset better

* tests for offset

* offset is 10?

* chanegd offset to 1 and modified testing code

* Add requirements

* updated linearlization

* debug linearization function and try to debug sim

* fixed reference points and removed z component for better rviz experience

* made a temporary GPS sim

* fixed pose publishing offset temporarily

* Add starter work for gps

* cartesian to geodetic conversion

* Finish off gps and add imu

* Yo workingin the new sim

* Submodule update for dawn

* added rviz to launch file, misc cleanup

* refactored utils and tag detector, crashes when it sees a tag

* debugging

* Init

* Work on encoders

* Update

* Breh

* Use bgra instead of i420

* partially fixed script

* fixed macos std::for_each error

* more factoring test

* refactored SE3 util functions back into lie library

* refactored most of sim

* more debugging

* Add manif as submodule, find out some disgustig things about transforms, normalize some vars before so3d ctor

* refactored camera controls using tangent elements

* pr cleanup

* more cleanup

* more cleanup

* Remove unrelated stuff, clean up some stuff, remove old lie stuff

* Rename to lie.hpp

* Refactor look controls

* Comments

* Manif refactor (#648)

* Fix collider rendering with new se3

* slight refactoring of simulated sensors, added untested noise

* changed some type names, added rviz to launch file, separate roll pitch yaw noises

* fixed type names and ctors

* slightly reduced noise and moved waypoint

* Restream

* Update

* Fix format

* Stream that can be reused

* Naming

---------

Co-authored-by: Riley Bridges <[email protected]>
Co-authored-by: nehakankanala <[email protected]>
Co-authored-by: Pearl Lin <[email protected]>
Co-authored-by: dllliu <[email protected]>
Co-authored-by: Rahul <[email protected]>
Co-authored-by: umroverPerception <[email protected]>
Co-authored-by: Riley Bridges <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants