Comments (5)
Yeah, that makes sense, let me look into how to make that more convenient 👍
from towr.
I provided possible changes in pull request above. (I hope it is not double work).
I tested it with towr_app, it seems nothing is broken.
But I bumped it following issue. When library is compiled in DEBUG mode, optimize gait
is set for Hyq robot after a few iterations application fails:
1 0.0000000e+00 2.88e+03 2.66e+01 0.1 9.69e+01 - 1.10e-01 9.82e-03f 1
towr_ros_app: /home/oleg/rosws/towrws/src/towr/towr/src/phase_durations.cc:86: virtual void towr::PhaseDurations::SetVariables(const VectorXd&): Assertion `durations_.back()>0' failed.
It is not related with my code because it happens even if undo my commits.
from towr.
Thanks! Yeah, the issue is known and I added an explanation for this assert for developers digging into the code, see:
towr/towr/src/phase_durations.cc
Line 82 in d30c4a0
from towr.
I also thought about storing gait parameters in some kind of map
.
In current implementation if new constraint type is added corresponding type and parameters should be added to Parameters
. It's an additional and maybe unnecessary dependency.
Also if you decide to load parameters from ROS Parameter Server or from XML/YAML you have to write something like this
if (ros::param::getCached("~duration_base_polynomial", dvalue)) {
params.duration_base_polynomial_ = dvalue;
}
if (ros::param::getCached("~dt_constraint_base_motion", dvalue)) {
params.dt_constraint_base_motion_ = dvalue;
}
and so on for each parameter.
Whereas map
version can be loaded much simple:
XmlRpcValue xmlparams;
ros::param::get("~towr_parameters", xmlparams);
for(auto param_it = xmlparams.begin(); param_it != xmlparams.end(); param_it++) {
params.setParameter(param_it->first, static_cast<double>(param_it->second));
}
Still I do not think that such changes should be introduced immediately. But they can be considered as a way to improve towr
API.
from towr.
Yes, that could be helpful, I agree. That could possibly replace/enhance the current terminal UI. II'll think about this in future releases, like you mentioned, mostly trying to keep dependencies low at this point.
from towr.
Related Issues (20)
- Obtain some status information of the robot HOT 2
- CMake for other projects
- Advice on how to decrease unrealistic contact forces between spline nodes HOT 5
- how to increase leg lift height when swing phase? HOT 2
- How to implement this formulation symbolically (eg. in CasADi) HOT 3
- Integrating existing height map(Grid map) with Towr HOT 3
- link for "Add your own robot" dead HOT 1
- derivative check with IPOPT HOT 1
- an Error
- add cool terrains/height-maps
- Phase duration optimization under a specified gait
- Broken link in readme file HOT 1
- nonlinear trajectory optimization for quadruped robot
- ROS noetic
- Calculate forces during standing HOT 1
- ROS 2 Foxy Release HOT 2
- Assertion failed
- Experiencing a strange behaviour HOT 1
- A small bug in HeightMap::GetDerivativeOfNormalizedBasisWrt()
- Optimization reporting infeasibility on simple terrains
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.
from towr.