Skip to content

Added Kalman Filter + Minor Motion Control Changes#3420

Open
mkhlb wants to merge 86 commits intoUBC-Thunderbots:motor_firmware_integrationfrom
mkhlb:high-level-mp
Open

Added Kalman Filter + Minor Motion Control Changes#3420
mkhlb wants to merge 86 commits intoUBC-Thunderbots:motor_firmware_integrationfrom
mkhlb:high-level-mp

Conversation

@mkhlb
Copy link
Copy Markdown
Contributor

@mkhlb mkhlb commented Jan 11, 2025

Please fill out the following before requesting review on this PR

Description

Many changes were done.

Implemented a kalman filter for thunderloop that composes IMU data to track robot position more accurately.

Now when following trajectories, additionally to trajectories current target velocity, add a proportional component based on error from predicted position.

Testing Done

Moved robot.

Tested IMU variance, got about 0.0019 deg variance, expected about 0.0016 deg.

Need to do much further testing with new robots.

Resolved Issues

Length Justification and Key Files to Review

Review Checklist

It is the reviewers responsibility to also make sure every item here has been covered

  • Function & Class comments: All function definitions (usually in the .h file) should have a javadoc style comment at the start of them. For examples, see the functions defined in thunderbots/software/geom. Similarly, all classes should have an associated Javadoc comment explaining the purpose of the class.
  • Remove all commented out code
  • Remove extra print statements: for example, those just used for testing
  • Resolve all TODO's: All TODO (or similar) statements should either be completed or associated with a github issue

Comment thread src/cc_toolchain/cc_toolchain_config.bzl Outdated
Comment thread src/extlibs/libi2c.BUILD Outdated
Comment thread src/proto/message_translation/tbots_protobuf.cpp Outdated
Comment thread src/proto/message_translation/tbots_protobuf.h Outdated
Comment thread src/proto/tbots_software_msgs.proto Outdated
Comment on lines 20 to 23
map<uint32, Angle> robot_orientations = 5;

uint64 sequence_number = 4;
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
map<uint32, Angle> robot_orientations = 5;
uint64 sequence_number = 4;
}
uint64 sequence_number = 4;
map<uint32, Angle> robot_orientations = 5;
}

Comment thread src/software/embedded/primitive_executor.cpp Outdated
Comment thread src/software/embedded/primitive_executor.cpp Outdated
Comment thread src/software/embedded/primitive_executor.cpp Outdated
Comment thread src/software/embedded/primitive_executor.cpp Outdated
Comment thread src/software/embedded/primitive_executor.cpp Outdated
Comment thread src/software/embedded/primitive_executor.h Outdated
Comment thread src/software/embedded/primitive_executor.h Outdated
Comment thread src/software/embedded/robot_localizer.cpp Outdated
Comment thread src/software/embedded/robot_localizer.h Outdated
Comment thread src/software/embedded/robot_localizer.h Outdated
Comment thread src/software/embedded/robot_localizer.h Outdated
Comment thread src/software/embedded/robot_localizer.h Outdated
Comment thread src/software/embedded/robot_localizer.h Outdated
Comment thread src/software/embedded/robot_localizer.h Outdated
Comment thread src/software/embedded/robot_localizer.h Outdated
williamckha and others added 29 commits April 25, 2026 10:54
@Andrewyx Andrewyx changed the base branch from master to motor_firmware_integration May 9, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants