Difficulty Accessing The ROS API

Hi Mike,

Sorry for the delay in my response, and for not walking through the entire process to ensure it worked before I sent it over to you.

The ROS Master is definitely running if you are inside the container like you were, but it looks like the environment didn’t load in properly.

Try replacing my step #4 with this:
docker exec -it <ID_FROM_STEP_3> bash -i

Removing the user param to docker exec not only cleans up the shell (so you don’t see the “I have no name” in the prompt) but actually allows the environment to load correctly.

Once you do that, you should be able to echo $ROS_MASTER_URI and see a response. For me when I just tested this, I saw http://localhost:11311.
If for whatever reason this is not set, you can set it to either “localhost” or “127.0.0.1” like mentioned in the wiki by using:
export ROS_MASTER_URI=http://localhost:11311.

After I verified the ROS_MASTER_URI environment variable as above, ran the command you has issues with communication on:
rostopic echo /joint_states_throttle

Doing that gave me continuous stream of output on the status of the joints that looked like this:

  seq: 35751
  stamp: 
    secs: 1721680862
    nsecs: 321113277
  frame_id: ''
name: 
  - joint_1
  - joint_2
  - joint_3
  - joint_4
  - joint_5
  - joint_6
  - tcp_lin
  - tcp_rot
position: [-0.08649356290769912, 0.30872350467324994, -0.05515260178649861, -0.3327322789264078, -0.26761543781837827, 0.32170165847062093, 9.999999999976697e-05, 0.0]
velocity: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
effort: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
---

This continued until I Ctrl-C’d in the terminal to stop the output. It did correctly update to the machine’s values when I jogged the robot (note: I was running in Sim when I did this).

Let me know if you continue to have any difficulties.

1 Like