Replies: 12 comments
-
It is confusing and a lot of code to dig through. How can you simulate a simple car (non-mecanum wheels)? What does dividing a circle by a straight line mean? Please simplify the code to 1 file and just drive straight, with regular wheels. See an example using the racecar here: |
Beta Was this translation helpful? Give feedback.
-
I have the 1 file code in the repo. The reason it looks huge is because I have 3 example in it. For all this 3 files, I just initialize the desired velocity of each wheel, and set to that value before simulation get started. And then you will see the trajectory shown above, the rectangles.
Also for the "circle/straight", I mean, if I don't change the motor “desired velocity” during the simulation, I don't know why will the simulator give me a rectangle. So there must be something happens in the simulator that generate this pattern. A rectangle means for the same signal, some timesteps it goes straight, and suddenly after some timesteps, it turns. |
Beta Was this translation helpful? Give feedback.
-
do you have any progress? |
Beta Was this translation helpful? Give feedback.
-
Ah? Me? No. I dig through this problem for a few weeks and this is already a summary of the problems I met with. I think the problem might be related to how the forces and torch implemented. Let me conclude this in one sentence: My car will run in a rectangle even though I didn't change the preset motor desired velocity. (And in real life, I think it should go like a circle or in a straight line) Also for
Well, the friction force applied on the wheel(saying the cylinder) drive the car. Doesn't it? Did I make something wrong? |
Beta Was this translation helpful? Give feedback.
-
OK, i will try to reproduce it later and work with you to find a solution. |
Beta Was this translation helpful? Give feedback.
-
for cylinders case it will run in a straight line if set all the target velocity to the same value. i will check why the trajectory is rectangle later. |
Beta Was this translation helpful? Give feedback.
-
Hi, Steven, Is there any updates about the rectangle pattern? |
Beta Was this translation helpful? Give feedback.
-
for mecanum case, i think it is more complicated for the contact between the Roller and the ground. i am trying a test to hard cod e to make the friction only exist along the axis of the Roller. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Thank you sooooo much! Since it is the first time I try to build from source to use PyBullet, it takes me some time to walk through the process. However, I got an error while I try to apply the patch using The last two line of the attached code block indeed looks strange to me.
|
Beta Was this translation helpful? Give feedback.
-
please ignore my old patch, now i find another more reasonable solution:
|
Beta Was this translation helpful? Give feedback.
-
That indeed sounds more reasonable. I did some test and it looks like, if I got some rectangles, they usually is in a small scale that actually the vehicle is turning almost in the same place. (For example: https://github.com/yanshil/PybulletCarRobot/blob/master/src/test_outputs/simple_cuboid/disableConeFriction_initMaxPulseZero.png) Currently I didn't find other patterns that is far away from my expectations. Thanks again! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I was working on a wheeled-robot simulation, and I notice a strange behavior that I cannot tell what cause this.
What I have done:
Expected Behavior:
Draw a circle / straight line. At least the angle of the chassis should not change too much
Actual Behavior:
For some specific value of targetVelocity, it will draw rectangle. It means that after some steps of stable angle simulation, it suddently turns.
Also, the number of stable simulation steps are approximative.
Notes
I notice this first on an omni-wheel robot, but this can be also reproduced in simple 4 wheel vehicle where each wheel is just a cylinder.
I even tested with the racecar example, and it will also show such behavior.
I also try to enable and disable the flag
p.URDF_USE_INERTIA_FROM_FILE
. This shows difference on the trajectory, but this behavior is still exists. And since I exported urdf from a model software I indeed expect this flag is on.Code and example
Here is the recorded video. Code and urdf is in this repo. Videos are recorded using the values set in
hello_*.py
of each model.A small change: I modified the
right_steering_hinge_joint
fromcontinuous
tofixed
to make it stable.Omni wheel support
I notice that somebody request an omni wheel support. I also really want this. And also if it is not supported yet, can anyone tell me what is the reason that omni wheel cannot be nicely simulated in PyBullet? ( I actually can tune the parameters to get some parallel moving behavior, but I'm not sure if it functions currently as it should be.)
I suppose it is something related to how the constraints is implemented but not quite sure.
Beta Was this translation helpful? Give feedback.
All reactions