jonaitken / KUKA-IIWA-API

Ros Enabled API for easy integration with the KUKA IIWA
GNU General Public License v3.0
54 stars 19 forks source link

ROS server IP/Port number problem #11

Open TurpinPerdu opened 4 years ago

TurpinPerdu commented 4 years ago

Hello, as part of my apprenticeship I'm automating a production process for a system with fragile components. This step is usually done by hand and is particularly risky. I must use a KUKA R800 IIWA using ROS and your API.

I have followed the instructions and inserted my server address however I receive an error message. The error is the following: “Connection for KUKA cannot assign requested address: 127.0.0.1 11311” The port in questions seems to be the source of the error because it works with other random ports. However the port corresponding to the ROSS server creates an error.

If you have any ideas on where the problem is coming from or have any advice regarding the procedure for setting ROSS up efficiently I am eager to learn.

Thanks,

TurpinPerdu

IMG_20200731_112335 IMG_20200731_112339

jonaitken commented 4 years ago

Could you check whether you can ping the pendant 'ping 172.31.1.147'; it looks like you are connected to the network on that machine. therefore look to set the machine with an IP address in the range 172.31.1.x, we generally use 172.31.1.50

TurpinPerdu commented 4 years ago

Thank you for answering quickly ! I changed the IP to 147.31.1.50, the results remain the same. I do have a ping back for 147.31.1.147, so I can communicate to SUNRISE cabinet by the X66 port. Am I at least using the right address in the "conf.txt" and the "API_ROS_KUKA_V30032017.java" ? (172.31.1.50 port 11311)

Capture du 2020-08-04 09-21-51 Capture du 2020-08-04 09-31-00

jonaitken commented 4 years ago

The confirmation file should point to your machine. Your machine IP should be 172.31.1.50, that should be what's in the confirmation file as this tells the server where to look. If you can ping 172.31.1.147 you can connect to the pendant. Do you have the app installed there? It's easier to start this first in T1 mode and then launch the ros application.

In terms of what you've got things look ok. You don't strictly ned to do this but it's useful to edit your .bashrc to use IPs in rather than names; i.e. adding export ROS_MASTER_URI=http://172.31.1.50:11311 and export ROS_IP=172.31.1.50 to your .bashrc.

Your confirmation.txt should be as it is on the repo ('server 172.31.1.50 port 1234'). This is the internal socket that connects to the iiwa. It should start up on 172.31.1.50 11311 as this port is taken by ROS.

TurpinPerdu commented 4 years ago

I did add the lines to the .bashrc.

The KUKA iiwa is connected to the server (172.31.1.50 port 11311) but the computer is waiting to connect indefinitely.

Capture du 2020-08-04 15-46-13

jonaitken commented 4 years ago

Have you started the app on the pendant? This then enables the connection, as it is waiting for the app to start.

TurpinPerdu commented 4 years ago

If by the pendant you mean the smartPad, yes I started the application and the kuka is connected to the ROS server. If not, then what does it mean?

jonaitken commented 4 years ago

Yes the smartPad, once the app is started then everything should be connected - that waiting for connection line should have disappeared. You can then post to topics to control the robot.

TurpinPerdu commented 4 years ago

What if it didn't disappear after 30 minutes? :/

jonaitken commented 4 years ago

As the robot is in T1 you need to have the app enable and running using the deadman's switch and the green run button?

TurpinPerdu commented 4 years ago

I only have to do it to start the application. The connection search continues even after I don't touch anything and the connection is made as soon as I launch ROS.

jonaitken commented 4 years ago

You're running in autonomous mode then?

TurpinPerdu commented 4 years ago

I think this is not the case because all examples of kuka applications i have kept in the sunrise project need the deadman's switch and the green run button to be pressed continuously.

jonaitken commented 4 years ago

In which case this is the problem. AS soon as you release deadman's and green switch the app pauses. These must be pressed down to enable communication in this operation mode. It isn't sufficient to just start the app when operating in T1, as soon as you release deadman's and green button the app pauses even if you see it connecting it won't as the app has been stopped.

TurpinPerdu commented 4 years ago

