Spot.NET
0.1.0
dotnet add package Spot.NET --version 0.1.0
NuGet\Install-Package Spot.NET -Version 0.1.0
<PackageReference Include="Spot.NET" Version="0.1.0" />
paket add Spot.NET --version 0.1.0
#r "nuget: Spot.NET, 0.1.0"
// Install Spot.NET as a Cake Addin #addin nuget:?package=Spot.NET&version=0.1.0 // Install Spot.NET as a Cake Tool #tool nuget:?package=Spot.NET&version=0.1.0
Spot .NET
Spot .NET is a lightweight C# SDK for controlling Boston Dynamics robots.
Functionality
- Easily connect and authenticate to multiple robots of different types over grpc connection
- Support for commands for standing, sitting, walking and more!
- Containerised and easily extensible commands for adding new functionality
- Full C# compiled Boston Dynamics protobufs, for building out your own commands
- Exposes authenticated Spot Channel to add your own functionality such as receiving data from Spot
Usage:
nuget install @sharks-interactive/spot.net
Quick Examples:
Connecting to Spot
using Sharks.Spot;
// Or whatever your entrypoint/function is
public static int main()
{
// Create Spot Robot object with credentials to authenticate with it
Robot Spot = new Robot(
new Credentials()
{
Username = "SpotUsername",
Password = "SpotPassword",
Address = "192.168.0.0.2:443"
}
);
// When your ready call connect to create the authenticated channel
Spot.Connect();
// Calling this will aquire a lease if we haven't already
Sit(Spot); // Call a sit command on the Robot we've connected to
}
Walk (with callback)
using Sharks.Spot;
// Or whatever your entrypoint/function is
public static int main()
{
// Create Spot Robot object with credentials to authenticate with it
Robot Spot = new Robot(
new Credentials()
{
Username = "SpotUsername",
Password = "SpotPassword",
Address = "192.168.0.0.2:443"
}
);
Spot.Connect();
// Api subject to change
Walk(Spot, 5.0f, Direction.Forwards, WalkFinishedCallback);
}
private void WalkFinishedCallback()
{
Console.WriteLine("Done walking!");
}
Features:
- .Connect() authenticates and connects to a Robot
- AquireLease(Robot) Gets a lease for the given robot
- Sit(Robot) sends a command for a Robot to sit
- Stand(Robot) sends a command for a Robot to stand
- Walk(Robot, Distance, Direction, Callback(optional)) sends a command for a Robot to walk
- .Shutdown() disconnects from a Robot and cleans up all channels
- .ContactInfo struct with all the information you need to contact a Robot for custom commands
Options (Required)
Option | Type | Description |
---|---|---|
Creds | Credentials | A struct containing all the necessary credentials to authenticate with the Robot. |
How it works:
This library opens an authenticated GRPC channel to a Robot and contains Boston Dynamics protobufs compiled to C#, allowing you to send whatever commands you want to it.
Read the wiki for extra documentation.
Project created and maintained by Sharks Interactive.
Developing:
- Commit to
staging
and pr toprod
for changes
Code Style:
- Continuous Integration will handle formatting for you.. Eventually. Do your best to adhere to what's already there if you're contributing.
Acknowledgements:
README.MD and general SDK structure, styling, practices etc, modelled after and taken from the excellent Toucan-JS
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Google.Protobuf (>= 3.19.4)
- Grpc.Core (>= 2.45.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0 | 258 | 6/1/2022 |
Initial Release:
- Connect to Spot
- Send a sit command