Giter Site home page Giter Site logo

unity-technologies / urdf-importer Goto Github PK

View Code? Open in Web Editor NEW
197.0 13.0 66.0 10.88 MB

URDF importer

License: Apache License 2.0

C# 100.00%
ros urdf robot robot-simulation robotics robotics-development robotics-simulation simulation unity unity-robotics

urdf-importer's Introduction

URDF Importer

Version License Unity


We're currently working on lots of things! Please take a short moment fill out our survey to help us identify what products and packages to build next.


Introduction

URDF Importer allows you to import a robot defined in URDF format in a Unity scene. URDF defines the geometry, visual meshes, kinematic and dynamic attributes of a Robot. Importer parses a URDF file and imports it into Unity using PhyX 4.0 articulation bodies.

Using the Package

Adding the URDF package

  1. Open the Package Manager from Unity Menu. Click Window -> Package Manager. A new package manager window will appear.

  2. Click on the + sign on the top left corner of the package manager window and click on Add Package from Git URL.

  1. Enter the git URL for the URDF Importer with the latest version tag (currently v0.5.2) https://github.com/Unity-Technologies/URDF-Importer.git?path=/com.unity.robotics.urdf-importer#v0.5.2 in the text box and press Enter.

  2. Click Import URDF.

Importing the robot using URDF file

  1. Copy the URDF and the associated files in the assets folder in the Project window. Make sure the location of the mesh files is correct.

  2. Right Click on the URDF file and click Import Robot from Selected URDF file.

  1. A window will appear with the Import settings for the Robot. First setting mentions the orientation of the mesh files. The second setting is used to select the algorithm to be used in Collision mesh Decomposition. For more information click here

  1. Click Import URDF

Tutorials

Instructions for using URDF importer can be found here.

ROS#

Special thanks to the Siemens ROS# Project Team for driving the ROS-Unity Integration Open Source since 2017.

This repo is a fork of ROS# and was a great starting point for our development.

Community and Feedback

The Unity Robotics projects are open-source and we encourage and welcome contributions. If you wish to contribute, be sure to review our contribution guidelines and code of conduct.

Support

For questions or discussions about Unity Robotics package installations or how to best set up and integrate your robotics projects, please create a new thread on the Unity Robotics forum and make sure to include as much detail as possible.

For feature requests, bugs, or other issues, please file a GitHub issue using the provided templates and the Robotics team will investigate as soon as possible.

For any other questions or feedback, connect directly with the Robotics team at [email protected].

License

Apache License 2.0

urdf-importer's People

Contributors

at669 avatar chris15joseph avatar hakuturu583 avatar hyounesy avatar lauriecheers-unity avatar mpinol avatar mrpropellers avatar peifeng-unity avatar repodb[bot] avatar sdiao avatar vidurvij-unity avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

urdf-importer's Issues

Importing URDF

Hello, I am following the guidelines form the Readme tutorial and it says

[...]
Copy the URDFLibrary and UnityEditorScripts directories into the newly created Assets/Plugins directory
[...]

But there are no folders named URDFLibrary and UnityEditorScripts in the repository https://github.com/Unity-Technologies/URDF-Importer. I tried copying the whole repository in an empty Unity 2020.2.0b9 project but I get the following error saying the MeshProcess namespace could not be found

Assets/Plugins/URDF-Importer-main/Editor/NeedsRuntimeConversion/Extensions/UrdfGeometryCollision.cs(6,7): error CS0246: The type or namespace name 'MeshProcess' could not be found (are you missing a using directive or an assembly reference?)

Any guidence?

Thank you!

How Can I read in Unity the maximun velocity of each joint?

Hi I want to read the maximum velocity of a joint specified in my urdf, in the unity loaded gameobject.

I'm trying with the value of articualtionBody.MaxAngularJoint and is giving me a value of 7 which is the default one, instead of the ones specified in the urdf.

Anyone one knows how to do it?

Thanks in advance!!

Issue Exporting Box Collider

Box Collider primitive does not export size. It actually exports the transform scale.

This is how the collisions are setup:

urdf_collisions

And the Box Collider definition:

urdf_box

And then the resulting URDF:

    <collision>
      <geometry>
        <box size="1 1 1" />
      </geometry>
    </collision>
    <collision>
      <geometry>
        <box size="1 1 1" />
      </geometry>
    </collision>
    <collision>
      <geometry>
        <box size="1 1 1" />
      </geometry>

Unstable behaviour with rigidbodies

Hi, I'm encountering unstable behavior using the package together with rigidbodies. A minimal reproducible example can be seen with the articulation robotics project (https://github.com/Unity-Technologies/articulations-robot-demo).
Picking up a cube with the package shows the following unstable behavior. The rotation and position keep changing (which eventually causes the cube to fall).

BigCube
Without the package, it is stable, with a constant rotation and minimal fluctuations in the position.

BigCubeWithout

Decreasing the size of the rigidbodies increases the instability.

No option to Import Robot from URDF,

I am currently running unity version 2019.3.3 although I am happy to change if necessary.

I created a new project and added the URDF package via github link.
image

I then added a urdf file plus obj models to my projects asset folder. When I right click on the URDF, I do not have an option Import Robot from URDF.

I tried to restart unity, which gave some import errors.
image

Thanks in advance.

How to manually change the transform of base link at runtime?

I want to change the position of the base link at runtime, but when I tried to set the value of transform.position of base link, it would go back to the original point at next frame. Is there any method to manually change the transform of base link at runtime?

Type or Namespace MeshProcess could not be found

After downloading the zip from github and installing the package by unzipping and selecting package.json I now get the following error...

/Users/xxx/Downloads/URDF-Importer-dev/com.unity.robotics.urdf-importer/Editor/NeedsRuntimeConversion/Extensions/UrdfGeometryCollision.cs(18,7): error CS0246: The type or namespace name 'MeshProcess' could not be found (are you missing a using directive or an assembly reference?)

Wrong joint state from Urdf Joint Revolute

HI,

I have been using Unity Robotics Hub for my own robot. With the getPosition() function in for revolute joints, I realised the joint states I got were always close to zero. After checking the code in UrdfJointRevolute.cs, I found the following definition.

    public override float GetPosition()
    {
        #if UNITY_2020_1_OR_NEWER
            return ((ArticulationBody)unityJoint).jointPosition[xAxis] * Mathf.Deg2Rad;
        #else
            return -((HingeJoint)unityJoint).angle * Mathf.Deg2Rad;
        #endif
    }

The states are tranformed from degree to radian. Although I am not sure if this is the case for all versions, as least in version 2020.2.0b9, the position from (ArticulationBody)unityJoint).jointPosition[xAxis] is already in radian, so they are transformed twice and therefore always close to zero.

It would be greatly appreciated if any members can verify if this is indeed a bug! Thanks in advance.

Maximum limit of ArticulationBody hierarchy size reached

Hi, I'm currently working on my end-of-degree project, which consists of doing some VR tasks with the NAO robot. To do that, the first thing I have to do is to simulate this robot (NAO) in Unity. The Unity version I'm using is 2020.3.21f1 Personal.

