Closed justbuchanan closed 9 years ago
If you mean to model a physical dribbler in the simulator, ok. Otherwise, when I wrote it, I just used a hacked "set ball to robot face if dribbler command is on" callback.
Yeah we were talking about actually modeling a physical dribbler for a little more realism. It may be fine to leave it as is though, it hasn't been that bad right now and it'll be tough to model it so that it's close to real life.
For the dribbler, the two things I thing we'd need in bullet are a separate collision object on the front of the robot with slightly different bounce dynamics and some code that adds a torque to the ball when it's touching this collision object. @ehuang3 Has something similar to these items been tried in the simulator before?
I think there is currently a "ghost" collision object in the mouth of the robot for detecting when the ball is close enough to be captured by the dribbler.
If I recall correctly, back in the heyday of Alex and Ben, they tried modeling the dribbler similar to the way @barulicm proposed. I think the ball ended up rolling up the face of the robot or something.
Yeah, that actually sounds familiar. Any object that the ball can collide with would have to have a certain amount of surface friction that would turn that torque into a vertical force. We may need to actually model a spinning dribbler bar. This could give us more accurate collisions and spin without the problems of the ghost collider hack. Downside is that this may hurt performance slightly as we've now nearly doubled the object count. Bullet should be able to handle it, but we'll have to try to find out. .
Well I did change this a while ago. I basically increased the amount of force we apply to the robot to make it more responsive. I think its more similar to how it actually moves. But I haven't been able to test it.
Second checkbox => #182
As discussed in #105, there are a few improvements that need to be made to our simulator for it to be more effective.
Here's our current todo list for what needs to be done: