Dashboard to send/receive data from Sawyer


Soh Wei Xiang

Recommended Posts

I am trying to create a server dashboard using Python that is linked to a number of devices (eg. sensors, conveyor, cameras and other robot brands) using an ethernet port switch, and send/receive data to Sawyer using this Dashboard and have a few questions. This dashboard is in the server PC with the following wired connection:

Server PC > Port Switches > Sawyer  (and other devices)
 

I have referred to this link below but I would like to get more flexibility to control it (trajectory control etc) so I was looking into the SDK tutorials.
https://mfg.rethinkrobotics.com/intera/Using_TCP/IP

I have tested the examples for the Sawyer in Oracle VM and made a sample program to run it. It resembles the program seen here:
https://sdk.rethinkrobotics.com/intera/Hello_Robot

 

1. How do I for example, retrieve joint angle (and maybe camera image) and show it in my dashboard? Have anyone done something like this before? Generally, I will have these shown in the dashboard:

  • robot status (eg idle/ready/stopped/error)
  • program name
  • camera image
  • joint angles

 

2. I plan to have my (currently non-existent) dashboard outside of the VM but in the same PC. How do I establish the communication to the robot from outside the VM? I have tried using the same leading IP address as my WiFi (NAT) but I cannot get a connection without disabling my NAT or PCIE. Individual connections was tested to be working fine so I think my error is about using WiFi and PCIE together.

Connections:

  • 1. PC <-> VM (NAT)   
  • 2. VM <-> Sawyer (PCIE) by TCP/IP

 

Network:

NAT: 192.168.1.3
subnet: 255.255.255.0

PCIE: 192.168.1.105
subnet: 255.255.255.0

Sawyer: 192.168.1.100
subnet: 255.255.255.0

 

Additional Info:
Ubuntu 16.04 + ROS Kinetic
Intera 5.3

 

3. I assume I needed to have a program for server (PC) and client (VM) so I made a sample socket client server program. I did try using packet sender to send data through TCP/IP in Intera and back from Sawyer. Can I do the same with sockets?


This is my first time doing this so I appreciate any guidance you guys can provide. Thanks.

client_echo.py

server_echo.py

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.