Comments (10)
Hello
In base estimation based on Newton-Euler floating mass dynamics, the IMU is used in the predict step (e.g. propagate your mean estimate) and the kinematics/leg odometry are commonly used in the filter's update step.
Thus, you dont need to synchronize the IMU + joint states + force measurements, but only the joint states with the force ones.
In your case, you will predict with the IMU twice and update once.
This is also the idea behind serow, if you were using it with a humanoid where you had imu @ 100hz and joint_states, F/T @ 50hz you would predict two times in a row and then update once.
If you are reading the code structure better read off my devel repo I am working on cleaning the structure and make it fairly easy to read and understand. A master-devel merge will come soon.
from serow.
Yes, I know your way and I have read your papers, Thank you for your apply.
But at now what confuse me is missing msg, just as follow:
The red line is the data I get from gazebo modelstate, and the bule line is my calculate on legodom, but
there alway have data error bacause of can't subscirbe /joint_states, so when I see your project,
I try to apply some experience from your code, but there still exist data miss, so my result is bad.
Can you give me some advice on how to handle this problem? Thank you again!
from serow.
I see.
In order to properly answer your question i need to know the following:
Does your robot have point feet or flat feet?
How fast is the gait the robot perform e.g. step time
Is it a dynamic or a static gait?
Also but can't subscribe you mean that lose/don't receive some messages?
from serow.
my quadruped robot use point feet,
when 4 legs walk a cycle, the base can walk 0.25m,
now it use static gait.
yes, accroding to suscribe all topic, I found I can receive imu , foot sensors all time, but when I cann't get the /joint_states , the error will show.
Also my way is try to calculate the kinematics change of one leg of every step, and to add every step change for the sum move.
my email address is [email protected], I mean use it can communicate quickly.
Thank you again for your help!
from serow.
For a static low-pace gait, leg odometry should be very accurate, especially when the robot has point feet and unwanted rotation by the ankle joint (as is the case in humanoids) does not happen.
What you ask for seems like a robot specific driver issue, are you sure that the robot always publish joint states @ 50hz?
Furthermore, i consider 50hz for joints and F/T to be very slow for accurate kinematic-inertial base estimation, so errors are expected.
from serow.
Just use the gait data of planning , I can get a good result.
At now my legodom calculate base on simulation in ros and gazebo,
I just subscribe /joint_states and then handle all topic in a cycle just as your struct,
but alway exists this kind of error, missing data maybe is a common thing, but your word is right.
maybe the foot judge have error, because I use effort control model in my simulation,
so it can be effect by the ground friction and get a wrong joint_states and foot judge.
Or you can give me someother ideas? Thank you again!
from serow.
Yes, determining which leg is the support and later on use it in the leg odometry computation is of vital importance. An inaccurate choice of support can compromise the accuracy of leg odometry by a great deal.
I strongly encourage you to read my latest work (ICRA2019) on gait phase estimation:
https://github.com/mrsp/gem
from serow.
Ok, I will read your paper, and learn from your help. Thank you again for your help.
I forget to say, these days I try to modify my configure, and now can use message filter for my computation, but threr still get a wrong result. At now I will try to find my error in code struct again.
from serow.
closed
from serow.
Hello Crankler
SEROW now supports quadruped robots if you are interested check it out.
Stelios
from serow.
Related Issues (6)
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 serow.