In order to have the NAO robot in Unity, I have followed these steps:

  1. Imported URDF Importer from github (https://github.com/Unity-Technologies/URDF-Importer.git?path=/com.unity.robotics.urdf-importer#v0.5.2)
  2. Searched on github for the .urdf files that defines the NAO robot
  3. Included a folder in Unity > Project > Assets named nao_description, which contains some subfolders. I go to the path nao_description > urdf > naoV40_generated_urdf and I can find the nao.urdf file and others files such as Materials and nao_meshes.
  4. I right-click on the nao.urdf and press Import Robot from Selected URDF file
  5. Finally the NAO robot appears in the Scene

Before finishing the import, an error message is shown which says: "The maximum limit of ArticulationBody hierarchy size is reached: hierarchy of articulations can't have more than 64 ArticulationBody nodes!". Besides, during the import process, I can see that this robot has 82 ArticulationBody nodes more or less, so I can understand the origin of this error.

I found another Issue Report on github from someone who has a similar problem but it was from May 2021, and the conclusion was that there was a problem with the Physics Engine and that the Unity team is working on it. My question is if this problem has been solved and maybe my problem is the Unity version that I'm using or if there is another way to solve this. I thought of dividing the .urdf definition into 2 different files but I don't think this can work.

image

Thanks for reading and helping!

Velocity control affected by gravity

Hi, I'm attempting to implement a velocity control and following issue #24 the stiffness should be set to 0, but by doing so it is affected by gravity. The gif below illustrate what I'm talking about.

velocityController
I would expect the gripper to be standing still and only move based on the specified velocity targets, where none is given here.

The reproduction setup is using https://github.com/Unity-Technologies/articulations-robot-demo, where I have only modified the FixedUpdate() in GripperDemoController.cs to be the following:

  private void FixedUpdate()
  {
      ArticulationBody articulation = GetComponent<ArticulationBody>();
      float targetVelocity = -(float)moveState * Time.fixedDeltaTime * speed;
      var drive = articulation.xDrive;
      drive.targetVelocity = targetVelocity;
      articulation.xDrive = drive;
  }

How would I go about this, without changing the physics setting for the cube e.g turning off the cube's gravity?

Export robot to urdf: mesh format limits and joint information missing

Describe the bug
A clear and concise description of what the bug is.

I find two bugs (perhaps they are just features) when hitting "export robot to urdf" button.

  1. The exporting will try to find stl or dae models. So if I import the urdf with .obj files, it will raise an error that it cannot find the stl or dae model. I think it is quite strange, since exporting is really relevant to the urdf file, I wonder why it must request for the stl or dae format.
  2. On each part, if I change the information of Anchor Position, Anchor Rotation and Joint limits (if it is revolute and limited), then I save and export to new urdf. The joint limits will be saved, but anchor position and rotation will not. I assume these three information works together? Since in URDF, there is tag for joint xyz and rpy, I thought it is corresponding to the anchor position and rotation? I wonder why it is not written when exporting?

To Reproduce
I think my description is very clear to reproduce.

Console logs / stack traces
Please wrap in triple backticks (```) to make it easier to read.

for the first bug, the console log is like this:

Did not find an existing STL or DAE file for Geometry Mesh f_avg_Pelvis. Exporting a new STL file.
UnityEngine.Debug:Log (object,UnityEngine.Object)
Unity.Robotics.UrdfImporter.UrdfMeshExportHandler:CreateNewStlFile (UnityEngine.GameObject,bool) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/AssetHandlers/UrdfMeshExportHandler.cs:97)
Unity.Robotics.UrdfImporter.UrdfMeshExportHandler:CopyOrCreateMesh (UnityEngine.GameObject,bool) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/AssetHandlers/UrdfMeshExportHandler.cs:52)
Unity.Robotics.UrdfImporter.UrdfGeometry:ExportGeometryMeshData (UnityEngine.GameObject,double[],bool) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfGeometry.cs:305)
Unity.Robotics.UrdfImporter.UrdfGeometry:ExportGeometryData (Unity.Robotics.UrdfImporter.GeometryTypes,UnityEngine.Transform,bool) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfGeometry.cs:41)
Unity.Robotics.UrdfImporter.UrdfCollisionExtensions:ExportCollisionData (Unity.Robotics.UrdfImporter.UrdfCollision) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfCollisionExtensions.cs:71)
Unity.Robotics.UrdfImporter.UrdfCollisionsExtensions/<>c:<ExportCollisionsData>b__1_0 (Unity.Robotics.UrdfImporter.UrdfCollision) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfCollisionsExtensions.cs:45)
System.Linq.Enumerable:ToList<Unity.Robotics.UrdfImporter.Link/Collision> (System.Collections.Generic.IEnumerable`1<Unity.Robotics.UrdfImporter.Link/Collision>)
Unity.Robotics.UrdfImporter.UrdfCollisionsExtensions:ExportCollisionsData (Unity.Robotics.UrdfImporter.UrdfCollisions) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfCollisionsExtensions.cs:45)
Unity.Robotics.UrdfImporter.UrdfLinkExtensions:ExportLinkData (Unity.Robotics.UrdfImporter.UrdfLink) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfLinkExtensions.cs:71)
Unity.Robotics.UrdfImporter.UrdfRobotExtensions:ExportRobotData (Unity.Robotics.UrdfImporter.UrdfRobot) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfRobotExtensions.cs:325)
Unity.Robotics.UrdfImporter.UrdfRobotExtensions:ExportRobotToUrdf (Unity.Robotics.UrdfImporter.UrdfRobot,string,string) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfRobotExtensions.cs:292)
Unity.Robotics.UrdfImporter.Editor.UrdfRobotEditor:OnInspectorGUI () (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Editor/CustomEditors/UrdfRobotEditor.cs:99)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

