[ros-users] ROS and OPC/OPC-UA

Edwards, Shaun M. sedwards at swri.org
Tue Oct 25 15:23:33 UTC 2011


Felix,

Those scenarios sound really neat.  My vision for OPC and ROS integration was for Human Machine Interfaces (HMIs).  Such a link would allow standard HMI development systems (which use OPC, like http://www.automation.siemens.com/MCMS/HUMAN-MACHINE-INTERFACE/EN/VISUALIZATION-SOFTWARE/SCADA/Pages/Default.aspx ) to talk to ROS nodes.  The opposite would also work, ROS GUIs could talk to automation equipment which supported OPC (most equipment has some form of OPC support).  I'm a fan of the later since I believe that most HMI development software is too limiting, but either way I see benefits.

I'm not too familiar with OPC-UA.  I have many years of experience dealing with the old COM based OPC.  I can't say I am sorry to see it go.  It has caused me many headaches.  I'm not sure how quickly the old OPC will die off though.  I'm not aware of vendors supporting the new OPC-UA yet.

I think your current approach has merit.  I would have approached it the same way.  I'm not sure what the data representation for OPC-UA, but for old OPC, the ROS-topic to OPC data structure would be my first guess.  Although, OPC data structure support on the HMI side is almost non-existant (OPC structures come across as strings and must be parsed on the client side).

Shaun Edwards
Senior Research Engineer
Manufacturing System Department

http://robotics.swri.org
http://ros.swri.org<http://ros.swri.org/>
Southwest Research Institute
210-522-3277

From: ros-users-bounces at code.ros.org [mailto:ros-users-bounces at code.ros.org] On Behalf Of Meßmer, Felix
Sent: Tuesday, October 25, 2011 7:59 AM
To: ros-users
Subject: Re: [ros-users] ROS and OPC/OPC-UA


Hi Brian,
hi Shaun,
hi all,

the (long-term) scenario I have in mind is the following:
We have a mobile platform using ROS that - equipped with some sensors - is supposed to perform inspection tasks in an industrial environment.
These inspection tasks are performed by an operator in a tele-operation mode.
We now want to control the platform remotely, get visual feedback by displaying an environment model created using the sensor data and augment this visualization with additional data that e.g. comes from a machine the robot is currently looking at via OPC/OPC-UA.
A second scenario might be the integration of such a mobile platform into an MES (Manufacturing Execution System) to send the platform to a machine that just notified the MES that it has finished some execution (e.g. manipulation of a work piece) and needs to be unloaded.

In both scenarios, I am interested in providing ROS-topics as OPC-Variables (e.g. /tf or camera data for visualization) as well as read OPC-Variables and generate ROS-messages out of them (e.g. velocity commands).

So far, I was able to read commands from a joystick on a remote PC, transform the /joy message to an OPC-Variable, load the values to the OPC-Server, there read it and compose a new /joy-message on the robot and execute it. Also sending information (ROS -topics) from  the robot to the OPC-client is  possible.
In this first trial, the implementation was very hard-coded. i.e. the OPC-variable was explicitly implemented for a certain topic and it is not general at all.
In a next step, I am thinking about serializing ROS-topics so that all ROS -topics can be transformed into a common format, i.e. header with information such as topic name, topic type,... and a byte stream containing the serialized message. This header and the byte stream are then the content of the OPC-variable. To recover the ROS -message, the OPC-Variable is de-serialized on the other side.

I'm not sure right now, what the best practice is here, since I am quite familiar with ROS but new to OPC-UA.


If you have some suggestions or further questions please let me know!



Best regards,

Felix


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20111025/62d3fb1b/attachment-0004.html>


More information about the ros-users mailing list