Comments (5)
Hello, I also met the first question, waiting for an answer here.
On the second question, you should combine Quadruped.cpp File to study, especially the buildmodel function
I think there is something wrong with the annotation of "join axis" of addbody function.I think this axis is not in the parent coordinate system.
I've built my own robot model based on "minicheetah.h" although I'm still confused in the original version
from cheetah-software.
Hello, I also met the first question, waiting for an answer here.
On the second question, you should combine Quadruped.cpp File to study, especially the buildmodel function
I think there is something wrong with the annotation of "join axis" of addbody function.I think this axis is not in the parent coordinate system.
I've built my own robot model based on "minicheetah.h" although I'm still confused in the original version
Thank you,but I have read Quadruped.cpp many times,the coordinate issue still puzzeled me.
In xTreeAbad/Hip/Knee, the way they built coordinates is different from model.addGroundContactPoint ,you can refer MiniCheetah.h,which means the two methods they set the orgins of knee joints are differnt ,actually apart from knee joint,the hip joint has the same issue.
In my opinion,the orgin of knee coordinate must coincidence with knee joint, the axis of BIG PULLEY--to be more precise.Because in forwardKinematics function ,the foot postions in word/absoulate coordinate are calcuated by the GroundContactPoint.
I was wondering how you built your own robot ,could you post a picture to illustrate your process?Thank you.
from cheetah-software.
I don't know much about forward kinematics and adding the contact point function.
Moreover, I am not sure what the _kneeLinkY_offset of Cheetah Mini is for, which causes the contact point between the foot and the ground is not on the symmetry axis of the thigh.
However, cheetah3's _kneeLinkY_offset is 0, so I think there may be some engineering issues with the Cheetah Mini, so don't worry about the 4mm.
The coordinate system in the program is different from that in the paper "Highly Dynamic Quadruped via Whole-body Impulse Control and Model Predictive Control".All the hip and knee joints are in the opposite direction.
My robot parameters are as follows:
abadLength:0.088
hipLength:0.27
kneeLength:0.27
from cheetah-software.
I don't know much about forward kinematics and adding the contact point function.
Moreover, I am not sure what the _kneeLinkY_offset of Cheetah Mini is for, which causes the contact point between the foot and the ground is not on the symmetry axis of the thigh.
However, cheetah3's _kneeLinkY_offset is 0, so I think there may be some engineering issues with the Cheetah Mini, so don't worry about the 4mm.The coordinate system in the program is different from that in the paper "Highly Dynamic Quadruped via Whole-body Impulse Control and Model Predictive Control".All the hip and knee joints are in the opposite direction.
My robot parameters are as follows:
abadLength:0.088
hipLength:0.27
kneeLength:0.27
I don't know much about forward kinematics and adding the contact point function.
Moreover, I am not sure what the _kneeLinkY_offset of Cheetah Mini is for, which causes the contact point between the foot and the ground is not on the symmetry axis of the thigh.
However, cheetah3's _kneeLinkY_offset is 0, so I think there may be some engineering issues with the Cheetah Mini, so don't worry about the 4mm.The coordinate system in the program is different from that in the paper "Highly Dynamic Quadruped via Whole-body Impulse Control and Model Predictive Control".All the hip and knee joints are in the opposite direction.
My robot parameters are as follows:
abadLength:0.088
hipLength:0.27
kneeLength:0.27
是的哈哈,我也早注意到你是北航的了,可以加qq联系吗,2993213321
from cheetah-software.
Hello, I also met the first question, waiting for an answer here.
On the second question, you should combine Quadruped.cpp File to study, especially the buildmodel function
I think there is something wrong with the annotation of "join axis" of addbody function.I think this axis is not in the parent coordinate system.
I've built my own robot model based on "minicheetah.h" although I'm still confused in the original versionThank you,but I have read Quadruped.cpp many times,the coordinate issue still puzzeled me.
In xTreeAbad/Hip/Knee, the way they built coordinates is different from model.addGroundContactPoint ,you can refer MiniCheetah.h,which means the two methods they set the orgins of knee joints are differnt ,actually apart from knee joint,the hip joint has the same issue.
In my opinion,the orgin of knee coordinate must coincidence with knee joint, the axis of BIG PULLEY--to be more precise.Because in forwardKinematics function ,the foot postions in word/absoulate coordinate are calcuated by the GroundContactPoint.
I was wondering how you built your own robot ,could you post a picture to illustrate your process?Thank you.
Hi there, I met the same problem about the hip and knee coordinate, and I tried to change it to the coordinate they defined in their papers. However, I found that will make cheetah terrible performance in locomotion mode. I mainly change Quadeuped.cpp, Drawlist.cpp and some joint angular settings. Have you ever tried to modify it before? Hope your advice!
// upper
upper.setToIdentity();
upper.rotate(-90, 0, 1, 0);
lower.rotate(180, 0, 0, 1);
// lower
lower.setToIdentity();
lower.rotate(180, 0, 1, 0);
lower.rotate(180, 0, 0,1);
// Hip Joint
bodyID++;
Mat6<T> xtreeHip = createSXform(I3,withLegSigns<T>(_hipLocation, legID));
Mat6<T> xtreeHipRotor = createSXform(I3,withLegSigns<T>(_hipRotorLocation, legID));
if (sideSign < 0) {
model.addBody(_hipInertia.flipAlongAxis(CoordinateAxis::Y),
_hipRotorInertia.flipAlongAxis(CoordinateAxis::Y),
_hipGearRatio, bodyID - 1, JointType::Revolute,
CoordinateAxis::Y, xtreeHip, xtreeHipRotor);
} else {
model.addBody(_hipInertia, _hipRotorInertia, _hipGearRatio, bodyID - 1,
JointType::Revolute, CoordinateAxis::Y, xtreeHip,
xtreeHipRotor);
}
model.addGroundContactPoint(bodyID, Vec3<T>(0., 0., -_hipLinkLength));
// Knee Joint
bodyID++;
Mat6<T> xtreeKnee = createSXform(I3, _kneeLocation);
Mat6<T> xtreeKneeRotor = createSXform(I3, _kneeRotorLocation);
if (sideSign < 0) {
model.addBody(_kneeInertia.flipAlongAxis(CoordinateAxis::Y),
_kneeRotorInertia.flipAlongAxis(CoordinateAxis::Y),
_kneeGearRatio, bodyID - 1, JointType::Revolute,
CoordinateAxis::Y, xtreeKnee, xtreeKneeRotor);
// add foot ground contact point
model.addGroundContactPoint(bodyID, Vec3<T>(0.,0., -_kneeLinkLength), true);
} else {
model.addBody(_kneeInertia, _kneeRotorInertia, _kneeGearRatio, bodyID - 1,
JointType::Revolute, CoordinateAxis::Y, xtreeKnee,
xtreeKneeRotor);
// add foot ground contact point
model.addGroundContactPoint(bodyID, Vec3<T>(0., 0., -_kneeLinkLength ), true);
}
from cheetah-software.
Related Issues (20)
- Got error while Running Mini Cheetah
- Question about mini-cheetah initial state HOT 2
- Hi I get stingop truncation error while compiling project ? HOT 4
- building cheetah software hangs the laptop after 82 % ? HOT 1
- Question about WBC
- Encountering Compiling Issues HOT 2
- 国产机器狗 HOT 5
- How to compute dot_J_c?
- robot cannot standup with more than 35kg body
- Test the VBL Balance Controller
- can't complete 'make -j' HOT 1
- How to create new .dat files for alternate Back and Front flip moves? HOT 5
- How to add stairs
- RobotState parameters
- Tuning coefficients
- How to make a robot dog machine
- Build step for googletest failed: 2 HOT 2
- this is a trash tutorial. need to burn this repository down
- Since this repository is still alive, can @ elijahstangerjones please help me?
- donot find /build/user/MIT_Controller/libuser_controller.so
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 cheetah-software.