Assembly tasks in VR

Hi all,

There is now a new layout and component in the VR Interaction folder of the eCatalog. Note that in order to interact with objects in VR you must have Visual Components 4.2 or later and have the Premium license.

The new layout is Interactive VR Assembly Demo, where you can have a go at assembling a simple gearbox in virtual reality. The assembly instructions are shown in front of you, and you can pick up parts by holding down the grip button of your VR controller. Once you have picked up a part, the correct placement location is displayed as a blue ‘ghost’.

The assembly tasks are made possible by the new component, VR Assembler. To create a similar layout of your own, you must have the DeviceController, the Assembler, and the parts you want to assemble.

Creating the assembly is done by pushing the buttons on the Assembler. First, you should select one of the parts to be the main assembly where the other sub-assemblies will be placed. After that, position the parts as you want them to be once assembled, and press the ‘Generate reference assembly locations’ button, saving these locations. Finally, place the parts to the side where you want to pick them from and press the ‘Generate home locations’ button.

The demo is a proof of concept. You can also customize the device controller and assembler scripts to implement your features.
Thanks for reading, and let me know what you think!

-Este

8 Likes

I have been familiarizing myself with the VR all day and still blown away really great job. I was also wondering if there was plans in the future to add support for two controllers in the VR environment
it is something our costumers are adamant about in order to simulate operator loading unloading and assembly more accurately.

hope to hear back soon thanks.

Carlos Plazas

1 Like

This is fantastic fantastic stuff!!! I just tried it myself and I am blown away by it it works Great! and the blue 'shadows are an amazing touch that will come in handy. I know this is just the proof of concept but I am already super excited about what is to come.

what are the future plans for this!! would love to hear them.

also have a question. about how this can be incorporated with other components or signals.

For example when I hit a “cycle start button” the part is trasnported into another process and the table resets and I get to build another assembly.

or maybe the other way around when the assembly is finished it the machine can send out a signal.
this is so that we could use this example in the following application

have a station where you are supposed to load parts and you use this system to load the parts in the station geometry in the right locations and orientations. once you load all the parts the “assembly” will be complete and it will allow the line to run if the operator presses a cycle start button.

Im wondering how far off we are from achieving something like this.

really fantastic work though. very excited

1 Like

Thank you @CarlosPlazas!

We provide the demo layouts as examples of what can be done with the software, and hope that our skilled users get inspired to create their own solutions.

The VR functionalities rely heavily on python scripting and I highly recommend everyone interested in creating VR solutions in VC to check out the vcVREvents in the python API. Experimenting with the existing components and inspecting the scripts that these components use will help a lot in the beginning also.

I believe that everything you just described can already be done by modifying the python scripts to implement the necessary functionalities. Of course we will also provide more components and examples in the future.

-Este

1 Like

Thats really exciting to hear that we can already achieve this with python scripting

I am still fairly new to visual components only had it for a couple months and have yet to dive into python scripting but will definitely start looking into it thanks! I heard more VR functionality will be coming in 4.3 any teasers you have of what is to come?

I am using HTC Vive Cosmos Elite setup, and I have the VR Assembly demo running nicely on the set, but for some reason, none of the parts react to any of the controller buttons. The controllers do work in the environment for rotating the scene, for flying and teleporting, but the no interaction with parts or doors/joints etc. Any idea where can I start to find a fix?

Have you tested any other layouts for interactive VR?
In order to interact in VR, you need the Premium license and you must enable animation streaming.

See this tutorial for more on animation streaming: Streaming Simulation to VR | Visual Components Academy

I have the Premium license and I am using VC4.3 and enabled streaming.
I have tried other layouts (one of my own and another one is the Interaction VR Example) but the objects are not pickable on those either.

I was able to resolve the issue:
While in the Visual Components Experience VR environment, press the “Switch Game” button on the HTC Vive controller, then select controller settings and edit bindings. There should be a group of settings for “VISUALCOMPONENTS.EXPERIENCE” Press edit.
There on the Grab function, open the button options and select vrevents_grab or vrevents_grabbutton
Close the menu and the grab option should work by squeezing the controller side buttons.

4 Likes

Hi Este,

I am having a problem with the teleport function not working in VR. Model created in VC 4.4 and using VCE 1.6.0.
The binding controls are correct North Trackpad but this function does not work?
Is anyone else have the same problem.

Hi
I am also having a similar problem where the teleport function is not working in VR. I am able to use elevator down but not elevator up functions.

I have an HTC vive pro 2 and using VCE 1.6.0 and models created in VC 4.4 I confirmed teleporting works with edrawings.

I have noticed that in VC Experience 1.6 the VR device button dead zone setting is quite high. If you go to the SteamVR settings and lower the deadzone for buttons it should work.

Could you please share a link to the documentation of the API? I can’t seem to find it online.

Thanks in advance.

offline in vc help file → vcVREvents in the python API

1 Like

Hi, back after a year. So the reference demo for the VR assembler works fine in both VR experience and Visual Components 4.3 main environment.
I tried creating my own assembly, following the steps in the video, but with CAD imported geometries and while trying to “Generate reference assembly locations” I get an error in the output window:

Traceback (most recent call last):
File “VR Assembler::PythonScript”, line 73, in assy_generator
File “VR Assembler::PythonScript”, line 133, in create_geometries
NameError: Attribute or method ‘decimate’ not found.

Any Ideas how to proceed with debugging?

The method ‘decimate’ is only available for objects of type vcTriangelSet. The component you imported must also have some other geometry types in it since decimate cannot be done.

You could try opening the python script on the modeling tab, and commenting out line 133 by putting a # symbol at the beginning of that line to see if it fixes the issue.

Thanks! That notion of the geometry properties helped, and I was able to remodel one of the parts in a different way to make it “decimable”.

May I ask if you have a workstation that realizes the cycle assembly parts you mentioned above? Now I also want to make a workstation on which a shell can be assembled. After the transfer, the entire assembly is transported away by the conveyor belt, and the new base that needs to be assembled stops on the workstation through the conveyor belt to wait for assembly.


1700514142223
What do I need to set up to achieve the pictured assembly? I have set it up as per the two videos you posted above. And also set up the flow. But still can’t achieve it.