Teilen Sie Ihre Erfahrunge und Wünsche mit uns und anderen Usern!

0
Answered

How to cummunicate with an ABB robot through the Externally Guided Motion (EGM) interface?

MonkeyKing 1 year ago in General Questions updated by Support 1 year ago 8

Hi,

I'm trying to build a simple Digital Twin of an ABB robot. I'd like to use the Externally Guided Motion (EGM) interface provided by ABB to realize the real-time fast communication between the robot and my Unity sence with the help of realvirtual.io. However, there is no EGM interface in realvirtual.io. Does it mean that I have to build a ABB EGM custom interface by myself? I'm a green hand of Unity and C#. If I have to do that by myself, apart from a brief introduction to "custom interfaces" in the documentation of realvirtual.io, are there any other effective reference materials? Could you please provide some advice and assistance? Thanks a lot.

Answer
Support 1 year ago

Hi,

If you're unfamiliar with Unity and C#, I highly recommend learning the basics first. Implementing an interface without this foundational knowledge would be very tough.

Regarding the suggestion to "use any of the existing interfaces as a blueprint and delete everything that is PLC/interface-specific"—what I meant is that you should reuse the C# code (the one script) of an existing interface and remove everything that's specific to that particular interface inside this script. However, doing this requires a good understanding of C# so that you can navigate and comprehend the code.

The parts you remove need to be replaced by C# code tailored to your custom interface (in your case, EGM, where you seem to have some examples on Github). 

That said, simply copying and pasting code won't work in my opinion. You need a decent level of C# knowledge to properly implement and modify a custom interface.

Best regards

Thomas

0
Fixed

Fehler bei Plattformwechsel von Windows zu Android für Meta Quest 3 Build

jnthn. 1 year ago in General Questions updated by Support 1 year ago 3

Image 1182

Hallo zusammen!

Diesen Fehler bekomme ich direkt beim Plattformwechsel von Windows zu Android. In dieser Szene befindet sich kein realvirtual GameObject und auch keine Assets dergleichen. Das Paket ist jedoch natürlich im Projekt enthalten. 

Answer
Support 1 year ago

Eigentlich sollte über die AssemblyDefinitions SharedMemory für Android ausgeschlossen sein. Vom Pfad her scheint es sich um eine ältere Version zu handeln. Um welche realvirtual Version handelt es sich. Notfalls einfach den Folder realvirtual/private/Interfaces/SharedMemory löschen.

0
Answered

Problem with GuidedMu when MU has a fixed MU on it

Andreas 1 year ago in realvirtual.io Starter and Professional updated by Support 1 year ago 3

Hello,

I use a guided transport system with a GuidedMU on it. 

This MU (WT-2) is getting loaded with another MU (Can) which gets fixed on it by a fixer.

After the WT-2 is lowered again it should actually get moved by TransportGuided system. But it is just shaking a bit, moving barely. After I delete the Can which is fixed on it, the WT-2 starts moving immediately. 

The WT-2 has a GuidedMU (Script) on it and the property "IsFixed" is true when the WT is lifted and false again after it's lowered and should move.

Image 1181

Sometimes it's working though the WT-2 gets moved normal with the Can fixed on it but somestimes not.

I'm not sure where the issue is and try to understand why it is not working properly.

Thank you in advance.

Andreas

0
Fixed

Read Node not getting values for arrays

Mike Mar 1 year ago in OPCUA4Unity updated 1 year ago 5

Hello,

i´m using the OPCUA4Unity standalone package to communicate with my opc server.

Everything is setup correctly and i can connect to the server, import and read nodes.
Unfortunatly i cant get values for arrays though.

Example for the absolutePosition node:
The OPCUA_Node is recognizing that the node is an Array, but still wont fill in any actual values.

Image 1179


I doublechecked the values of the node using the OPCWatch tool:

Image 1180

I cant find anything related in the forums or the documentation.
How to handle arrays?


Kind regard

Mike 

0
Completed

I used mono build normally, but I used il2cpp incorrectly

zhang kang 1 year ago updated by Support 1 year ago 7

D:\soft\2021.3.18f1c1\Editor\Data\il2cpp\build\deploy\il2cpp.exe @Library\Bee\artifacts\rsp\10185664654020197962.rsp

Error: IL2CPP error (no further information about what managed code was being converted is available)

System.AggregateException: One or more errors occurred. (The given key 'nop' was not present in the dictionary.)

---> System.Collections.Generic.KeyNotFoundException: The given key 'nop' was not present in the dictionary.

at System.Collections.Generic.Dictionary`2.get_Item(TKey key)

at Unity.IL2CPP.DataModel.Instruction..ctor(Instruction instruction)

at Unity.IL2CPP.DataModel.BuildLogic.Populaters.MethodBodyPopulator.CreateInstructions(CecilSourcedAssemblyData assemblyDef, MethodDefinition method, MethodDefinition source, ReadOnlyCollection`1 variables, Dictionary`2& instructionMap)

at Unity.IL2CPP.DataModel.BuildLogic.Populaters.MethodBodyPopulator.PopulateMethodBody(CecilSourcedAssemblyData assemblyData, MethodDefinition method, MethodDefinition source)

at Unity.IL2CPP.DataModel.BuildLogic.Populaters.DefinitionPopulater.PopulateMethodDefs(CecilSourcedAssemblyData assemblyData, TypeDefinition typeDef)

at Unity.IL2CPP.DataModel.BuildLogic.Populaters.DefinitionPopulater.PopulateTypeDef(TypeContext context, UnderConstructionMember`2 type)

