Soh Wei Xiang

Dashboard to send/receive data from Sawyer

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now