IndexOutOfRangeException: Index was outside the bounds of the array.
Unity.Robotics.UrdfImporter.StlExporter.TransformMeshToWorldSpace (UnityEngine.Transform meshTransform, UnityEngine.Mesh sharedMesh) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/MeshProcessing/StlExporter.cs:102)
Unity.Robotics.UrdfImporter.StlExporter.CreateWorldSpaceMeshes () (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/MeshProcessing/StlExporter.cs:73)
Unity.Robotics.UrdfImporter.StlExporter.Export () (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/MeshProcessing/StlExporter.cs:35)
Unity.Robotics.UrdfImporter.UrdfMeshExportHandler.CreateNewStlFile (UnityEngine.GameObject geometryObject, System.Boolean isCollisionGeometry) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/AssetHandlers/UrdfMeshExportHandler.cs:103)
Unity.Robotics.UrdfImporter.UrdfMeshExportHandler.CopyOrCreateMesh (UnityEngine.GameObject geometryObject, System.Boolean isCollisionGeometry) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/AssetHandlers/UrdfMeshExportHandler.cs:52)
Unity.Robotics.UrdfImporter.UrdfGeometry.ExportGeometryMeshData (UnityEngine.GameObject geometryObject, System.Double[] urdfSize, System.Boolean isCollisionGeometry) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfGeometry.cs:305)
Unity.Robotics.UrdfImporter.UrdfGeometry.ExportGeometryData (Unity.Robotics.UrdfImporter.GeometryTypes geometryType, UnityEngine.Transform transform, System.Boolean isCollisionGeometry) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfGeometry.cs:41)
Unity.Robotics.UrdfImporter.UrdfCollisionExtensions.ExportCollisionData (Unity.Robotics.UrdfImporter.UrdfCollision urdfCollision) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfCollisionExtensions.cs:71)
Unity.Robotics.UrdfImporter.UrdfCollisionsExtensions+<>c.<ExportCollisionsData>b__1_0 (Unity.Robotics.UrdfImporter.UrdfCollision urdfCollision) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfCollisionsExtensions.cs:45)
System.Linq.Enumerable+SelectArrayIterator`2[TSource,TResult].ToList () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
Unity.Robotics.UrdfImporter.UrdfCollisionsExtensions.ExportCollisionsData (Unity.Robotics.UrdfImporter.UrdfCollisions urdfCollisions) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfCollisionsExtensions.cs:45)
Unity.Robotics.UrdfImporter.UrdfLinkExtensions.ExportLinkData (Unity.Robotics.UrdfImporter.UrdfLink urdfLink) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfLinkExtensions.cs:71)
Unity.Robotics.UrdfImporter.UrdfRobotExtensions.ExportRobotData (Unity.Robotics.UrdfImporter.UrdfRobot urdfRobot) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfRobotExtensions.cs:325)
Unity.Robotics.UrdfImporter.UrdfRobotExtensions.ExportRobotToUrdf (Unity.Robotics.UrdfImporter.UrdfRobot urdfRobot, System.String exportRootFolder, System.String exportDestination) (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfRobotExtensions.cs:292)
Unity.Robotics.UrdfImporter.Editor.UrdfRobotEditor.OnInspectorGUI () (at D:/unityPackages/URDF-Importer/com.unity.robotics.urdf-importer/Editor/CustomEditors/UrdfRobotEditor.cs:99)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <8df7b5ff67e84cd3a56a03fa707a976e>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

for the second bug, it will raise no error.

Expected behavior

  1. Exporting should be consistent with importing, that is, if you can import with obj files, why not exporting with them?
  2. The modified joint information should be export to joint tags.

Environment (please complete the following information, where applicable):

  • Unity Version: Unity 2020.3.15f2c1
  • Unity machine OS + version: Windows 10
  • ROS machine OS + version: No Ros
  • Branch or version: v0.5.0

Missing `Constraints` field in RigidBody inspector

Hi,

The custom inspector implemented in this package for rigidbodies is not showing the rigidbody constraints.
This is quite annoying, as the only way to set the constraints is then to use scripts.
image
Default rigidbody inspector

image
Custom rigidbody inspector missing the constraint options

A quick workaround is to modify the custom editor as follows:

// Insert at line 16 of RigidvodyEditor.cs
_rigidbody.constraints = (RigidbodyConstraints)EditorGUILayout.EnumFlagsField("Constraints", _rigidbody.constraints);

However, please note that this will not produce the original formatting, but the one below. Maybe you guys can get the original formatting from the original rigidbody inspector source code.
image

Axis Orientation Missing

It seems like there is a problem with importing and exporting the joint axis orientation...am I missing something?

Cannot Find URDFLibrary and UnityEditorScripts directories

With Regards to the point 3 : (Copy the URDFLibrary and UnityEditorScripts directories into the newly created Assets/Plugins directory)

  • I cannot find these two folders in the git repository. Can anyone please help ?

I copied entire URDF-Importer into Asset/Plugins directory of the project, however In the Asset menu, I cannot find Import from URDF

Getting index out of bound error after importing urdf of robot model in my unity scene

IndexOutOfRangeException: Index was outside the bounds of the array.
Unity.Robotics.UrdfImporter.Control.Controller.StoreJointColors (System.Int32 index) (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Controller/Controller.cs:163)
Unity.Robotics.UrdfImporter.Control.Controller.Start () (at [Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Controller/Controller.cs:49)]

My controller.cs file is as follows:
using System;
using Unity.Robotics;
using UnityEngine;

namespace Unity.Robotics.UrdfImporter.Control
{
public enum RotationDirection { None = 0, Positive = 1, Negative = -1 };
public enum ControlType { PositionControl };

public class Controller : MonoBehaviour
{
    private ArticulationBody[] articulationChain;
    // Stores original colors of the part being highlighted
    private Color[] prevColor;
    private int previousIndex;

    [InspectorReadOnly(hideInEditMode: true)]
    public string selectedJoint;
    [HideInInspector]
    public int selectedIndex;

    public ControlType control = ControlType.PositionControl;
    public float stiffness;
    public float damping;
    public float forceLimit;
    public float speed = 5f; // Units: degree/s
    public float torque = 100f; // Units: Nm or N
    public float acceleration = 5f;// Units: m/s^2 / degree/s^2

    [Tooltip("Color to highlight the currently selected join")]
    public Color highLightColor = new Color(1.0f, 0, 0, 1.0f);

    void Start()
    {
        previousIndex = selectedIndex = 1;
        this.gameObject.AddComponent<FKRobot>();
        articulationChain = this.GetComponentsInChildren<ArticulationBody>();
        int defDyanmicVal = 10;
        foreach (ArticulationBody joint in articulationChain)
        {
            joint.gameObject.AddComponent<JointControl>();
            joint.jointFriction = defDyanmicVal;
            joint.angularDamping = defDyanmicVal;
            ArticulationDrive currentDrive = joint.xDrive;
            currentDrive.forceLimit = forceLimit;
            joint.xDrive = currentDrive;
        }
        DisplaySelectedJoint(selectedIndex);
        StoreJointColors(selectedIndex);
    }

    void SetSelectedJointIndex(int index)
    {
        if (articulationChain.Length > 0) 
        {
            selectedIndex = (index + articulationChain.Length) % articulationChain.Length;
        }
    }

    void Update()
    {
        bool SelectionInput1 = Input.GetKeyDown("right");
        bool SelectionInput2 = Input.GetKeyDown("left");

        SetSelectedJointIndex(selectedIndex); // to make sure it is in the valid range
        UpdateDirection(selectedIndex);

        if (SelectionInput2)
        {
            SetSelectedJointIndex(selectedIndex - 1);
            Highlight(selectedIndex);
        }
        else if (SelectionInput1)
        {
            SetSelectedJointIndex(selectedIndex + 1);
            Highlight(selectedIndex);
        }

        UpdateDirection(selectedIndex);
    }

    /// <summary>
    /// Highlights the color of the robot by changing the color of the part to a color set by the user in the inspector window
    /// </summary>
    /// <param name="selectedIndex">Index of the link selected in the Articulation Chain</param>
    private void Highlight(int selectedIndex)
    {
        if (selectedIndex == previousIndex || selectedIndex < 0 || selectedIndex >= articulationChain.Length) 
        {
            return;
        }

        // reset colors for the previously selected joint
        ResetJointColors(previousIndex);

        // store colors for the current selected joint
        StoreJointColors(selectedIndex);

        DisplaySelectedJoint(selectedIndex);
        Renderer[] rendererList = articulationChain[selectedIndex].transform.GetChild(0).GetComponentsInChildren<Renderer>();

        // set the color of the selected join meshes to the highlight color
        foreach (var mesh in rendererList)
        {
            MaterialExtensions.SetMaterialColor(mesh.material, highLightColor);
        }
    }

    void DisplaySelectedJoint(int selectedIndex)
    {
        if (selectedIndex < 0 || selectedIndex >= articulationChain.Length) 
        {
            return;
        }
        selectedJoint = articulationChain[selectedIndex].name + " (" + selectedIndex + ")";
    }

    /// <summary>
    /// Sets the direction of movement of the joint on every update
    /// </summary>
    /// <param name="jointIndex">Index of the link selected in the Articulation Chain</param>
    private void UpdateDirection(int jointIndex)
    {
        if (jointIndex < 0 || jointIndex >= articulationChain.Length) 
        {
            return;
        }

        float moveDirection = Input.GetAxis("Vertical");
        JointControl current = articulationChain[jointIndex].GetComponent<JointControl>();
        if (previousIndex != jointIndex)
        {
            JointControl previous = articulationChain[previousIndex].GetComponent<JointControl>();
            previous.direction = RotationDirection.None;
            previousIndex = jointIndex;
        }

        if (current.controltype != control) 
        {
            UpdateControlType(current);
        }

        if (moveDirection > 0)
        {
            current.direction = RotationDirection.Positive;
        }
        else if (moveDirection < 0)
        {
            current.direction = RotationDirection.Negative;
        }
        else
        {
            current.direction = RotationDirection.None;
        }
    }

    /// <summary>
    /// Stores original color of the part being highlighted
    /// </summary>
    /// <param name="index">Index of the part in the Articulation chain</param>
    private void StoreJointColors(int index)
    {
        Renderer[] materialLists = articulationChain[index].transform.GetChild(0).GetComponentsInChildren<Renderer>();
        prevColor = new Color[materialLists.Length];
        for (int counter = 0; counter < materialLists.Length; counter++)
        {
            prevColor[counter] = MaterialExtensions.GetMaterialColor(materialLists[counter]);
        }
    }

    /// <summary>
    /// Resets original color of the part being highlighted
    /// </summary>
    /// <param name="index">Index of the part in the Articulation chain</param>
    private void ResetJointColors(int index)
    {
        Renderer[] previousRendererList = articulationChain[index].transform.GetChild(0).GetComponentsInChildren<Renderer>();
        for (int counter = 0; counter < previousRendererList.Length; counter++)
        {
            MaterialExtensions.SetMaterialColor(previousRendererList[counter].material, prevColor[counter]);
        }
    }

    public void UpdateControlType(JointControl joint)
    {
        joint.controltype = control;
        if (control == ControlType.PositionControl)
        {
            ArticulationDrive drive = joint.joint.xDrive;
            drive.stiffness = stiffness;
            drive.damping = damping;
            joint.joint.xDrive = drive;
        }
    }

    public void OnGUI()
    {
        GUIStyle centeredStyle = GUI.skin.GetStyle("Label");
        centeredStyle.alignment = TextAnchor.UpperCenter;
        GUI.Label(new Rect(Screen.width / 2 - 200, 10, 400, 20), "Press left/right arrow keys to select a robot joint.", centeredStyle);
        GUI.Label(new Rect(Screen.width / 2 - 200, 30, 400, 20), "Press up/down arrow keys to move " + selectedJoint + ".", centeredStyle);
    }
}

Imported Robot gameobject not respecting transform modifications via script

Describe the bug
When a robot is imported using its URDF file, and that robot gameobject is loaded from Unity script it always loads at position 0,0,0 and rotation 0,0,0. Any changes to these never takes effect. However, changes to scale are seen as expected.

To Reproduce
Steps to reproduce the behavior:

  1. Checkout the code from my github repo
  2. The system version I'm using is:
    Unity Hub: 2.4.5
    Unity Install: 2020.3.24f1
    Ubuntu 20.04
    Mono 6.12.0.122
    Urdf Importer 0.5.0-preview
  3. Run the project in Game mode and verify that the arm prefab is loaded
  4. Try changing the transform values for position or rotation - there would be no impact
  5. Try changing the scale value and arm dimension will change

Console logs / stack traces
No logs / stack traces

Expected behavior
The way scale value changes are reflected in prefab, even position / rotation value changes should reflect changes in the scene in game mode

Screenshots
None, as the code should show live demo

Environment (please complete the following information, where applicable):

  • Unity Version: Unity 2020.3.24f1]
  • Unity machine OS + version: Ubuntu 20.04
  • ROS machine OS + version: ROS is not used / required
  • ROS–Unity communication: N/aA
  • Branch or version: v0.5.0-preview

Additional context
Feel free to raise a PR on github if you reckon I'm doing something wrong.

Friction in URDF ¿?

Hi,
I'm new in Unity and I was trying to increase the friction of the fingers of a gripper to facilitate grasping, but when I load the urdf I can not see in the inspector dialog where to set the friction of just the fingers. Thus, anyone knows how to set it? It would be nice if it could be set in the own urdf.

Thanks in advance

GPU Rendering for Robot Mesh imported from URDF Importer ?

Is your feature request related to a problem? Please describe.
Hi Dev Team, I want to ask if there is any solution to implement GPU instancing with the imported mesh from the URDF Importer?
Since I'm training with the imported robot model using Unity ML, I want to render the robot mesh using my GPU. While the training was operating, I realised that my FPS was very low (3-4 FPS) with 25 robot models.

Describe the solution you'd like
Enable GPU Instancing, rendering robot mesh with GPU

Describe alternatives you've considered
Reduce the total amount of training environments.

Additional context
If there's already a solution that I haven't known, please tell me since my knowledge about GPU rendering is not good.
Thank you guys

Non-convex MeshCollider with ArticulationBody is not supported

I imported my Robot withe the newest version of the URDF-Importer, but now I have to disable the All Colliders Convex tag in the URDF Robot Script because when the Colliders are enabled my robot behaves very weird.
When they are disabled I get 153 of these errors:
Non-convex MeshCollider with ArticulationBody is not supported.
If you want to use a non-convex mesh either use the Rigidbody kinematic or remove the ArticulationBody component.

Unable to import URDF files with OBJ meshes at runtime.

I can import URDF files with OBJ meshes through Unity GUI, but when I tried to import them at runtime with the UrdfRobotExtensions.CreateRuntime() method, I would meet errors like "Unable to create mesh collider for the mesh: package://textured_objs/original-7.obj". I checked the code at URDF-Importer-0.5.0/com.unity.robotics.urdf-importer/Runtime/Extensions/UrdfGeometryCollision.cs:93 and find that it probably only supports STL meshes. Is it possible to import URDF files with OBJ meshes at runtime?

Invalid AABB a erros when running

I tried importing the sawyer robot (https://github.com/RethinkRobotics/sawyer_robot). The importing process worked well, except some minor issues with rotation which where easy enough to fix and may have been caused by a faulty urdf file.
However when im running the application ill get a lot of "Invalid AABB a" and similar erros. Also unity crashes when switching to the scene tab.

Right now i have no idea how to troubleshoot. Perhaps you are able to assist? With the niryo_one robot everything worked fine.

Missing collision meshes references in generated mesh colliders

Describe the bug
Hello,
I noticed that using the URDF importer with a URDF model containing multiple references to the same collision mesh leads to missing mesh colliders in the generated Unity model for all links sharing this reference except one (specifically, the mesh colliders under ArticulationBody/Collisions/link are generated correctly but without a reference to the correct mesh)

To Reproduce
Steps to reproduce the behavior:

  1. Download a URDF with multiple ref. to a same collision mesh (the PR2 for example : https://github.com/PR2/pr2_common/tree/melodic-devel/pr2_description) and the associated meshes
  2. Use the URDF Importer as described in the tutorials
  3. Check the wheels ArticulationBody in the editor : one clearly displays the mesh collider, not the other
  4. On play, one of the wheels goes through the ground

Console logs / stack traces
Not applicable

Expected behavior
All ArticulationBody generated by the URDF Importer have correctly referenced meshes for their children mesh colliders.

Screenshots
Example with a 2 armed robot :
Left arm with correct reference to the collision meshes :
correct_behavior
Right arm with correct hierarchy generation but unreferenced collision meshes :
incorrect_behavior

Environment (please complete the following information, where applicable):

  • Unity Version: Unity 2021.2.0b1
  • Unity machine OS + version: Ubuntu 20.04
  • ROS machine OS + version: Ubuntu 18.04, ROS melodic
  • ROS–Unity communication: ROS-TCP endpoint
  • Branch or version: v0.5.0

Additional context
None

Start supporting file:// type URI

Is your feature request related to a problem? Please describe.
Start supporting file:// type URI.
This change enables us to load mesh files from file:// type URI.
Filename should be any type of URI.
XSD schema is here.

Describe the solution you'd like
Start supporting file:// type URI.

Describe alternatives you've considered
None

URDF Robot switching axis spuriously

I encounter a bug with the URDF robot, which can occurs spuriously both in edit and play mode.

I am running Unity 2020.2.1f1.

The bug occurs when the field Axis Type of the Urdf Robot script is set to Z Axis, and it is shown in the following video:

bug.mp4

Basically, this spurious axis switching can occur when the gameobject to which the UrdfRobot is attached is selected in the inspector.

I have traced the source of the bug in UrdfRobot.cs. Basically at line 26 there is:

public ImportSettings.axisType choosenAxis ;
private ImportSettings.axisType currentOrientation = ImportSettings.axisType.yAxis;

But currentOrientation should instead be initialised with the value of choosenAxis [sic] e.g. in OnEnable() and/or in Awake().

Velocity controller

I successfully imported a Turtlebot 2 model using the URDF importer (repositories for turtlebot and kobuki URDF), however I am having trouble to move it.

I am able to change the wheels' angles using:

public class turtlebot_main : MonoBehaviour
{
    public ROSConnection ros;
    public string topicName = "SourceDestination_input";
    public GameObject turtlebot;
    private ArticulationBody[] wheels;

    void Awake()
    {
        string wheel_r = "base_footprint/base_link/wheel_right_link";
        string wheel_l = "base_footprint/base_link/wheel_left_link";

        wheels = new ArticulationBody[2];        
        wheels[0] = turtlebot.transform.Find(wheel_r).GetComponent<ArticulationBody>();
        wheels[1] = turtlebot.transform.Find(wheel_l).GetComponent<ArticulationBody>();
    }

    public void move()
    {
        var a = wheels[0].xDrive;
        a.target = 10f;
        wheels[0].xDrive = a;

        var b = wheels[1].xDrive;
        b.target = 10f;
        wheels[1].xDrive = b;
    }
}

but that is not the behavior I need.

I noticed that Position Control is the only controller type available so far. Are there plans to add a Velocity Controller as well? If not, how could I build such controller?

Thanks a lot!

Model and collision rotation mismatch

Hi,

I am trying to load an URDF, composed of .obj models, but using only primitive shape for collisions (Cylinders and spheres). The model is as shown in the figure below:
URDF in Rviz
URDF Model visualized in Rviz

The URDF importer loads the model correctly, but the rotation of the visuals and collision does not match:
image
Axis type Y axis

image
Axis type Z axis

As you can see, the colliders are correct in Y Axis, while the visuals are correct in Z Axis. After quite some debugging and experimentation, I have realized the problem was the following: The primitive collisions (and similarly for the primitive visuals) should not have their orientation corrected, because they are create in Unity, using Unity's coordinate system rather than ROS'. Hence their rotation is already correct.

Capsule shape support

Is your feature request related to a problem? Please describe.
I can't import the URDF with a capsule collider because the current URDF-Importer doesn't support the capsule shape.

Describe the solution you'd like
Support capsule shape

Can't add component 'ArticulationBody' to base because such a component is already added to the game object!

Hi,

When importing URDFs, I often times get the following log several times on the console. It is no big deal and does not prevent the importation, but it is annoying to have to clear the console output.

Can't add component 'ArticulationBody' to base because such a component is already added to the game object!
UnityEngine.GameObject:AddComponent<UnityEngine.ArticulationBody> ()
RosSharp.Urdf.UrdfJointFixed:Create (UnityEngine.GameObject) (at Library/PackageCache/com.unity.robotics.urdf-importer@5ba94b3aac/Runtime/UrdfComponents/UrdfJoints/UrdfJointFixed.cs:27)
RosSharp.Urdf.UrdfJoint:AddCorrectJointType (UnityEngine.GameObject,RosSharp.Urdf.UrdfJoint/JointTypes) (at Library/PackageCache/com.unity.robotics.urdf-importer@5ba94b3aac/Runtime/UrdfComponents/UrdfJoints/UrdfJoint.cs:80)
RosSharp.Urdf.UrdfJoint:Create (UnityEngine.GameObject,RosSharp.Urdf.UrdfJoint/JointTypes,RosSharp.Urdf.Joint) (at Library/PackageCache/com.unity.robotics.urdf-importer@5ba94b3aac/Runtime/UrdfComponents/UrdfJoints/UrdfJoint.cs:64)
RosSharp.Urdf.Editor.UrdfLinkExtensions:ImportLinkData (RosSharp.Urdf.UrdfLink,RosSharp.Urdf.Link,RosSharp.Urdf.Joint) (at Library/PackageCache/com.unity.robotics.urdf-importer@5ba94b3aac/Editor/NeedsRuntimeConversion/Extensions/UrdfLinkExtensions.cs:57)
RosSharp.Urdf.Editor.UrdfLinkExtensions:Create (UnityEngine.Transform,RosSharp.Urdf.Link,RosSharp.Urdf.Joint) (at Library/PackageCache/com.unity.robotics.urdf-importer@5ba94b3aac/Editor/NeedsRuntimeConversion/Extensions/UrdfLinkExtensions.cs:31)
RosSharp.Urdf.Editor.UrdfLinkExtensions:ImportLinkData (RosSharp.Urdf.UrdfLink,RosSharp.Urdf.Link,RosSharp.Urdf.Joint) (at Library/PackageCache/com.unity.robotics.urdf-importer@5ba94b3aac/Editor/NeedsRuntimeConversion/Extensions/UrdfLinkExtensions.cs:65)
RosSharp.Urdf.Editor.UrdfLinkExtensions:Create (UnityEngine.Transform,RosSharp.Urdf.Link,RosSharp.Urdf.Joint) (at Library/PackageCache/com.unity.robotics.urdf-importer@5ba94b3aac/Editor/NeedsRuntimeConversion/Extensions/UrdfLinkExtensions.cs:31)
RosSharp.Urdf.Editor.UrdfRobotExtensions:Create (string,RosSharp.ImportSettings) (at Library/PackageCache/com.unity.robotics.urdf-importer@5ba94b3aac/Editor/NeedsRuntimeConversion/Extensions/UrdfRobotExtensions.cs:74)
URDFImporterEditor:OnInspectorGUI () (at Assets/vacuum_robot/Scripts/Custom Editors/URDFImporterEditor.cs:62)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

I believe the problem comes from the fact that AddComponent<ArticulationBody>() is called, when a previously added component has a [RequireComponent(typeof(ArticulationBody))] attribute.

Spherical Joint Tag in URDF supported

Is your feature request related to a problem? Please describe.
Since Unity ArticulationBody has native support of SphericalJoint, as stated in here. I wonder why the URDF importer cannot directly support spherical tag in URDF?

I know pybullet community support this feature as mentioned in this thread.

Describe the solution you'd like
I hope I can directly define the spherica joint in URDF with a spherical tag, just like fixed joint, revolute joint, etc.

Describe alternatives you've considered
I have two alternative ways to achieve this:

  1. A common practice for mimic the spherical joint in URDF is to adopt three revolute joints, however, it requires to add additional virtual objects to link the joints.
  2. after import urdf with urdf-importer, manually change the joint type in the ArticulationBody.

Additional context
The attachment humanoid.urdf.txt in the pybullet community thread mentioned above, can clearly showcase my point.

Though I have two alternative approach, I actually did not check these two approaches, though I believe the second one is highly doable. Nevertheless, I hope it can be solved natively. Thanks!

importing PR2 robot URDF causes crash

Unity version: 2020.2.1f1c1
URDF Importer version: 0.0.4
OS platform: win10

I try to import PR2 robot with URDF importer, it can be loaded sucessfully, but when I hit the play botton in the editor, it causes a crash.

The materials and meshes are from https://github.com/pr2/pr2_common
The urdf file has been tried with https://gist.github.com/drohr5D/5551267 and https://github.com/sehoonha/pydart2/blob/master/examples/data/urdf/PR2/pr2.urdf.
Both urdf file cause the crash issue.

[doc]Tutorials page link is outdated

In README.md, we can find Tutorials page that leads to here.

But now that master branch is no longer present, you are redirected to slightly different page here.

Message shows,

Branch not found, redirected to default branch.

Invalid AABB errors still exists in Unity 2020.3 with URDF-importer 0.2.0

I found this issue, and I tried the solution with no use. Since it is closed, I think it might be ignored, so I open a new issue.

For the Franka Panda arm, I found the 'disable collision' cannot fix the Invalid AABB errors.

Some relevant information:

  1. the Franka panda arm urdf can be loaded successfully in Pybullet.
  2. Unity version is 2020.2 and 2020.3, URDF importer 0.2.0, both have invalid AABB errors.
  3. When I use URDF importer 0.0.5 in Unity 2020.3, the MessProcess cannot be found.
    Can anyone help? Thanks in advance!

----- update ----
I find a same issue reported in Unity-Technologies/Unity-Robotics-Hub#125.
@karthikm-0 suggests it could be caused by the link8 and a fix by giving it a mass larger than 0.
I also tried it and find the fix no use.

An error occurred while adding the URDF package

When I Add Package from Git URL,there is an error:
Asset Packages/com.unity.robotics.urdf-importer/InfoAcknowledgements.md has no meta file, but it's in an immutable folder. The asset will be ignored.

DllNotFoundException: libvhacd

Describe the bug
1,in the URDF Import Settings, after clicked the button Import URDF,it shows the error DllNotFoundException: libvhacd
To Reproduce
Steps to reproduce the behavior:

  1. Go to '/URDF/niryo_one/'
  2. Right Click on 'niryo_one.urdf'
  3. Click 'Import URDF'
  4. See error

Console logs / stack traces
DllNotFoundException: libvhacd
MeshProcess.VHACD.GenerateConvexMeshes (UnityEngine.Mesh mesh) (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/VHACD/VHACD.cs:140)
Unity.Robotics.UrdfImporter.UrdfGeometryCollision.ConvertMeshToColliders (UnityEngine.GameObject gameObject, System.String location, System.Boolean setConvex) (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Extensions/UrdfGeometryCollision.cs:196)
Unity.Robotics.UrdfImporter.UrdfGeometryCollision.CreateMeshCollider (Unity.Robotics.UrdfImporter.Link+Geometry+Mesh mesh) (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Extensions/UrdfGeometryCollision.cs:76)
Unity.Robotics.UrdfImporter.UrdfGeometryCollision.Create (UnityEngine.Transform parent, Unity.Robotics.UrdfImporter.GeometryTypes geometryType, Unity.Robotics.UrdfImporter.Link+Geometry geometry) (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Extensions/UrdfGeometryCollision.cs:44)
Unity.Robotics.UrdfImporter.UrdfCollisionExtensions.Create (UnityEngine.Transform parent, Unity.Robotics.UrdfImporter.Link+Collision collision) (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Extensions/UrdfCollisionExtensions.cs:62)
Unity.Robotics.UrdfImporter.UrdfCollisionsExtensions.Create (UnityEngine.Transform parent, System.Collections.Generic.List`1[T] collisions) (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Extensions/UrdfCollisionsExtensions.cs:36)
Unity.Robotics.UrdfImporter.UrdfLinkExtensions.Create (UnityEngine.Transform parent, Unity.Robotics.UrdfImporter.Link link, Unity.Robotics.UrdfImporter.Joint joint) (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Extensions/UrdfLinkExtensions.cs:27)
Unity.Robotics.UrdfImporter.UrdfRobotExtensions.ProcessJointStack (Unity.Robotics.UrdfImporter.UrdfRobotExtensions+ImportPipelineData im) (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Extensions/UrdfRobotExtensions.cs:131)
Unity.Robotics.UrdfImporter.UrdfRobotExtensions+d__8.MoveNext () (at Library/PackageCache/com.unity.robotics.urdf-importer@e9859c4bec/Runtime/Extensions/UrdfRobotExtensions.cs:184)
Unity.EditorCoroutines.Editor.EditorCoroutine+YieldProcessor.MoveNext (System.Collections.IEnumerator enumerator) (at Library/PackageCache/[email protected]/Editor/EditorCoroutine.cs:80)
Unity.EditorCoroutines.Editor.EditorCoroutine.ProcessIEnumeratorRecursive (System.Collections.IEnumerator enumerator) (at Library/PackageCache/[email protected]/Editor/EditorCoroutine.cs:134)
Unity.EditorCoroutines.Editor.EditorCoroutine.MoveNext () (at Library/PackageCache/[email protected]/Editor/EditorCoroutine.cs:115)
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at /Users/bokken/buildslave/unity/build/Editor/Mono/EditorApplication.cs:327)