at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.b__13_1(UnderConstructionMember`2 typeDef)

at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)

--- End of stack trace from previous location ---

at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)

at System.Threading.Tasks.TaskReplicator.Replica`1.ExecuteAction(Boolean& yieldedBeforeCompletion)

at System.Threading.Tasks.TaskReplicator.Replica.Execute()

--- End of inner exception stack trace ---

at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure)

at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)

--- End of stack trace from previous location ---

at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, CancellationToken cancelToken, Exception otherException)

at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)

at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)

at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)

at Unity.IL2CPP.DataModel.BuildLogic.Utils.ParallelHelpers.ForEach[TSource](IEnumerable`1 source, Action`1 func, Boolean enableSerial)

at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.PopulateCecilSourcedDefinitions(ReadOnlyCollection`1 assemblyData)

at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.Build()

at Unity.IL2CPP.Contexts.Components.DataModelComponent.Load(LoadSettings loadSettings, Boolean ownsTypeContext, Boolean ownsBuilder, DataModelBuilder& builder)

at Unity.IL2CPP.AssemblyConversion.Phases.InitializePhase.Run(AssemblyConversionContext context)

at Unity.IL2CPP.AssemblyConversion.Classic.ClassicConverter.Run(AssemblyConversionContext context)

at Unity.IL2CPP.AssemblyConversion.AssemblyConverter.ConvertAssemblies(AssemblyConversionInputData data, AssemblyConversionParameters parameters, AssemblyConversionInputDataForTopLevelAccess dataForTopLevel)

UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

0
Answered

TwinCat HMI Interface | Error in Connection

Andrea 1 year ago in General Questions updated by Support 1 year ago 7

Hallo!
Ich wollte wissen, ob jemand Erfahrung im Umgang mit dem TwinCat HMI Interface hat, insbesondere mit Einstellungen die man eventuell im TwinCat Projekt vornehmen muss. 
Ich habe zur Zeit das Problem, dass ich mit dem realvirtual TwinCat HMI Interface keine Verbindung zu meinem HMI Server herstellen kann. Über TwinCat ADS klappt es. 
TwinCAT HMI | realvirtual.io User Documentation Die Einstellungen die hier vorgegeben werden, sind bei mir genauso. 
Deswegen frage ich mich, ob es vielleicht an Einstellungen in meinem TwinCat Projekt liegt, also z.B. SSL/TLS verwenden oder nicht usw. 

0
Declined

IL2CPP erro

zhang kang 1 year ago updated by Support 1 year ago 4

Exception: IL2CPP error for method 'UnityEngine.Quaternion game4automation.IKCalculator::(UnityEngine.Quaternion)' in assembly 'D:\ZhangKang\IA_dev\Temp\StagingArea\Data\Managed\ikcalculator.dll'

System.NullReferenceException: Object reference not set to an instance of an object.

my unity version is 2020.3.33。 I've been dealing with this problem for too long and don't know what to do。please help me

0
Answered

Difference between grip (script) and fixer

Andreas 1 year ago in realvirtual.io Starter and Professional updated 1 year ago 10

Hi,

first I would like to tell that I really like realvirtual.io and and simulation possibility and openness it provides. But at the same time it's often so frustrating because it's kinda challenging.

Now I got the following problem.

I want to use the new fixer pick and place function in IKTarget.

Image 1168

I have two robots and a round table with 4 grip scripts.

Overall view:

Image 1171

Robot A takes the MU with fixer pick and places it on the RT. The RT picks it up with a grip script and it's fixed by the gripper. 

Image 1169

But robot B can't pick up the MU from the round table. It seems to fail because of this code line in fixer script:

Image 1172


If I delete this line than the pick up by robot A isn't working because for some reason the fixer script of robot A does list the MU two times in MUS Entered. (I guess it's the reason)

2 Questions:

1. Where is the difference between grip and fixer?

2. How can I make the pick up work by robot b fixer pick?

Best regards

Andreas

Answer
Support 1 year ago

In the scenario you described, it seems that the MUs are being simultaneously gripped by two different components. This isn't supported or intended behavior. Typically, when something is gripped or fixed, it becomes a child of the gripper or fixer, following its position. If Gripper A moves while Gripper B is still gripping, there’s a conflict—who will control the movement?

This is likely why your case 3 isn't working. Such a setup could lead to unexpected behavior, potentially causing collisions or damaging other elements that rely on the Grip/Fixer system. I recommend developing a custom gripper tailored to your specific needs to avoid these issues. But we are taking this into account if we think  about reengineering Grip or Fixer in the future.

I will also extend our documentation to make sure that it is clear that gripping one part by two Fixer or Grip is not supportet.

0
Answered

How to set correct position for roatation kinematic on axis

eb-amp 1 year ago in realvirtual.io Starter and Professional updated by Support 1 year ago 1

While trying to setup the demo robot I have found that you must manually place the drive in the dead centre of the axis for the point of rotation although it seems extremely hard and inefficient to have to manually set this and try get right?

Image 1167

Is there any methods or tools to use to get the point of rotation in the dead centre, I will put some photos to try visualise

Image 1166

what I mean

Image 1165

0
Answered

plc input disappear in

Cris 1 year ago in General Questions updated by Support 1 year ago 2

Hello,

I created a Measure Raycast and linked with PLC Input Float, but when I start simulation the tag disappear and does not

communicate with PLC.

How can I fix?

Thanks!

Image 1162


Image 1164