Hello,
I have a za6 robot arm and I am trying to get the ROS system on another computer on our network fully connected to it so I can start integrating some of our other ROS software.
The other computer is running Noetic on Ubuntu Focal.
Both computers can ping each other.
I have set the ROS_MASTER_URI on the other computer to point to the za6.
I can run commands on the other computer like rostopic list
and rosnode list
and get output as I’d expect.
However, if I run something like rosnode info /hal_io
, I do get publications, subscriptions, and services, but I don’t see its connections as I’d expect. Instead, I get the following output after the pubs, subs, and srvs:
contacting node http://ros-None-ui:34261/ …
ERROR: Communication with node[http://ros-None-ui:34261/] failed!
Also, when running roswtf, in the output, it says
ERROR Could not contact the following nodes:
In the past, I think I have solved issues like this by setting the ROS_IP environment variable on all machines. I can set this variable on the other machine, but due to being completely new to docker, I do not know how to set this variable on the za6.
As I understand it, the docker container gets created anew from the image each time it is run, so nothing ever persists between runs, and you have to create a new image that has the changes you want already in it and run that.
From trying to enter the docker container in a terminal, it looks like the docker container doesn’t actually run until you select the appropriate option in the GUI from the “configs able to run” screen.
I have tried to create various new modified images with docker commit
, and I think that I am in fact creating them, as they show up with the docker images
command but they do not run correctly nor show up in the GUI as options to run no matter what I name them nor if I change the launch-pathpilot-launcher script to point to my images. I have not tried to overwrite the image because I have no idea what I’m doing with docker and I don’t want to break anything, lol.
I have also tried to pass my environment variable to docker by editing the launch-pathpilot-launcher script, but even though I see the environment variables passed when I run the script (through the command line rather than clicking the desktop icon), I do not get the variables in the resulting container.
It would be very helpful to know how to edit and run modified docker images on the za6 for future reference, (that might should be for another topic on this site) but my main goal is full connectivity, so if there is a different obvious way to achieve that, I would very much appreciate any help.