Screenshots
image

Environment (please complete the following information, where applicable):

  • Unity Version: [e.g. Unity 2020.3.22f1]
  • Unity machine OS + version: [e.g. macos High Sierra 10.13.6]

URDF Robot Base Joint Falls or Falls Apart

Describe the bug
When I import a generic URDF file the link above the base link falls through the simulation or falls off to the side. I've replicated this with more than one urdf file. Any help would be appreciated.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new blank scene
  2. Go to attached pi_robot.urdf file and import the robot as per the normal instructions
  3. Click the play button to start the scene

Expected behavior
Robot should hold together link in the scene window.
image

Actual undesired behavior
Robot falls through the base link like this.
image

Environment (please complete the following information, where applicable):

  • Unity Version: Unity 2020.3.14f1 & 2021.2.0b4
  • Unity machine OS + version: Windows 10 & Ubuntu 18.04
  • ROS machine OS + version: N/A
  • ROS–Unity communication: N/A
  • Branch or version: 0.5.0

URDF File
`

<!-- * * * Link Definitions * * * -->

<link name="base_link">
	<visual>
	    <origin xyz="0 0 0.0425" rpy="0 0 0"/>
		<geometry>
			<box size="0.32 0.26 0.085"/>
		</geometry>
		<material name="Cyan1">
       		<color rgba="0 0.9 0.9 1.0"/>
     	</material>
	</visual>	
</link>

<link name="base_laser">
	<visual>
	    <origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<cylinder radius="0.025" length="0.07"/>
		</geometry>
		<material name="Black1">
       		<color rgba="0.2 0.2 0.2 1.0"/>
     	</material>
	</visual>	
</link>

<link name="cpu_link">
	<visual>
	    <origin xyz="0 0 0.035" rpy="0 0 0"/>
		<geometry>
			<box size="0.19 0.19 0.07"/>
		</geometry>
		<material name="Cyan2">
       		<color rgba="0 0.7 0.7 1.0"/>
     	</material>
	</visual>	
</link>

<link name="upper_base_link">
	<visual>
		<origin xyz="0 0 0.05" rpy="0 0 0"/>
		<geometry>
			<cylinder radius="0.085" length="0.10"/>
		</geometry>
     	<material name="Cyan3">
			<color rgba="0 0.5 0.5 0"/>
		</material>
   </visual>
</link>

<link name="torso_link">
	<visual>
		<origin xyz="0 0 0.12" rpy="0 0 0"/>
		<geometry>
			<cylinder radius="0.05" length="0.24"/>
		</geometry>
     	<material name="Yellow2">
			<color rgba="0.8 0.8 0 1.0"/>
		</material>
   </visual>
</link>

<link name="head_pan_link">
	<visual>
		<origin xyz="0 0 0.0225" rpy="0 0 0"/>
		<geometry>
			<box size="0.05 0.045 0.045"/>
		</geometry>
     	<material name="Green1">
			<color rgba="0 1 0 1.0"/>
		</material>
   </visual>
</link>

<link name="head_tilt_link">
	<visual>
		<origin xyz="0 0 0.02" rpy="0 0 0"/>
		<geometry>
			<box size="0.03 0.038 0.04"/>
		</geometry>
     	<material name="Green2">
			<color rgba="0.1 0.8 0 1.0"/>
		</material>
   </visual>
</link>

<link name="neck_link">
	<visual>
		<origin xyz="0 0 0.021" rpy="0 0 0"/>
		<geometry>
			<box size="0.03 0.05 0.042"/>
		</geometry>
     	<material name="Green3">
			<color rgba="0.1 0.5 0.1 1.0"/>
		</material>
   </visual>
</link>

<link name="head_link">
	<visual>
		<origin xyz="0 0 0.025" rpy="0 0 0"/>
		<geometry>
			<box size="0.03 0.07 0.11"/>
		</geometry>
     	<material name="Grey1">
			<color rgba="0.9 0.9 0.9 1.0"/>
		</material>
   </visual>
</link>
<link name="antenna_link">
	<visual>
		<origin xyz="0 0 0.035" rpy="0 0 0"/>
		<geometry>
			<cylinder radius="0.002" length="0.05"/>
		</geometry>
     	<material name="Grey3">
			<color rgba="0.8 0.8 0.8 1.0"/>
		</material>
   </visual>
</link>

<link name="left_shoulder_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<box size="0.025 0.015 0.05"/>
		</geometry>
     	<material name="Green1">
			<color rgba="0 1 0 1.0"/>
		</material>
   </visual>
</link>

<link name="right_shoulder_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<box size="0.025 0.015 0.05"/>
		</geometry>
     	<material name="Green1">
			<color rgba="0 1 0 1.0"/>
		</material>
   </visual>
</link>

<link name="left_shoulder_forward_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<box size="0.03 0.05 0.03"/>
		</geometry>
     	<material name="Blue1">
			<color rgba="0 0 0.9 1.0"/>
		</material>
   </visual>
</link>
	
<link name="right_shoulder_forward_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<box size="0.03 0.05 0.03"/>
		</geometry>
     	<material name="Blue1">
			<color rgba="0 0 0.9 1.0"/>
		</material>
   </visual>
</link>

<link name="left_shoulder_up_link">
	<visual>
		<origin xyz="0 0 0" rpy="1.57 0 0"/>
		<geometry>
			<box size="0.03 0.05 0.03"/>
		</geometry>
     	<material name="Blue2">
			<color rgba="0 0 0.7 1.0"/>
		</material>
   </visual>
</link>

<link name="right_shoulder_up_link">
	<visual>
		<origin xyz="0 0 0" rpy="1.57 0 0"/>
		<geometry>
			<box size="0.03 0.05 0.03"/>
		</geometry>
     	<material name="Blue2">
			<color rgba="0 0 0.7 1.0"/>
		</material>
   </visual>
</link>

<link name="left_upper_arm_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<cylinder radius="0.0075" length="0.05"/>
		</geometry>
     	<material name="Grey1">
			<color rgba="0.9 0.9 0.9 1.0"/>
		</material>
   </visual>
</link>

<link name="right_upper_arm_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<cylinder radius="0.0075" length="0.05"/>
		</geometry>
     	<material name="Grey1">
			<color rgba="0.9 0.9 0.9 1.0"/>
		</material>
   </visual>
</link>

<link name="left_elbow_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 1.57"/>
		<geometry>
			<box size="0.035 0.035 0.05"/>
		</geometry>
     	<material name="Blue2">
			<color rgba="0 0 0.7 1.0"/>
		</material>
   </visual>
</link>

<link name="right_elbow_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 1.57"/>
		<geometry>
			<box size="0.035 0.035 0.05"/>
		</geometry>
     	<material name="Blue2">
			<color rgba="0 0 0.7 1.0"/>
		</material>
   </visual>
</link>

<link name="left_lower_arm_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<cylinder radius="0.0075" length="0.11"/>
		</geometry>
     	<material name="Grey1">
			<color rgba="0.9 0.9 0.9 1.0"/>
		</material>
   </visual>
</link>

<link name="right_lower_arm_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<cylinder radius="0.0075" length="0.11"/>
		</geometry>
     	<material name="Grey1">
			<color rgba="0.9 0.9 0.9 1.0"/>
		</material>
   </visual>
</link>

<link name="left_wrist_link">
	<visual>
		<origin xyz="0 0 0" rpy="1.57 0 0"/>
		<geometry>
			<box size="0.03 0.05 0.03"/>
		</geometry>
     	<material name="Blue2">
			<color rgba="0 0 0.7 1.0"/>
		</material>
   </visual>
</link>

<link name="right_wrist_link">
	<visual>
		<origin xyz="0 0 0" rpy="1.57 0 0"/>
		<geometry>
			<box size="0.03 0.05 0.03"/>
		</geometry>
     	<material name="Blue2">
			<color rgba="0 0 0.7 1.0"/>
		</material>
   </visual>
</link>

<link name="left_hand_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<box size="0.03 0.01 0.06"/>
		</geometry>
     	<material name="Grey1">
			<color rgba="0.7 0.7 0.7 1.0"/>
		</material>
   </visual>
</link>

<link name="right_hand_link">
	<visual>
		<origin xyz="0 0 0" rpy="0 0 0"/>
		<geometry>
			<box size="0.03 0.01 0.06"/>
		</geometry>
     	<material name="Grey1">
			<color rgba="0.9 0.9 0.9 1.0"/>
		</material>
   </visual>
</link>

<!-- * * * Joint Definitions * * * -->

<joint name="cpu_joint" type="fixed">
	<parent link="base_link"/>
	<child link="cpu_link"/>
	<origin xyz="0.025 0 0.085" rpy="0 0 0"/>
</joint>

<joint name="base_laser_joint" type="fixed">
	<parent link="base_link"/>
	<child link="base_laser"/>
	<origin xyz="0.18 0 0.07" rpy="0 0 0"/>
</joint>

<joint name="upper_base_joint" type="fixed">
	<parent link="cpu_link"/>
	<child link="upper_base_link"/>
	<origin xyz="0 0 0.07" rpy="0 0 0"/>
</joint>

<joint name="torso_joint" type="revolute">
	<parent link="upper_base_link"/>
	<child link="torso_link"/>
	<origin xyz="0 0 0.10" rpy="0 0 0"/>
	<axis xyz="0 0 1"/>
	<limit lower="-3.1416" upper="3.1416" effort="10" velocity="3"/>
</joint>

<joint name="head_pan_servo" type="fixed">
	<parent link="torso_link"/>
	<child link="head_pan_link"/>
	<origin xyz="0 0 0.225" rpy="0 0 0"/>
</joint>

<joint name="head_pan_joint" type="revolute">
	<parent link="head_pan_link"/>
	<child link="head_tilt_link"/>
	<origin xyz="0 0 0.045" rpy="0 0 0"/>
	<axis xyz="0 0 1"/>
	<limit lower="-3.1416" upper="3.1416" effort="10" velocity="3"/>
</joint>

<joint name="head_tilt_joint" type="revolute">
	<parent link="head_tilt_link"/>
	<child link="neck_link"/>
	<origin xyz="0 0 0.04" rpy="0 0 0"/>
	<axis xyz="0 1 0"/>
	<limit lower="-1.57" upper="1.57" effort="10" velocity="3"/>
</joint>

<joint name="neck_joint" type="fixed">
	<parent link="neck_link"/>
	<child link="head_link"/>
	<origin xyz="0.05 0 0.015" rpy="0 0 0"/>
</joint>
<joint name="antenna_joint" type="fixed">
	<parent link="head_link"/>
	<child link="antenna_link"/>
	<origin xyz="0.0 -0.025 0.065" rpy="0 0 0"/>
</joint>

<joint name="left_shoulder_joint" type="fixed">
	<parent link="torso_link"/>
	<child link="left_shoulder_link"/>
	<origin xyz="0 0.055 0.165" rpy="0 0 0"/>
</joint>

<joint name="right_shoulder_joint" type="fixed">
	<parent link="torso_link"/>
	<child link="right_shoulder_link"/>
	<origin xyz="0 -0.055 0.165" rpy="0 0 0"/>
</joint>

<joint name="left_shoulder_forward_joint" type="revolute">
	<parent link="left_shoulder_link"/>
	<child link="left_shoulder_forward_link"/>
	<origin xyz="0 0.025 0" rpy="0 0 0"/>
   	<limit lower="-1.57" upper="1.57" effort="10" velocity="3"/>
    <axis xyz="0 0 1"/>
</joint>

<joint name="right_shoulder_forward_joint" type="revolute">
	<parent link="right_shoulder_link"/>
	<child link="right_shoulder_forward_link"/>
	<origin xyz="0 -0.025 0" rpy="0 0 0"/>
   	<limit lower="-1.57" upper="1.57" effort="10" velocity="3"/>
    <axis xyz="0 0 1"/>
</joint>

<joint name="left_shoulder_up_joint" type="revolute">
	<parent link="left_shoulder_forward_link"/>
	<child link="left_shoulder_up_link"/>
	<origin xyz="0 0.04 -0.01" rpy="0 -0.707 0"/>
   	<limit lower="-1.57" upper="1.57" effort="10" velocity="3"/>
    <axis xyz="0 1 0"/>
</joint>

<joint name="right_shoulder_up_joint" type="revolute">
	<parent link="right_shoulder_forward_link"/>
	<child link="right_shoulder_up_link"/>
	<origin xyz="0 -0.04 -0.01" rpy="0 -0.707 0"/>
   	<limit lower="-1.57" upper="1.57" effort="10" velocity="3"/>
    <axis xyz="0 1 0"/>
</joint>

<joint name="left_upper_arm_joint" type="fixed">
	<parent link="left_shoulder_up_link"/>
	<child link="left_upper_arm_link"/>
	<origin xyz="0 0 -0.05" rpy="0 0 0"/>
</joint>

<joint name="right_upper_arm_joint" type="fixed">
	<parent link="right_shoulder_up_link"/>
	<child link="right_upper_arm_link"/>
	<origin xyz="0 0 -0.05" rpy="0 0 0"/>
</joint>

<joint name="left_elbow_joint" type="revolute">
	<parent link="left_upper_arm_link"/>
	<child link="left_elbow_link"/>
	<origin xyz="-0.005 0 -0.05" rpy="0 0 0"/>
   	<limit lower="-3.146" upper="3.146" effort="10" velocity="3"/>
    <axis xyz="0 0 1"/>
</joint>

<joint name="right_elbow_joint" type="revolute">
	<parent link="right_upper_arm_link"/>
	<child link="right_elbow_link"/>
	<origin xyz="-0.005 0 -0.05" rpy="0 0 0"/>
   	<limit lower="-3.146" upper="3.146" effort="10" velocity="3"/>
    <axis xyz="0 0 1"/>
</joint>

<joint name="left_lower_arm_joint" type="fixed">
	<parent link="left_elbow_link"/>
	<child link="left_lower_arm_link"/>
	<origin xyz="0 0 -0.08" rpy="0 0 0"/>
</joint>

<joint name="right_lower_arm_joint" type="fixed">
	<parent link="right_elbow_link"/>
	<child link="right_lower_arm_link"/>
	<origin xyz="0 0 -0.08" rpy="0 0 0"/>
</joint>

<joint name="left_wrist_joint" type="revolute">
	<parent link="left_lower_arm_link"/>
	<child link="left_wrist_link"/>
	<origin xyz="0 0 -0.05" rpy="0 0 0"/>
   	<limit lower="-1.57" upper="1.57" effort="10" velocity="3"/>
    <axis xyz="1 0 0"/>
</joint>

<joint name="right_wrist_joint" type="revolute">
	<parent link="right_lower_arm_link"/>
	<child link="right_wrist_link"/>
	<origin xyz="0 0 -0.05" rpy="0 0 0"/>
   	<limit lower="-1.57" upper="1.57" effort="10" velocity="3"/>
    <axis xyz="1 0 0"/>
</joint>

<joint name="left_hand_joint" type="fixed">
	<parent link="left_wrist_link"/>
	<child link="left_hand_link"/>
	<origin xyz="0 0 -0.055" rpy="0 0 0"/>
</joint>

<joint name="right_hand_joint" type="fixed">
	<parent link="right_wrist_link"/>
	<child link="right_hand_link"/>
	<origin xyz="0 0 -0.055" rpy="0 0 0"/>
</joint>

`