The situation is the same in autonomous mode or in T1 with the deadman's switch and the green run button pressed.

jonaitken commented 4 years ago

As far as I can tell everything looks ok. If you check the information on the topics are the joint angles being transmitted? If the connection is in place the data will be there with green button and deadman or all the time in autonomous mode

TurpinPerdu commented 4 years ago

By "topic" you mean the GUI? I didn't think I would use it for the moment since this information is available on the smartPad, could it be that node.js and npm are necessary for server_V30032017.py to work?

jonaitken commented 4 years ago

No, I mean the topics that are presented in ROS at the terminal. There should be a collection of topics that present the information fed back from the arm. You should be able to "rostopic echo" them and see joint information etc.

On Thu, 6 Aug 2020 at 10:29, TurpinPerdu notifications@github.com wrote:

By "topic" you mean the GUI? I didn't think I would use it for the moment since this information is available on the smartPad, could it be that node.js and npm are necessary for server_V30032017.py to work?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-669819632, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQO26KRSKZI5VGRWVALR7JZXFANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

TurpinPerdu commented 4 years ago

rostopic list shows only two active rostopic "/rosout" and "/rosout_agg". Neither one returns any information with rostopic echo.

jonaitken commented 4 years ago

Could you list the steps that you've gone through to start the software. We've moved this software between multiple different iiwa's and different iiwa configurations and had no problem. I suspect the problem is with your startup. You don't need to use the GUI should you not want, as this is an add in.

On Thu, 6 Aug 2020 at 14:16, TurpinPerdu notifications@github.com wrote:

rostopic list shows only two active rostopic "/rosout" and "/rosout_agg". Neither one returns any information with rostopic echo.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-669920464, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQMTDTLOUYZM6AEIAF3R7KUMRANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

TurpinPerdu commented 4 years ago

Booting the iiwa

terminal: roscore

Launch the application on the smartpad in autonomous mode, wait for it to connect (instantly)

another terminal: rosrun kuka_controller server_V30032017.py

jonaitken commented 4 years ago

Ok, so when does it register connections on the smartPad and in the terminal?

On Thu, 6 Aug 2020 at 14:51, TurpinPerdu notifications@github.com wrote:

Booting the iiwa

terminal: roscore

Launch the application on the smartpad in autonomous mode, wait for it to connect (instantly)

another terminal: rosrun kuka_controller server_V30032017.py

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-669939188, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQP76C2S22M4ZBQIXSLR7KYN5ANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

TurpinPerdu commented 4 years ago

I'm not sure I really understand the question.

When I run the app on the smartpad, I can see "Connecting to the server at 172.31.1.50 Port: 11311" "KUKA iiwa is connected to the server."

In the terminal i have nothing else than before "Waiting for a connection. . ." when i rosrun kuka_controller server_V30032017.py

jonaitken commented 4 years ago

Ok, bit of a multi-step process. I know we didn't close the socket neatly in the ROS node therefore depending on how it's been started up and shut down the socket could be blocked. So:

(1) Restart the arm and the computer; and retry

(2) If the result is the same, post; (i) Screenshot of 'ifconfig' (ii) Contents of .bashrc file

(3) What is your network setup? By this I mean is it your own switch between the iiwa and the desktop or are you using a cross-over cable?

It looks like traffic one way is working but not back...

On Fri, 7 Aug 2020 at 06:58, TurpinPerdu notifications@github.com wrote:

I'm not sure I really understand the question.

When I run the app on the smartpad, I can see "Connecting to the server at 172.31.1.50 Port: 11311" "KUKA iiwa is connected to the server."

In the terminal i have nothing else than before "Waiting for a connection. . ."

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-670341636, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQLNDEAOVG52O3KKQO3R7OJ2DANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

TurpinPerdu commented 4 years ago

I actually reboot all the devices every time I try again. I'm just using a cross-over cable, the pc is only connected to port X66 of the Sunrise box. It doesn't have a wifi card.

The problem remains the same.

Capture du 2020-08-07 10-39-04 Capture du 2020-08-07 10-39-36 Capture du 2020-08-07 10-40-32 Capture du 2020-08-07 10-41-35 Capture du 2020-08-07 10-42-11

