Skip to content

Movement

shai herman edited this page Dec 12, 2019 · 20 revisions

Overview

Movement control or in the case of the SDK manual movement control, is essentially a set of methods used in temi's telepresence that allow the user to manually control temi's movement. These movements are explained in further details below.

Applications

  1. To manually move temi using the joystick functionalities use the method skidJoy().
  2. To turn by by a specific degree use the method turnBy().
  3. To tilt temi's head to a specific angle use the method tiltAngle().
  4. To tilt temi's head to by a specific degree use the method tiltBy().
  5. To stop all movement use the method stopMovement()

Methods

Below are the details regarding the movement methods you can use from SDK.

◆ Joystick

com.robotemi.sdk.Robot.skidJoy ( float  x
float  y
)
void

Use this method to manually navigate temi on its' axis in a similat fashion to the way it's done in the video call

Parameters
x float value of distance to cover on temi's x axis. The range of values is from 1-(-)1, where 1 is a complete step forward and -1 is complete step backwards on the axis.
y float value of distance to cover on temi's y axis. The range of values is from 1-(-)1, where 1 is a complete step forward and -1 is complete step backwards on the axis.
Returns
  • void object
  • Exceptions
    RemoteException Failed to skidJoy()
    Notes
  • Use the graph below to better understand temi's axis.
  • It's best to use the values 1 and -1 as since values in between will not be noticeable to the untrained eye.
  • It's recommended to give a buffer of at least 500 milliseconds between each command for the best outcome.
  • Backwards speed is lower than forward's since there are less sensors and we want to reduce the risk of damage.
  • Examples
  • Forward - robot.skidJoy(1,0) for how long as you want it to move forward
  • Left - robot.skidJoy(0,1) until the robot is facing the direction you want it to move to and then send the

  • ◆ Turn By

    com.robotemi.sdk.Robot.turnBy ( int  degrees ) void

    Use this method to manually turn temi's body by a certain degree.

    Parameters
    degrees int value of the degrees you want to temi's body to turn.
    Returns
  • void object
  • Exceptions
    RemoteException Failed to start turnBy()
    Notes
  • To turn left use positive degrees, to turn right use negative degrees

  • ◆ Tilt Angle

    com.robotemi.sdk.Robot.tiltAngle ( int  degrees ) void

    Use this method to manually tilt temi's head to a certain degree.

    Parameters
    degrees int value of the degrees you want to temi's head to tilt to.
    Returns
  • void object
  • Exceptions
    RemoteException Failed to start tiltAngle()
    Notes
  • Take into account that the tilt range is from -25 degrees which means temi is looking all the way down until +55 degrees which means it's looking all the way up.
  • 0 degrees means temi is looking straight ahead

  • ◆ Tilt By

    com.robotemi.sdk.Robot.tiltBy ( int  degrees ) void

    Use this method to manually tilt temi's head by a certain degree.

    Parameters
    degrees int value of the amount of degrees you want to tilt by.
    Returns
  • void object
  • Exceptions
    RemoteException Failed to start tiltBy()
    Notes
  • Take into account that the tilt range is from -25 degrees which means temi is looking all the way down until +55 degrees which means it's looking all the way up.
  • 0 degrees means temi is looking straight ahead
  • It's recommended to use this method to make small tilt adjustments and not big ones, if you want temi to make bigger adjustments use tiltAngle() instead.

  • ◆ Stop Movement

    com.robotemi.sdk.Robot.stopMovement ( ) void

    Use this method to manually stop temi from moving.

    Returns
  • void object
  • Exceptions
    RemoteException Failed to start stopMovement()
    Notes
  • Use this method to abort any of the actions taken by the methods above.
  • Use this method to stop go to navigation commands as well.

  • Listeners

    Below are the details regarding how to listen for movement changes.

    ◆ Add Go To Location Listener

    com.robotemi.sdk.Robot.addOnGoToLocationStatusChangedListener ( OnGoToLocationStatusChangedListener  listener
    )
    void

    Use this method to listen for go to navigation status changes, while temi is navigating to a specific location

    Parameters
    listener A listener object of type OnGoToLocationStatusChangedListener that contains a void method onGoToLocationStatusChanged(String location, String status, int descriptionId, String description) which contains information regarding temi's navigation to a location
    Returns
    void object.
    Notes
  • See OnGoToLocationStatusChangedListener for more information on the different navigation statuses

  • ◆ Remove Go To Location Listener

    com.robotemi.sdk.Robot.removeOnGoToLocationStatusChangedListener ( OnGoToLocationStatusChangedListener  listener
    )
    void

    Use this method to remove a specific listener for go to navigation changes

    Parameters
    listener The OnGoToLocationStatusChangedListener that you wish to remove from the list of go to listeners registered
    Returns
    void object.
    Clone this wiki locally