RobotLocomotion / drake

Model-based design and verification for robotics.
https://drake.mit.edu
Other
3.34k stars 1.26k forks source link

Generalize AutomotiveSimulator To Support Multi-Body Vehicles #3919

Closed liangfok closed 6 years ago

liangfok commented 8 years ago

Problem Definition

AutomotiveSimulator only supports "box" vehicles, i.e., vehicles that consist of a single rigid body. For simulation and visualization purposes, we want to be able to load and visualize complex multi-body vehicles that look like actual vehicles.

Spirals

This spiral assumes all floating joints are of type kRollPitchYaw and all other joints are single-DOF and at their zero positions.

Spiral 2 - RPY Floating Joint + Non-Zero Position Single-DOF Joints.

This spiral builds upon spiral 1 by allowing the rest of the joints to be in non-zero positions. It continues to assume all floating joints are of type kRollPitchYaw.

Spiral 3 - Quaterion Floating Joint + Non-Zero Position Single-DOF Joints

This spiral builds upon spiral 2 by supporting quaternion floating joints. This is tricky since quaternion floating joints have differing numbers of positions and velocities.

Spiral 4 - Quaterion Floating Joint + Non-Zero Position Multi-DOF Joints

This spiral builds upon spiral 3 by supporting non-zero positions of all joints including non-floating joints.

Here we verify that the system supports the most popular mesh and material description formats including .obj, .dae, etc.

maddog-tri commented 8 years ago

I suggest augmenting the "Spiral N" goals to give them visible feature goals, too --- e.g., "Prius with static wheels" for Spiral 1, "Prius with steerable wheels" for Spiral 2. (Maybe 3 becomes RPY+multi-DOF joints, with "Semi-trailer truck with steerable wheels and articulated trailer"?)

liangfok commented 8 years ago

@maddog-tri, great idea. I updated the original post with visible feature goals. PTAL.

jwnimmer-tri commented 8 years ago

I am hesitant to do some of the later spirals until we have GeometryWorld up and running. The bespoke glue code to work around it is not worth too much investment. We can accept glue code for demos we need, such as multi-car automotive demos, but we shouldn't add quadcopters and such until we have GeometryWorld.

liangfok commented 8 years ago

OK SGTM. Is there a PR #, issue #, or some other documentation I can reference to learn more about the aforementioned GeometryWorld?

jwnimmer-tri commented 8 years ago

I refer to you @david-german-tri who can help coordinate locally and/or refer you to the dynamics team.

sherm1 commented 8 years ago

Pinging @SeanCurtis-TRI for GeometryWorld commentary. My 2 cents: I would rather call this SharedEnvironment since it will ultimately include much more than geometry.

jwnimmer-tri commented 7 years ago

@liangfok I'm not sure that this issue as currently phrased is helping much. Is there any work here remaining that's worth capturing before we close this?

liangfok commented 7 years ago

I would like to wait for the switch to PoseAggregator before continuing work on this issue. I do think it's desirable to eventually support visualization of the wheels spinning, front wheels steering, suspension movements, etc., though not in the near term. I shall thus decrease the priority of this issue for now.

jwnimmer-tri commented 7 years ago

Ah, okay. From the original post, I didn't realize that the goal was to map SimpleCar-like dynamics into improved visualizations by adjusting more of the links during the visualization step.

jwnimmer-tri commented 6 years ago

Closing as WONTFIX.