jonaitken commented 4 years ago

Reload and type in the terminal, then rerty (also is there a firewall on the desktop? If there is you may want to disable it):

sudo iptables -I INPUT -p tcp --dport 1234 --syn -j ACCEPT

On Fri, 7 Aug 2020 at 09:49, TurpinPerdu notifications@github.com wrote:

I actually reboot all the devices every time I try again. I'm just using a cross-over cable, the pc is only connected to port X66 of the Sunrise box. It doesn't have a wifi card.

The problem remains the same.

[image: Capture du 2020-08-07 10-39-04] https://user-images.githubusercontent.com/69042703/89627614-6e488b80-d89b-11ea-82c0-d867d687f18f.png [image: Capture du 2020-08-07 10-39-36] https://user-images.githubusercontent.com/69042703/89627632-7274a900-d89b-11ea-8807-d3777eb5f42d.png [image: Capture du 2020-08-07 10-40-32] https://user-images.githubusercontent.com/69042703/89627639-74d70300-d89b-11ea-93c1-b2cd65234526.png [image: Capture du 2020-08-07 10-41-35] https://user-images.githubusercontent.com/69042703/89627647-76a0c680-d89b-11ea-9831-2697a72f8078.png [image: Capture du 2020-08-07 10-42-11] https://user-images.githubusercontent.com/69042703/89627653-79032080-d89b-11ea-8761-f0e51a898bc2.png

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-670407683, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQOD5SHPX2ZS6P65MP3R7O5XZANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

TurpinPerdu commented 4 years ago

I don't think there is one, when in doubt I used the command to deactivate it. Realoaded changed nothing. I didn't understand what you wanted me to type in the terminal :

Reload and type in the terminal, then rerty

jonaitken commented 4 years ago

Sorry I emailed the reply and it may have got lost. Please try manually enabling the port on the desktop:

sudo iptables -I INPUT -p tcp --dport 1234 --syn -j ACCEPT

TurpinPerdu commented 4 years ago

Yes i already typed this line but doesn't change the resul... Still waiting for a connexion.

Le ven. 7 août 2020 à 12:42, Jonathan Aitken notifications@github.com a écrit :

Sorry I emailed the reply and it may have got lost. Please try manually enabling the port on the desktop:

sudo iptables -I INPUT -p tcp --dport 1234 --syn -j ACCEPT

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-670454493, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQOYEDYSEQFWPMS55PMUI23R7PLCFANCNFSM4PSWXYKQ .

jonaitken commented 4 years ago

