Part4 : "Error : Failed to resolve message name: list index out of range"
See original GitHub issueHello.
I finished parts 0~3 of Pick-and-Place tutorials using Ubuntu18.04 PC. Now I am trying to do Part 4 with my real Niryo One, but I am having trouble getting errors and don’t know what to do.
I connected my PC to Niryo One via Ethernet on Ubuntu. I launched Niryo One Studio, got the calibration done, and then executed the Unity scene. Both simulated Niryo One and real Niryo One didn’t move. The errors are as below.
[After I pressed Play in part 4 Unity scene]
- Unity side
SysCommand.subscribe - Unknown message class ''
UnityEngine.Debug:LogError (object)
Unity.Robotics.ROSTCPConnector.ROSConnection:ReceiveSysCommand (string,string) (at Library/PackageCache/com.unity.robotics.ros-tcp-connector@7f055108f4/Runtime/TcpConnector/ROSConnection.cs:633)
Unity.Robotics.ROSTCPConnector.ROSConnection:Update () (at Library/PackageCache/com.unity.robotics.ros-tcp-connector@7f055108f4/Runtime/TcpConnector/ROSConnection.cs:578)
- ROS side
[ERROR] [1636725544.585528]: Failed to resolve message name: list index out of range
[After I pressed “publish” button in playing the scene]
-
ROS side No change from above.
-
Unity side
Exception: No registered publisher on topic sim_real_pnp for type niryo_moveit/MoverService!
Unity.Robotics.ROSTCPConnector.ROSConnection.Publish (System.String rosTopicName, Unity.Robotics.ROSTCPConnector.MessageGeneration.Message message) (at Library/PackageCache/com.unity.robotics.ros-tcp-connector@7f055108f4/Runtime/TcpConnector/ROSConnection.cs:956)
RealSimPickAndPlace.PublishJoints () (at Assets/RealSimPickAndPlace.cs:136)
UnityEngine.Events.InvokableCall.Invoke () (at /home/bokken/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent.cs:180)
UnityEngine.Events.UnityEvent.Invoke () (at /home/bokken/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent/UnityEvent_0.cs:58)
UnityEngine.UI.Button.Press () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:70)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:114)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:57)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:272)
UnityEngine.EventSystems.EventSystem:Update() (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:501)
I commented out one line in “Real Sim Pick And Place” script as below, and the result changed; playing the unity scene itself doesn’t cause an error (Pressing “Publish” Button still causes errors.)
commented out:
[Before pressing “Publish” button]
- Unity side & ROS side No errors.
[After pressing “Publish” button]
- Unity side
Exception: No registered publisher on topic sim_real_pnp for type niryo_moveit/MoverService!
Unity.Robotics.ROSTCPConnector.ROSConnection.Publish (System.String rosTopicName, Unity.Robotics.ROSTCPConnector.MessageGeneration.Message message) (at Library/PackageCache/com.unity.robotics.ros-tcp-connector@7f055108f4/Runtime/TcpConnector/ROSConnection.cs:956)
RealSimPickAndPlace.PublishJoints () (at Assets/RealSimPickAndPlace.cs:136)
UnityEngine.Events.InvokableCall.Invoke () (at /home/bokken/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent.cs:180)
UnityEngine.Events.UnityEvent.Invoke () (at /home/bokken/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent/UnityEvent_0.cs:58)
UnityEngine.UI.Button.Press () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:70)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:114)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:57)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:272)
UnityEngine.EventSystems.EventSystem:Update() (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:501)
- ROS side: No change
After that, I added “Debug.Log()” code in the “Start()” and “ExecuteRobotCommands()” functions as below.
… [The result]
Log 1 appeared but Log 2 didn’t. It seems that the program went wrong before ExecuteRobotCommands() was called.
Environment
Linux PC with Unity (not virtual machine)
- Ubuntu 18.04.6 LTS
- Unity Hub 2.4.5 (for Linux)
- Unity 2021.1.26f1
- Niryo One Studio for Linux
- (ROS Melodic)
- (Docker : but not used in part4)
real Niryo One (Raspberry Pi 3)
- Ubuntu 16.04.7 LTS
- ROS kinetic
- niryo_moveit & ros_tcp_endpoint packages (to home/niryo/catkin_ws/src directory)
- Contents of the home/niryo/catkin_ws/src directory are as below
Actually, I also tried with Windows PC (& Unity for Windows) connected to Niryo One via wi-fi network, and the result was the same… Do you have any idea what should I do ?
Thank you for reading.
Issue Analytics
- State:
- Created 2 years ago
- Comments:10 (4 by maintainers)
Top GitHub Comments
Hi @zarumo , thanks for reaching out and sharing the detailed logs. We are currently investigating the issue and will keep you posted.
AIRO-1571 is resolved