Coder Social home page Coder Social logo

Comments (7)

hyounesy avatar hyounesy commented on September 23, 2024

Hi, I don't see any issues in the ROS console output. Do you see any errors on the Unity Editor console?
Looks like the message from Unity was sent to MoveIt without issue, but MoveIt failed to send a message back to Unity.
One possibility is that a firewall is blocking some connections from the WSL environment. Are you able to ping your local machine's IP address from WSL? If not please try adding a firewall rule to allow incoming connections from your WSL to your local machine?

from unity-robotics-hub.

KKassem avatar KKassem commented on September 23, 2024

Thanks for responding.

You're right. I had a feeling this might have been a firewall issue. Ping wasn't possible, and so I tried temporarily disabling the firewall on Windows for the test, and the ping managed to go through. However, the arm still doesn't move.

Checking the Unity console, it has an error reading

No data available on network stream after 10 attempts.
UnityEngine.Debug:LogError (object)
ROSConnection/<SendServiceMessage>d__21`1<RosMessageTypes.NiryoMoveit.MoverServiceResponse>:MoveNext () (at Library/PackageCache/com.unity.robotics.ros-tcp-connector@ab45157ad3/Runtime/TcpConnector/ROSConnection.cs:129)
UnityEngine.UnitySynchronizationContext:ExecuteTasks ()

This error shows with the firewall turned off. Pings go through normally. I checked the TCP connection by running telnet on port 5005, which also seems to be running normally.

Edit: I also tried setting the Override Unity IP Address parameter with the address from which ROS was receiving the handshake. That also didn't work.

Edit 2: The above error is always immediately followed by a "Trajectory returned." log entry.

from unity-robotics-hub.

hyounesy avatar hyounesy commented on September 23, 2024

Here are a couple things to investigate:

  • What IP address did you set in the unity address override? It might be because you are not using the correct IP addresses for this. I believe in the WSL that has to be set manually.
  • See if the solution proposed for this similar issue works for you. In short: Use ifconfig inside WSL to find the address of the eth0 adapter, use ipconfig on the windows side to find the corresponding vEthernet WSL adapter and make sure those values are what are used wherever IP addresses are needed.

Let us know if any of these methods resolve your issue!

from unity-robotics-hub.

mrceresa avatar mrceresa commented on September 23, 2024

Did you check if it is the timeout?

I had the same error when my machine took 11 seconds to calculate the trajectory. I put it to 20 attempts and it worked. You can change it in the ROS Settings.

from unity-robotics-hub.

hyounesy avatar hyounesy commented on September 23, 2024

Hello @KKassem , just wanted to check if you were able to resolve the issue above, before we close the issue.

from unity-robotics-hub.

KKassem avatar KKassem commented on September 23, 2024

Did you check if it is the timeout?

I had the same error when my machine took 11 seconds to calculate the trajectory. I put it to 20 attempts and it worked. You can change it in the ROS Settings.

It wasn't a time out afaik because the gripper opens at the end.. changing the number of attempts did nothing.

It was too frustrating to deal with, so I think I will try further with the Docker approach. The WSL path just doesn't seem robust enough at the moment if it's this undeterministic. Thanks for all your help.

from unity-robotics-hub.

peifeng-unity avatar peifeng-unity commented on September 23, 2024

Thank you @KKassem for your feedback. Hope everything would go well with the Docker approach.

I will close this issue. Please feel free to reopen it if you have more questions.

from unity-robotics-hub.

Related Issues (20)

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.