github robotemi/sdk v1.129.0
Version 1.129.0

latest releases: v1.137.1, v1.136.0, v1.135.1...
3 years ago

Released on August 10, 2022.
Compatibile with temi 129 Launcher, minimum version 16892.

129 temi Launcher and 1.129.0 SDK introduce the following changes.

Important changes

  1. 129 version only applies to temi V3 robot.
  2. temi V3 robot under 129 version must be paid as PRO plan to use 3rd party application integrated with temi SDK.
  3. Update the versioning format from 0.10.xx to 1.129.0, aligning with temi software 129 version.
  4. Update gradle script to include source and javadoc. Integration with SDK becomes easier, you can read method doc inside the package from IDE.
  5. Kiosk permission change requires 129 launcher and works with apps complied with previous SDK. All the rest changes will require both 129 launcher and SDK to be used.

New API

  1. setTtsVoice() and getTtsVoice(), for the 129 new feature to change TTS voice gender, speech and pitch. Settings permision required. (Ths feature is not available for Chinese Version temi)
  2. isStandByOn(), setStandBy() and stopStandBy(), to control standBy state of temi. Settings permision required.
  3. Multi-Floor support
    • setMultiFloorEnabled(enabled: Boolean) to turn ON/OFF multi-floor feature, requires Settings and Map permission.
    • isMultiFloorEnabled() to check multi-floor feature status.
    • getCurrentFloor(), return Floor object with floor id, name, map id, and locations, requires Map permission.
    • getAllFloors() return all floors, requires Map permission.
    • loadFloor() load a floor with floorId and postion of target floor. This floor id must come from getAllFloors() API, requires Map permission.
    • OnLoadFloorStatusChangedListener will provide floor switching callbacks.

Permission changes

Most APIs will no longer require Kiosk permission. i.e. Your app doesn't need to be the selected home page application to call the method.

APIs that still require Kiosk permission are

  • shutdown()
  • restart()
  • publishTtsStatus()
  • startDefaultNlu()

All the rest won't require Kiosk permission, but still need permissions like Sequence, Face if appliable.

New return value

  1. Return an UUID String for loadMap() and loadMapWithPosition(), which will be received in onLoadMapStatusChanged during map loading.
  2. Under greet mode, ContactModel in OnFaceRecognizedListener and OnContinuousFaceRecognizedListener will return tracked visitors, with infomation of UUID, age, gender, and similarity. It will benefit when tracking unregistered user, as the UUID for the same person is expected to identical across multiple greet mode recognition sessions. The stranger pool size is up to 200, will be cleared on robot boot, or midnight if greet mode is OFF.
  3. onGoToLocationStatusChanged will provide more information about Abort status in the field of description, giving more explain to descriptionId 1003, 1004, 1005 and 1006.

The full list of abort and calculating is

ID Description
500 "Complete"
0 "Abort General"
1003 "Abort no movement"
1004 "Abort timeout"
1005 "Abort by user"
1006 "Abort out of map bounds"
1060 "Path Plan"
2000 "Obstacle"
2001 "Ground Obstacle"
2002 "Hight Obstacle"
2003 "Lidar Obstacle"
2004 "Front Obstacle"
2005 "Back Obstacle"
2006 "Abyss Obstacle"
2007 "Virtual Wall Obstacle"
2008 "Cliff Detected"
2009 "Stuck Wheel"
1020- 1050 "Calculating"
5000- 5021 "Calculating"
10007 "Going"
- "Unknown"

New overload parameter

  1. loadMap() and loadMapWithPosition() can take the parameters offline: Boolean and withoutUI: Boolean.
    • set offline = true will skip the network request for pending map update check from temi cloud service, and load local cached map directly, default as false
    • set withoutUI = true will not show the blocking UI while loading map, it is then the responsibility of app to protect unwanted operations during loading map, default as false.
  2. TtsRequest can take new constructor parameter cached, if cached = true, the synthesized TTS will be saved in an LruCache and can be used offline when requested next time, the cache size is 10MB for each package, one short TTS is about 100KB in size. This will benefit if there are constantly spoken sentences, e.g. from strings.xml, further tts requests can be used offline, and immediately spoken. The default value for cached is false.

Bug fix

  1. Fix robot would go to coordinate (0, 0) when location sent in Robot.goTo() is invalid.
  2. Fix navigation safety value medium is returned as high from Robot.navigationSafety.

Sample

  1. SDK sample app is updated to better show frequently changed callback data.

Don't miss a new sdk release

NewReleases is sending notifications on new releases.