Proficio Client (C#)

A client program using CoAP/UDP to talk to the BURT robot.

The program is a console application which reads in keypress mapped commands to send basic requests to the robot, e.g. home, enable, disable and prints out any debug information sent from the firmware.

Requirements

To install the dependencies on Ubuntu 14.04 or 16.04:

$ ./scripts/install-dependencies.sh

To see the specific dependencies/packages please look at scripts/install-dependencies.sh

Library Dependencies

Building

Project MonoDevelop Configurations

  • Launch MonoDevelop application or open project directly by double-clicking the .csproj project file: File > Open > <project-directory>.csproj
  • Attempt building the project: Build > Build All (F8)
    • if the build succeeds without errors, continue with Usage (Console Application) below.
    • if a build error exists:
      • Open Project Options
        • Project > <project-name> Options
          • Build -> General -> target Framework -> Mono / .Net 3.5 or
          • Build -> General -> target Framework -> Mono / .Net 4.0
      • Add Missing References
        • Click References -> Edit References
          • Find the following system references using the Search Bar and click "Add" to add the selected references to the project.
            • System.Data
            • System.Xml.*, e.g. System.Xml, System.Xml.Linq
          • Open .Net Assemblies Tab
            • Browse to the-project-directory/dll
              • Add all .dll files
          • Click OK to close the dialog

Building Unit Tests from MonoDevelop

View -> Pads -> Unit Tests

And then double click on proficio-client-lib-cs which will run all unit tests contained in the solution.

Building from MonoDevelop

Build -> Build ALL F8

Project Execution from MonoDevelop

Run -> Start Debugging F5

Building From The Command Line

To build the project (including examples and tests):

$ ./scripts/build.sh

To run the unit tests:

$ ./scripts/run-tests.sh

Installation

Installing as a Unity Plugin

To install to a new game you can use the copy script, which copies all required dlls into the game's Assets/Scripts folder:

$ ./scripts/copy.sh PATH/TO/UNITY_GAME

Usage (Console Application)

Connecting to the robot

  • Open Ubuntu Network Manager
  • Add a new Wired Connection.

<img src="./doc/assets/img/network-manager-1.png" width="400"/>

  • Edit IPv4 Settings Tab

<img src="./doc/assets/img/network-manager-2.png" width="400"/>

  • Save and close dialog.
  • Change connection:
    • click the Ubuntu Network Manager icon to show the dropdown menu of available connections.
    • select (connect to) the new Wired connection e.g. Fake 192.168.100.100
    • disconnect from any other Ethernet connections which are not connected to the robot, e.g. Wired Connection 1.

Keyboard Control:

Key Action
h sets robot home position (motor encoder offset) at preset values
e 'enables' the robot (sets pucks to torque mode)
d 'disables' the robot (sets pucks to resistive braking mode)

Adding Packages (optional)

  • open mono project, double click on *.csproj file
  • Right-click references folder
  • Search for System.Data
  • Add, close Dialog

Resources

Last modified 8 years ago Last modified on Mar 3, 2017, 8:24:11 PM