Documentation‎ > ‎User Manual‎ > ‎Agent‎ > ‎

Getting Started

Step #1: Preparation

This guide will help you to get started with OctoMY™ Agent. Before we start, you will need the following:

 Smartphone For this guide, any Android device running 4.x or later will do.

It does not have to be fancy as long as it supports Bluetooth -or- USB OTG, and of course as it will be used for a robot it is preferable if it has a camera, WiFi and GPS.

NOTE: You will find officially recommended devices here.
OTG cable OTG stands for "On The Go" and is a standard for how you can use an Android device as the USB host to drive other USB devices, in our case the robot controller board.

To use OTG, you will ned a special purpose adapter cable that allows you to connect devices to your phone.

NOTE: You will find officially recommended cables here.
Robot Currently the list of robot hardware supported by OctoMY™ is limited. In this tutorial we will focus on ArcBotics Hexy Hexapod robot, because it is the most mature and supported at the time of writing.

NOTE: The steps for other hardware will be similar. Please see this page for a complete list of supported hardware.

Step #2: Install Agent App

  1. From the menu of your device, open google play store:
  2. In the search bar, type in "octomy":
  3. In the search result, scroll until you find OctoMY™Agent.
  4. For security, please verify that the app author is "octomy.org".
  5. Select to install the app.
  6. When installation is finished, select to open the app.

Step #3: Deliver Agent

As soon as Agent App opens, you will be presented with a screen to "deliver" your robot.

  1. Fill in the name to give your robot. A randomly generated one will already have been filled out for you and you can use the dice button to the right to have new random alternatives made for inspiration.
  2. Select a gender for your robot. You may choose to accept a random gender.
  3. https://sites.google.com/site/octomyproject/documentation/user-manual/agent/getting-started/OctoMY%E2%84%A2%20-%20Agent_075.png
  4. Click Onward to start the delivery process.
  5. OctoMY™Agent delivery in progress

NOTE: This is a solemn moment in the life of your robot, please remember to wear proper ceremonial clothing according to your tradition such as a tuxedo or hakama to show the proper amount of respect.

Once the robot identity has been generated you will have the first opportunity to inspect it's birth certificate. The birth certificate contains an identicon (automatically generated avatar picture) that is unique to your robot, and whenever you see this identicon you know it belongs to your robot.

Step #4: Connect Hardware

Before we continue in the software, we have to connect our Android device to the robot serial controller using the USB OTG Cable.

  1. Plug the micro-USB side of the OTG cable into the Android device.
  2. Plug the Type-A male side of the regular USB data cable into the Type-A female side of the OTG cable.
  3. Plug the micro-USB side of the regular USB data cable into the USB mini port of the Hexy (Servotor32 controller card).
  4. Ensure that the the green led on-board lights up from the power it receives via USB even when the 5 VDC Hexy battery/power cable is detached.

OctoMY™Agent should now be able to detect the serial interface for the Hexy in the next step.

Step #5: Configure Hardware

Now it's time to start hardware configuration wizard in OctoMY™Agent. In the bottom of the birth certificate screen there is a button to "start hardware configuration". 

  1. Select interface type. Currently the only available option is "serial", which handles all kinds of serial including  USB Serial and Bluetooth serial. Click "Onward" button in the bottom to continue.
  2. Select Interface Type
  3. Select the specific serial interface to use. This list of available interfaces will look different on every platform you run Agent on, and it will update automatically if you attach or detach devices such as USB Serial devices. Since we attached the Hexy using OTG in the last step it should show up in the list. Select it and click "Onward" button in the bottom to continue.
  4. Select serial interface
  5. Select the protocol to use over this interface. Currently there is only one protocol available "Hexy Servotor32 2.1". Click "Onward" button in the bottom to continue.
  6. Select protocol
  7. Give the selected serial interface its settings such as baud-rate and parity/stop bits. The best settings for the Hexy are as follows:
    1. 9600 Baud
    2. No parity
    3. 1 Stop bit
*NOTE: 9600 baud is a low setting. Once things work well, you can come back and adjust the baud-rate up in steps to get better performance.

Step #6: Pair with Remote

NOTE: Your Agent should already be ready for action! You could at this stage simply set it into autonomous mode (TODO: write up on this), and let it roam free. However you would have no control over it except by running after it and switching of the power or using the UI of the Agent software itself which will soon prove to be tiresome at best.

This section explains how you can connect the OctoMY™Agent to one or more OctoMY™Remotes to give you access to the robot over the network/air.

  1. Continue to the section titled "Getting started with OctoMY™Remote" and follow it until the subtitle "Pairing with OctoMY™Agent".
  2. Now both your Agent and your Remote should be in pairing mode, and if they have access to the internet, they should already have discovered each-other with ease. You will see that the identicon of the Agent will show up in the list of potential peers the screen of the Remote, and the icon of the remote will likewize show up in the list of potential peers on the screen of the Agent.
  3. On the Remote, click the big edit button beside the identicon of the Agent to edit its' trust parameters.
  4. In the trust screen select "Trust" in the dropdown.
  5. Do the same on the Agent for the Remote; click the big edit button beside the identicon of the Remote to edit its' trust parameters and in the trust screen select "Trust" in the drop-down.

Step #7: Control your Agent from the Remote

Now both devices should have assigned the required trust to each-other to let the Remote control the Agent.

  1. In Agent, press "Onward" button in bottom of pairing screen to get back to "face" screen.
  2. In Remote, press "Onward" button in bottom of pairing screen to get back to "running" screen.
  3. In Remote, press the "connect" button to attempt a direct UDP connection between Agent and Remote.
  4. In Agent, select the "accept command" item in the main menu, and select the remote to use.

As soon as a connection is successfully made, the robot will respond blindly to the commands you send to it using the Remote's UI. It's now finallty time to explore the power of OctoMY™!

Step #8: Have some fun

Use the drop-down in the top right of the Remote to select "control mode" and then use the UI in the screen for each respective mode to control the robot in different ways. The list of control options in the latest version of OctoMY™ at the time of writing looks like this:

  • Actuator control: Control the actuators of the robot individually with sliders. Useful for debugging.
  • Pose control: Set, record, arrange and play back poses for the robot.
  • Gait control: Set direction, speed and constraints for the robot in real-time to have it walk by an adaptively generated gait.
  • Path control: Set waypoints on the map and let the robot walk on it's own along the path.
  • Stats display: Show stats for the robot in realtime, including latest values for sensors and GPS etc.
  • Expression control: Manipulate the "face" of the robot. Select what to display on screen of Agent.
  • Speech control: Tell robot what to say. Type in a message, or repeat one of the previously used messages.

Each of the control modes will be documented in it's own section as soon as they mature.

I hope this gettin started guide was useful. Please leave comments below or get in touch if you want to see improvements.

Comments