Forums Niryo One Troubleshooting Remote control multiple NiryoOne robots

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • FindingNiryo
    Participant
    Post count: 97

    I have succeeded in controlling NiryoOne from a remote location.  The robot arm is connected to local WiFi (not in host mode) and I have set a rule in the firewall to pass port 9090 to the IP address of the robot.  I can connect NirYo One Studio from outside the firewall to the domain IP and control the robot.  I would like to be able to control more than one robot at the host domain.

    I would not want to hard code additional ports (9091, 9092, etc.).  Maybe one robot connected to Wifi could scan for other robots in host mode (returning connection list to NiryoOne Studio).  Then route control / status messages to/from the hosting robots through the firewall to NiryoOne Studio?  What sort of architecture would you suggest?

     

    Edouard Renard
    Keymaster
    Post count: 225

    If you connect all the robots to the same Wi-Fi network, they will all have a unique IP address, and they will all use the port 9090 (rosbridge package). So, no need to create additional port here.

    Also, using one robot to scan other robots might not work as you want. To communicate, 2 robots should be on the same network. You can’t have one robot connected to 2 Wi-Fi network (for ex: the main router, and another Niryo One in hotspot mode), and you can’t either have one robot connected to 1 Wi-FI network (the main router) while being itself a hostpot for another robot.

    And then, using one robot to make a bridge between all the robots and the router would require some work with ROS and the rosbridge package. You’d have to find a way to add some prefixes on topics, nodes, etc for all the robots, so the messages don’t get mixed (and bad news: doing that is not really easy with ROS and sometimes quite buggy).

    Connecting all robots to the same Wi-Fi network seems the best solution to me.

    Though let me know if this really answers your question, I feel that I might have misunderstood something here.

    FindingNiryo
    Participant
    Post count: 97

    From inside the firewall all NiryoOne arms have unique IP address, but from outside the firewall only the host domain IP address is visible. A rule on the firewall translates outside traffic on port 9090 to one of the robot arms inside the firewall. Mapping port 9090 to all robots in the WiFi network would not work. All robots would receive the same instructions and would result in NiryoOne Studio getting return data from all of the arms.

    This is why I mentioned creating additional ports (say in the range 41000-42000) firewall rules would map each port to a different robot on the WiFi. NiryoOne Studio would be able to connect to multiple robots from outside the firewall (was hoping to avoid creating the firewall rules).

    Edouard Renard
    Keymaster
    Post count: 225

    Oh OK I see, I understand better now.

    You could also try to setup something like a NAT after your firewall, so you could still use the different IP addresses (though I’m not a network specialist so I’m not sure how feasible this might be).

    The solution you propose (changing ports for websocket communication with rosbridge_suite) is also a nice one, however note that for now, NiryoOneStudio only works with port 9090 by default. We may add the possibility to set a custom port in a next software update. In fact, I’ll add that to our feature backlog.

    FindingNiryo
    Participant
    Post count: 97

    Could you give me a sense of when “possibility to set a custom port” might be available?

    Edouard Renard
    Keymaster
    Post count: 225

    This feature is scheduled for the next software upgrade, v 2.2.0 ! I don’t know exactly when we’ll release this new version, but quite possible in a month or 2.

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.