Ok, just to recap; there's definitely a connection to the smartPad as it registers. This means it's the loopback that's causing an issue. There's two obvious reasons for this; the first is a cable fault. Now whenever we've used this setup we've always had a switch in the way. I can't remember the pinout on the X66 but it's worth checking whether it needs a crossover cable or is straight through. So another simple solution is switch this cable (or alternatively just switch the ends of the cable so each connector is in the other device, and see if the behaviour is different, if it is it's the cable).

In terms of the ROS side it'll connect instantly when it's registered on the smartPad.

On Fri, 7 Aug 2020 at 13:15, TurpinPerdu notifications@github.com wrote:

Yes i already typed this line but doesn't change the resul... Still waiting for a connexion.

Le ven. 7 août 2020 à 12:42, Jonathan Aitken notifications@github.com a écrit :

Sorry I emailed the reply and it may have got lost. Please try manually enabling the port on the desktop:

sudo iptables -I INPUT -p tcp --dport 1234 --syn -j ACCEPT

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub < https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-670454493 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/AQOYEDYSEQFWPMS55PMUI23R7PLCFANCNFSM4PSWXYKQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-670487561, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQJ7VDW2GUCMHWQX6BLR7PV7NANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

TurpinPerdu commented 4 years ago

I made a mistake, I use a straigth through cable, and that's what's in the Sunrise Cabinet doc. So there's nothing wrong with the type of cable. I've also tried with several valid cables in both ways and nothing changes... Capture

jonaitken commented 4 years ago

Apologies for being pedantic, but just noting in the image you posted above.

The version numbering looks incorrect, that "++" shouldn't be there. Please could you confirm if you've changed anything or are running a slightly different version? I'm just a little surprised to see it!

It looks to me like your desktop is blocking the inbound connection: so you could try:

"sudo ufw disable"

Also post the output of "sudo lsof -i:1234"

TurpinPerdu commented 4 years ago

I'm using the version currently available on your github page and I haven't changed anything. I checked, the files are exactly the same, the "V15032017++" may come from your program server_V30032017.py line 3. V15032017++

Capture du 2020-08-17 09-02-00

jonaitken commented 4 years ago

Ok, that's not our standard version that's live on the page with that in the comments...

On Mon, 17 Aug 2020 at 08:15, TurpinPerdu notifications@github.com wrote:

I'm using the version currently available on your github page and I haven't changed anything. I checked, the files are exactly the same, the "V15032017++" may come from your program server_V30032017.py line 3. [image: V15032017++] https://user-images.githubusercontent.com/69042703/90367452-2d096600-e069-11ea-8b28-9f9c99742881.png

[image: Capture du 2020-08-17 09-02-00] https://user-images.githubusercontent.com/69042703/90367573-43afbd00-e069-11ea-9485-3da1a8956f43.png

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-674707237, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQKTKNGEHJ77N3U7EF3SBDKIZANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

jonaitken commented 4 years ago

I'll have a look and be in touch!

On Mon, 17 Aug 2020 at 09:01, Jonathan Aitken < jonathan.aitken@sheffield.ac.uk> wrote:

Ok, that's not our standard version that's live on the page with that in the comments...

On Mon, 17 Aug 2020 at 08:15, TurpinPerdu notifications@github.com wrote:

I'm using the version currently available on your github page and I haven't changed anything. I checked, the files are exactly the same, the "V15032017++" may come from your program server_V30032017.py line 3. [image: V15032017++] https://user-images.githubusercontent.com/69042703/90367452-2d096600-e069-11ea-8b28-9f9c99742881.png

[image: Capture du 2020-08-17 09-02-00] https://user-images.githubusercontent.com/69042703/90367573-43afbd00-e069-11ea-9485-3da1a8956f43.png

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-674707237, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQKTKNGEHJ77N3U7EF3SBDKIZANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

TurpinPerdu commented 4 years ago

A quick question about the ToolForce and ToolTorque functions.

Do the returned values correspond to the Cartesian referential of the robot's foot or to the Cartesian referential of the robot's end effector?

I am also interested in hand guiding the robot, do you have a fuction/script that enables me to do this ?

jonaitken commented 4 years ago

I believe it should be cartesian, so X,Y,Z in the world.

On Wed, 19 Aug 2020 at 10:37, TurpinPerdu notifications@github.com wrote:

A quick question about the ToolForce and ToolTorque functions.

Do the returned values correspond to the Cartesian reverential of the robot's foot or to the Cartesian reverential of the robot's end effector?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-676038324, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQKYFHTMYMF6YGYXAVTSBOMNVANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken

TurpinPerdu commented 4 years ago

@jonaitken any news on what's wrong?

jonaitken commented 4 years ago

Sorry, I'm on leave for a couple of weeks, and also due to circumstances don't have access to our lab at present. I'm back in a couple of weeks and will update asap.

On Wed, 26 Aug 2020 at 15:42, TurpinPerdu notifications@github.com wrote:

@jonaitken https://github.com/jonaitken any news on what's wrong?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jonaitken/KUKA-IIWA-API/issues/11#issuecomment-680923879, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBNQOQJXW2AJO5QRCZVGDSCUNORANCNFSM4PSWXYKQ .

-- Dr Jonathan M. Aitken University Teacher in Robotics Admissions Tutor for Aerospace Engineering Department of Automatic Control & Systems Engineering Pam Liversidge Building Room B05 University of Sheffield Sheffield S1 3JD Tel: (+44) (0)114 222 5660 https://www.sheffield.ac.uk/acse/staff/ja/index

Availability: Doodle MeetMe http://doodle.com/jonaitken