heronewversion's People
Forkers
itu-roverheronewversion's Issues
Communication continuity check
- This function is used to check if the incoming serial message is continuously updating
- Last byte of the serial message changes with each message. If that is the case for receiver, a continuous stream is happening
- If any match is detected, the commCheck changed to be 'false' to inform the program that high level controller is always sending the same message which is an error
Encoder feedback goes out of range
For example, in 3rd axis the minimum value to send is -999 which correspond to 0999 in serial message. In case of encoder casing slipping, the data we send becomes 01005 for -1005. This results in making the encoder feedback 27 bytes instead of 26 bytes.
Using motion profile control mode
Talon SRXs support a mode whereby the robot controller can stream a sequence of trajectory points to express a motion. If we use this mode, we can pass the trajectory points to the HERO continuously and Talons make sure that the desired points are reached. This way we can achieve a smoother movement.
ALSO, using this mode increases repeatability and saves us from adding a higher level motion control mechanism (like a queue in the hardware interface).
From https://docs.ctre-phoenix.com/en/stable/ch16_ClosedLoop.html#motion-profile-control-mode
Each trajectory point holds the desired velocity, position, arbitrary feedforward, and time duration to honor said point until moving on to the next point. The point also holds targets for both the primary and auxiliary PID controller, allowing for differential control (drivetrain, differential mechanisms).
Alternatively, the trajectory points can be streamed into the motor controller as the motor controller is executing the profile, so long as the robot controller sends the trajectory points faster than the Talon consumes them. This also means that there is no practical limit to how long a profile can be.
What is the benefit? Leveraging the Motion Profile Control Mode in the Talon SRX has the following benefits:
Direct control of the mechanism throughout the entire motion (as opposed to a single PID closed-loop which directly servos to the end target position).
Accurate scheduling of the trajectory points that is not affected by the performance of the primary robot controller.
Improved repeatability despite changes in battery voltage.
Improved repeatability despite changes in motor load.
Provides a method to synchronously gain-schedule.
Redline encoder position control
Compensate gravity based on current position of joints
As far as I have observed, there is no need for such a thing for the 2nd axis, but doing this for the 3rd axis is necessary.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.