URDF importer android build serialization issue.

Describe the bug
Urdf importer gives serialization error on Android build and the Niryo arm fails to move. There's no error in Unity's log and the build finishes successfully. In the app, you can see the Niryo arm but attached scripts don't work due to serialization error.

To Reproduce
Steps to reproduce the behavior:

  1. follow the steps mentioned here to import Niryo arm.
  2. Go to package manager and install Android Logcat from Unity registry.
  3. Go to build settings and change the build platform to android.
  4. Test the project in play mode. (Works perfectly)
  5. Build for android.
  6. Check Logcat for warnings and errors.

Console logs / stack traces

Logcat logs:(click to expand)
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfLink) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfJointRevolute) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollision) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollision) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollisions) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisuals) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisuals) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisual) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisuals) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollisions) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfLink) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfJointFixed) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfLink) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfJointRevolute) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfLink) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfJointRevolute) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfLink) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfJointRevolute) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisuals) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.168 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfLink) on this Behaviour is missing!
2021-06-03 15:06:28.168 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfLink) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfJointRevolute) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfPlugins) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollision) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollisions) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfLink) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfJointFixed) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisual) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollisions) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollisions) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollision) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisuals) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisuals) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollision) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisual) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisual) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfLink) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfJointRevolute) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollisions) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisuals) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisuals) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfRobot) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Control.Controller) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollisions) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Info chatty uid=10000(com.DefaultCompany.BugReport) Loading.Preload identical 1 line
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollisions) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollision) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfCollision) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisuals) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisual) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.169 17260 17600 Info chatty uid=10000(com.DefaultCompany.BugReport) Loading.Preload identical 1 line
2021-06-03 15:06:28.169 17260 17600 Warn Unity The referenced script (RosSharp.Urdf.UrdfVisual) on this Behaviour is missing!
2021-06-03 15:06:28.169 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'wrist_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfJointRevolute?) has a different serialization layout when loading. (Read 32 bytes but expected 64 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'wrist_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfLink?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfCollision?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfCollision?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Collisions') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Visuals') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Visuals') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfVisual?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Visuals') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Collisions') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'tool_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfJointFixed?) has a different serialization layout when loading. (Read 32 bytes but expected 72 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'tool_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfLink?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'hand_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfJointRevolute?) has a different serialization layout when loading. (Read 32 bytes but expected 64 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'hand_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfLink?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'arm_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfJointRevolute?) has a different serialization layout when loading. (Read 32 bytes but expected 64 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'arm_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfLink?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'shoulder_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfJointRevolute?) has a different serialization layout when loading. (Read 32 bytes but expected 64 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.179 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'shoulder_link') is missing!
2021-06-03 15:06:28.179 17260 17600 Warn Unity 
2021-06-03 15:06:28.179 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfLink?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.179 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.179 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Visuals') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'world') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfLink?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'forearm_link') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfJointRevolute?) has a different serialization layout when loading. (Read 32 bytes but expected 64 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'forearm_link') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfLink?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Plugins') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfCollision?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Collisions') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'base_link') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfJointFixed?) has a different serialization layout when loading. (Read 32 bytes but expected 68 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'base_link') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfLink?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfVisual?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Collisions') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Collisions') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfCollision?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Visuals') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Visuals') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfCollision?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfVisual?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfVisual?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'elbow_link') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfJointRevolute?) has a different serialization layout when loading. (Read 32 bytes but expected 64 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'elbow_link') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfLink?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Collisions') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Visuals') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Visuals') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'niryo_one') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Control.Controller?) has a different serialization layout when loading. (Read 32 bytes but expected 84 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'niryo_one') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfRobot?) has a different serialization layout when loading. (Read 32 bytes but expected 48 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Collisions') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Info chatty uid=10000(com.DefaultCompany.BugReport) Loading.Preload identical 1 line
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Collisions') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfCollision?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfCollision?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'Visuals') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfVisual?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfVisual?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
2021-06-03 15:06:28.180 17260 17600 Error Unity 
2021-06-03 15:06:28.180 17260 17600 Warn Unity The referenced script on this Behaviour (Game Object 'unnamed') is missing!
2021-06-03 15:06:28.180 17260 17600 Warn Unity 
2021-06-03 15:06:28.180 17260 17600 Error Unity A scripted object (probably RosSharp.Urdf.UrdfVisual?) has a different serialization layout when loading. (Read 32 bytes but expected 36 bytes)
2021-06-03 15:06:28.180 17260 17600 Error Unity Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

Expected behavior
The Niryo arm should be able to move and all the scripts on model should work.

Screenshots
Working Niryo arm in Unity's play mode:
Screenshot from 2021-06-03 15-25-35

Android Logcat's error log:
error log

Non working arm in Android build:
WhatsApp Image 2021-06-03 at 3 28 00 PM

Environment:

  • Unity Version: 2020.3.8f1
  • Unity machine OS + version: Ubuntu 18.04.5 LTS
  • Branch or version: v0.4.0

Additional context
I have also tested the same with Unity 2020.3.10f1, 2020.3.4f1, 2020.2.0b9 & branches v0.3.0 & v0.4.0.

URDF Importer Instruction

I am unable to follow the third step in the instructions :

  • Copy the URDFLibrary and UnityEditorScripts directories into the newly created Assets/Plugins ...

Where are the URDFLibrary and UnityEditorScripts located ?

createStlPrefab overwriting existing prefabs

Describe the bug

When unity is started or reimports an STL asset the URDF importer detects we have some STL files in our project (unrelated to any URDFs) and creates a prefab despite one already existing. This overwrites the existing prefab.

To Reproduce

  1. Install URDF importer
  2. Create a folder called assets
  3. Put an STL file in that folder
  4. Use the STL file to create a prefab with material
  5. Put the prefab into the scene
  6. Save all the changes
  7. Select STL assets and Asset -> Reimport
  8. The scene goes very very pink

Git can also be used to see the changes made to the prefab

Console logs / stack traces

Detected an stl file at Assets/.../....stl - creating a mesh prefab.
UnityEngine.Debug:Log (object)
RosSharp.StlAssetPostProcessor:OnPostprocessAllAssets (string[],string[],string[],string[]) (at Library/PackageCache/com.unity.robotics.urdf-importer@d90212e1cd/Runtime/MeshProcessing/StlAssetPostProcessor.cs:39)
UnityEditor.AssetPostprocessingInternal:PostprocessAllAssets (string[],string[],string[],string[],string[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/AssetPostprocessor.cs:167)

Expected behavior
If a prefab already exists do not overwrite it

Screenshots

Environment (please complete the following information, where applicable):

  • Unity Version: Unity 2020.3.12fl
  • Unity machine OS + version: Ubuntu 20
  • ROS machine OS + version: Ubuntu 20 + Noetic (not ros used for this)
  • ROS–Unity communication: N/A
  • Branch or version: v0.4.1

Additional context

URDF Importer causing build errors in Unity

I'm using URDF importer tool to import my ROS env into unity. The import is successful. I could also simulate the environment and everything looks to be working fine. However when I try building the unity project for UWP I get build errors. Looks like these errors are related to URDF Importer. When I remove the URDF importer from the package manager, the build succeeds with no errors, but I think it leaves the unity project unstable

Here's the console output

Plugin 'assimp.dll' is used from several locations:
 Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshImporter/Plugins/AssimpNet/Native/win/x86/assimp.dll would be copied to <PluginPath>/assimp.dll
 Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshImporter/Plugins/AssimpNet/Native/win/x86_64/assimp.dll would be copied to <PluginPath>/assimp.dll
Please fix plugin settings and try again.

UnityEditor.Modules.DefaultPluginImporterExtension:CheckFileCollisions (string)
UnityEditorInternal.PluginsHelper:CheckFileCollisions (UnityEditor.BuildTarget)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Here's my build options. I will be installing this application to Hololens2

image

Environment

  • Unity Version: Unity 2020.3.12f1
  • Unity machine OS + version: Windows 10
  • ROS machine OS + version: Ubuntu 20.04, ROS Noetic
  • Branch or version: [e.g. v0.4.0]

namespace name 'ArticulationBody' could not be found

I'm getting the following error while adding the URDF package using the git URL:

Library\PackageCache\com.unity.robotics.urdf-importer@5ba94b3\Runtime\Controller\JointControl.cs(15,12): error CS0246: The type or namespace name 'ArticulationBody' could not be found (are you missing a using directive or an assembly reference?)

Can you please help me to resolve this issue? Thanks!

Cylinder collider lost when imported URDF isturned into prefab

Hi,

There is a problem with imported urdf robots that cannot be properly made into prefabs. Indeed, upon importing a URDF with cylinder colliders, a custom cylinder mesh is created and assigned to a mesh collider. This is totally fine when the robot is used in a scene right after being imported. However, Unity does not serialize Mesh objects, which means that custom meshes (e.g. cylinder colliders) that are not saved as Assets are lost when the object is turned into a prefab.

To reproduce the bug, you can use the following URDF: import it, save it as a prefab, and instantiate the prefab in the scene. The mesh collider then has no mesh associated, thus the cylinder collider is lost.

<?xml version="1.0" encoding="utf-8"?>
<robot name="Robot">
  <link name="base_link">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0" />
      <mass value="1" />
      <inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1" />
    </inertial>
  </link>
  <link name="link">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.395378053188324" ixy="0" ixz="0" iyy="0.395378053188324" iyz="0" izz="0.124089486896992" />
    </inertial>
    <visual>
      <geometry>
        <cylinder length="2" radius="0.5" />
      </geometry>
    </visual>
    <collision>
      <geometry>
        <cylinder length="2" radius="0.5" />
      </geometry>
    </collision>
  </link>
  <joint name="" type="fixed">
    <parent link="base_link" />
    <child link="link" />
  </joint>
</robot>

I do not really understand the need to create a custom mesh (public static Mesh CreateCylinderMesh(Link.Geometry.Cylinder cylinder)), for each cylinder. when the default unity cylinder could be used. I assume the goal is to have base circles with more sides to provide better rolling effects?

Anyways a single mesh should be created, and shared by all the cylinders, as changing only the scale of the parent "unnamed" is enough to shape the cylinder correctly.

The default Unity cylinder mesh could be retrieve as follows, or another more detailled cylinder mesh could maybe be stored in the URDF importer package (I am not really familiar with Unity packages, maybe this is not possible). Last resort is to save also the cylinder mesh in the meshes folder upon importing, so that it is also an asset and can thus not be lost when the robot itself is made into an asset.

BUG: Duplicate DLLs blocking build

Describe the bug
A clear and concise description of what the bug is.

When going to build a project for Android (APK), I am getting a build error that is failing the build. It appears to be duplicate DLLs in both "/x86/assimp.dll " and "/x86_64/assimp.dll"

This is causing the following (4) critical compile errors.


error 1

Found plugins with same names, Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshImporter/Plugins/AssimpNet/Native/win/x86/assimp.dll and Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshImporter/Plugins/AssimpNet/Native/win/x86_64/assimp.dll. Delete the one of the duplicate plugins.
UnityEditor.AndroidPluginImporterExtension:CheckFileCollisions (string)
UnityEditorInternal.PluginsHelper:CheckFileCollisions (UnityEditor.BuildTarget)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)


error 2

Plugins colliding with each other.


error 3

Build completed with a result of 'Failed' in 14 seconds (14151 ms)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)


