Meshes not appearing in Studio

💬 Open
Alban Laflaquiere

Hello,

I tried uploaded some obstacle meshes with Studio Live using:

object = jacobi.Convex.load_from_file(mesh_path)
origin = jacobi.Frame.from_quaternion(*pose)
obstacle = jacobi.Obstacle(object, origin, "66C866")
studio.add_obstacle(obstacle)

but nothing showed up in Studio.

Thanks

2 months ago

Activity
Lars Berscheid

To add a file via Studio Live currently, you'd need to:

  1. Upload the file to your Studio project,
  2. Download the Studio project and open it via Planner.load_from_project_file,
  3. Get the file reference via obstacle = planner.environment.get_obstacle('<name>').
  4. Now you can add more instances of the same file via studio.add_obstacle(obstacle).

This way we circumvent uploading large mesh files via Studio Live. But I do see that referencing an existing file can be made much simpler, so in the next release we'll add the following way
studio.add_obstacle(Convex.reference_studio_file('<file_name_in_studio_project>')). Does that sound good to you?

0    1 month ago    Reply

Alban Laflaquiere

Hi Lars,

Thanks for the feedback.

If I understand correctly, to place a convex mesh in the scene:

  • one would still need to upload the file to Studio first; this way creating an instance of this mesh somewhere in the scene
  • then download the resulting project
  • now potentially add other instances of the same mesh in the scene
    Is that right?

I guess a studio.add_obstacle(Convex.reference_studio_file('<file_name_in_studio_project>')) method would help a little bit, but the overall process would remain quite involved for loading any new mesh.


Let me flesh out the use-case I have in mind, as this might help explain the issue I'm facing.

I need to programatically create scenes containing meshes for some obstacles / grippers on my local machine.
There seems to be no issue on the planner side (except the IK issue mentionned in another bug report) when proceeding this way. But I actually don't have any visual feedback about what obstacles the planner knows about and if they are in a proper pose.

To check that the scene looks like I expect, I would like to use Studio, as there is the possibility to upload obstacles with studio.add_obstacle(). However, I face the two following issues:

  • studio.add_obstacle() only works for primitive shapes, and trying to add meshes doesn't show anything in Studio (this bug report)
  • It seems I cannot upload a robot with the studio API -- this means i have to manually create the same robot in Studio, which limits the building of scene to a fixed robot in a fixed pose. (mentionned in another bug report)
    • Related to this point, when multiple robots are present Studio, I also couldn't manage to "select" a robot programatically to play a trajectory in Studio, even by name (see other related bug report).

Maybe this description can give you a better idea of the use-case I'm thinking about.

1    1 month ago    Reply

Yahav

Hey @Alban Laflaquiere, we're looking into it.

0    1 month ago    Reply

Yahav changed status to 💬 Open

1 month ago

One vote