-
Notifications
You must be signed in to change notification settings - Fork 365
Dev_Protocols
RosBridgeClient is designed to keep the communication protocol generic. New protocols can be added by implementing a simple and minimalistic IProtocol interface:
public interface IProtocol
{
void Connect();
void Close();
bool IsAlive();
void Send(byte[] data);
event EventHandler OnReceive;
}
A RosSocket
is instantiated by passing in the
IProtocol
interface implementation that you want to use.
Example:
string uri = "ws://xxx.xxx.xxx.xxx:9090";
RosSocket rosSocket = new RosSocket(new RosBridgeClient.Protocols.WebSocketNetProtocol(uri));
Though ROS# currently comes with two WebSocket-based IProtocol
implementations,
note that an IProtocol
does not necessarily need to be a WebSocket client.
A WebSocket client that is based on the .NET ClientWebSocket class.
- available since .NET Framework 4.5 only
- requires Windows 8 and above
A wrapper for websocket-sharp.
- the original WebSocket client used in ROS#
- requires additional assembly
websocket-sharp.dll
- not compatible with e.g. UWP
A WebSocket client for UWP using Windows.NetWorking.Sockets.
- a running ROS# version with this protocol is hosted on @dwhit 's fork.
Platform | WebSocketNetProtocol | WebSocketSharpProtocol | WebSocketUWPProtocol |
---|---|---|---|
Windows 7 | no | yes | no |
Windows 8+ | yes | yes | no |
Ubuntu | ? | yes | no |
UWP | no | no | yes |
iOS | ? | yes | no |
If you tested a protocol on a new platform, and can contribute with new info in above table, please do!
© Siemens AG, 2017-2018 Author: Dr. Martin Bischoff ([email protected])
1. Installation and Configuration
1.1 Unity on Windows
1.2 Ubuntu on Oracle VM
1.3 ROS on Ubuntu
1.4 Gazebo Setup on VM
1.5 TurtleBot2
1.6 Shadow Hand
1.7 Gazebo Simulation Example Setup
1.8 Unity Simulation Example Setup
2. Application examples with ROS communication
2.1 Transfer a URDF from ROS to Unity
2.2 Transfer a URDF from Unity to ROS
2.3 Gazebo Simulation Example
2.4 Unity Simulation Example
2.5 Fibonacci Action Client
2.6 Fibonacci Action Server
3. Application examples without ROS communication
3.1 Import a URDF on Windows
3.2 Create, Modify and Export a URDF Model
3.3 Animate a Robot Model in Unity
ROS-Unity Coordinate System Conversions
How to add new Message Types
RosBridgeClient Protocols
RosBridgeClient Serializers
Message Handling Code Map
Action Server State Machine Model
License Headers