As in the main readme, this repository is intended to test out integrations with our current research topics, from human-robot integration, intelligent edge computing, through to 5G and fleet control of robotics.
Because of that, you could install and setup every widget and configuration, but you are unlikely to need every single widget installed at once.
- How to contribute
- Our code of conduct
- Folder Structure and package requirements
- How to set up the Rocos Platform
- How to test locally
- Unity Application - The Unity application embeds the NextMind SDK. It receives a video stream from the robot, and sends movement commands to the robot.
- Cloud App - The Unity app connects to the Cloud App. The Cloud App forwards messages to the relevant robot maanagement platform - Rocos, for organizations that may have many robots; or IoT hub for organizations testing and controlling single robots.
- Robot Management
- Rocos - Messages are forwarded to the Rocos platform, and video is sent to the NextMind Unity app.
- IoT Hub - Messages are forwarded to the Python Agent, which should be running on the Stretch. Video is sent to the NextMind Unity app, using an [IoT Hub Device Stream[(https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-device-streams-overview).
- Agent
For controlling one simple robot, the IoT hub route provides fine grained control, particularly in a homogenous system.
The Rocos platform is designed to control heterogenous robots and is suited for organizations with multiple robot types.
All control versions connect the unity app to a deployed cloud application, and the cloud application can be configured to communicate with either an IoT Hub or Rocos.
- Unity Application with Nextmind in C# calls Cloud App
- Cloud App forwards API calls via IoT Hub
- A streaming video feed is retrieved using an IoT Hub Device stream by the Cloud App, and passed to the Unity App
- Rocos interacts with Stretch
- Video streaming in response is displayed in the Unity Application
- Unity Application with Nextmind in C# calls Cloud App
- Cloud App forwards API calls to Rocos
- A streaming video feed is retrieved from Rocos by the Cloud App, and passed to the Unity App
- Rocos interacts with Stretch
- Video streaming in response is displayed in the Unity Application
Run the following commands to install graphviz
, and set up an environment to be able to generate documentation images.
brew install graphviz
conda create --name stretchlabs python=3.9 -y
pip install diagrams
Install the Mermaid Extension for VS Code.
Generate images as .mmd files are updated, and commit them.
Diagrams are generated with Python Diagrams and using the Mermaid Extension for VS Code, which supports most mermaid formatting, in the .mmd format.