error 4

UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002ca] in :0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in :0
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

1.) In my existing Unity 2020.3.17f project, I have "Android" set as the build target.
2.) I add the URDF-importer package via the Git URL : https://github.com/Unity-Technologies/URDF-Importer.git?path=/com.unity.robotics.urdf-importer#v0.5.0
3.) After the URDF importer has been added, I click "Build" which starts then stops quickly due to compile errors.
4.) primary error is:

Found plugins with same names, Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshImporter/Plugins/AssimpNet/Native/win/x86/assimp.dll and Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshImporter/Plugins/AssimpNet/Native/win/x86_64/assimp.dll. Delete the one of the duplicate plugins.
UnityEditor.AndroidPluginImporterExtension:CheckFileCollisions (string)
UnityEditorInternal.PluginsHelper:CheckFileCollisions (UnityEditor.BuildTarget)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Console logs / stack traces
Please wrap in triple backticks (```) to make it easier to read.


error 1

Found plugins with same names, Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshImporter/Plugins/AssimpNet/Native/win/x86/assimp.dll and Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshImporter/Plugins/AssimpNet/Native/win/x86_64/assimp.dll. Delete the one of the duplicate plugins.
UnityEditor.AndroidPluginImporterExtension:CheckFileCollisions (string)
UnityEditorInternal.PluginsHelper:CheckFileCollisions (UnityEditor.BuildTarget)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)


error 2

Plugins colliding with each other.


error 3

Build completed with a result of 'Failed' in 14 seconds (14151 ms)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)


error 4

UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002ca] in :0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in :0
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Expected behavior
A clear and concise description of what you expected to happen.

Clicking "Build" should result in project compiling and exporting an APK.

Troubleshooting note: The project will build an APK if I remove the URDF-Importer package.

Screenshots
If applicable, add screenshots or videos to help explain your problem.

Environment (please complete the following information, where applicable):

  • Unity Version: [e.g. Unity 2020.2.0f1]
      • Unity 2020.3.17f
  • Unity machine OS + version: [e.g. Windows 10]
      • Win 10 Razr 14 AMD CPU w/ 3080 NVIDIA GPU
  • ROS machine OS + version: [e.g. Ubuntu 18.04, ROS Noetic]
      • Foxy w/ Noetic ROS 1
  • ROS–Unity communication: [e.g. Docker]
      • TCP-Endpoint is set up but not actively connected.
  • Branch or version: [e.g. v0.2.0]

Additional context
Add any other context about the problem here.

I have tried

      • Deleting the Library and recompiling -> still fails with duplicate DLLs
      • reimporting all assets > still fails with duplicate DLLs

If I remove the URDF-Importer package the project builds normally.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.