This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| '''Finite difference Jacobians | |
| Author: James Gregson | |
| Date: 2020-10-04 | |
| Utility function to differentiate numeric functions with finite differences. | |
| Useful for checking analytically derived Jacobian & gradient computations. | |
| See bottom of file for example usage. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ''' | |
| [email protected] | |
| A pretty small 3D IK solver, < 100 lines of code but > 100 lines of comments. | |
| Low dependency (numpy, opencv-python, matplotlib) and includes visualization. | |
| Not particularly fast. | |
| Solves for joint rotations needed in a kinematic skeleton to minimize errors of a set | |
| of end-effectors with respect to a corresponding set of target positions. Assumes |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #pragma once | |
| #include <array> | |
| #include <tuple> | |
| #include <iostream> | |
| // use this namespace to expose operators | |
| namespace ostream_helpers { | |
| namespace { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include "lex.h" | |
| #include <iostream> | |
| struct ParserState { | |
| lex::UserFnRegistry<const char*> user_fns; | |
| std::vector<double> stack; | |
| void push( const double & v ){ | |
| stack.push_back( v ); |
OlderNewer