Skip to content

Locations_chn

zjn0505 edited this page Dec 2, 2024 · 42 revisions

导航与地图

地点

关于位置地点,主要有两个部分。第一个是地点位置管理,第二个是地点位置导航。 SDK提供了允许开发者同时处理两个部分的一些方法接口。地点位置管理部分可以让你通过保存、删除、获取以及监听地点列表变化来管理控制地点;而地点位置导航则可以让temi前往到其中的某一个地点并监听导航过程中的状态信息变化。

地图

地图是以下数据集合:

  • ROBOX 处理后的地图雷达数据
  • 地图元素,包括地点,导航路径,虚拟墙
  • 地图图片,通过地图雷达数据提取出来的用于展示的图片数据

地图可以被加载,切换,备份,以及缓存。

地图 Id

地图的 id 在不同场景下的意义不同。

当指代算法端的地图时,如 MapDataModel,则 map id 是指算法端根据地图数据算出的唯一值。这一 id 只在算法端有意义,被用于区别不同的扫描出来的地图,没有其它用途。

当指代用户地图时,如用户想要加载地图,则需要使用 MapModel 中的 id。这一种 id 是由 temi 的云端服务创建,在用户备份地图到云端时生成。因此可被用于获取已保存的地图列表,并且可用于加载指定的地图。

地图缓存

当用户在 UI 上或通过 SDK 导入、导出(备份)地图时,整个地图数据的集合都会被缓存在本地,供下次快速加载使用。加载存在备份的地图时,可以省略掉从云端下载地图数据的过程。从 129 版本起,还加入了 loadMapToCache 及强制使用缓存数据,离线加载地图的接口。

Local map backup.

从 131 版本开始,配合 SDK 1.131.3,。应用可以将当前地图备份至本地,也可以将本地的地图加载至 temi。整个过程可以在离线状态下进行,不需要访问 temi 的云端服务。

请访问 本地地图备份 页面查看更多介绍.

多楼层

从 129 版本起,我们在 SDK 中为开发者提供了开启多楼层(Multifloor)功能的方法。多楼层功能将有助于处于专属场景及复杂地图切换任务下的 temi 工作与使用。当通过 SDK 启动多楼层功能之后即可使用相关接口,同时一个功能更强的多楼层地图编辑器也会在设置中出现,替代原有的单楼层地图编辑器。

每一个楼层 (Floor) 都包含一张独立的地图,拥有一张地图的所有属性,并可以对楼层地图单独操作。如:建地图、重建地图、替换为其它地图,导入导出,以及多楼层专属的复制地图等功能。对一个楼层地图的操作不会影响其它楼层的地图。

所有的楼层及其地图数据集合都是存储于机器人本地,所以可以离线切换。只有删除楼层之后,才会清除掉本地存储的地图数据。


API 概览

返回值 方法 说明
boolean saveLocation(String location) 保存地点
boolean deleteLocation(String location) 删除地点
List<String> getLocations() 获取所有已保存的地点
void goTo() 让 temi 前往某个指定地点
void goToPosition() 让 temi 前往某个位置(坐标)
MapDataModel getMapData() 获取地图数据
void repose(Position position) 重定位
List<MapModel> getMapList() 获取已备份的地图列表
String loadMap(String mapId) 通过地图 ID 加载地图
String loadMap(String mapId, boolean reposeRequired, Position position, boolean offline, boolean withoutUI) 在指定的位置坐标上通过地图 ID 来加载地图
boolean setMultiFloorEnabled(boolean enabled) 开启/关闭多楼层功能
boolean isMultiFloorEnabled() 检查多楼层功能开关状态
Floor getCurrentFloor() 获取当前楼层数据
List<Floor> getAllFloors() 获取所有楼层数据
void loadFloor(int floorId, Position position) 加载指定楼层
Position getPosition() 获取当前位置
int resetMap() 重置地图
int finishMapping() 完成地图绘制
int updateMapName() 更新地图名称
int continueMapping() 继续绘制地图
int upsertMapLayer() 更新地图元素
int deleteMapLayer() 删除地图元素
接口 说明
OnLocationsUpdatedListener 地点变化监听器
OnGoToLocationStatusChangedListener go to 地点(位置坐标)时的状态变化监听器
OnDistanceToLocationChangedListener 当前位置坐标到其他已保存地点的距离变化监听器
OnCurrentPositionChangedListener 当前位置坐标变化监听器
OnReposeStatusChangedListener 重定位状态变化监听器
OnLoadMapStatusChangedListener 加载地图过程中状态变化监听器
OnDistanceToDestinationChangedListener 到目的地剩余导航距离变化监听器
OnLoadFloorStatusChangedListener 楼层切换状态监听器
OnRobotDragStateChangedListener 机器人非移动状态下被拖拽的监听器
OnGoToNavPathChangedListener 机器人导航规划路径监听器
模型 说明
Position 位置坐标
MapDataModel 地图数据
MapImage 地图图片数据
Floor 楼层数据

方法

saveLocation()

用这个方法来给temi保存一个新地点。将temi带到你想要保存的地点,并给这个地点起个名字,系统将会自动提取当前的位置坐标并传入到保存地点的请求中。

  • 参数

    参数 类型 说明
    location String 你要保存的地点名称
  • 返回值

    类型 说明
    boolean truefalse)表示保存地点成功(失败)
  • 原型

    boolean saveLocation(String location);
  • 所需权限

    无。

  • 最小支持版本

    0.10.36


deleteLocation()

用这个方法来删除一个已保存的地点。

  • 参数

    参数 类型 说明
    location String 你要删除的地点名称
  • 返回值

    类型 说明
    boolean truefalse)表示删除地点成功(失败)
  • 原型

    boolean deleteLocation(String location);
  • 所需权限

    无。

  • 最小支持版本

    0.10.44


getLocations()

用这个方法来获取已保存的地点。

  • 返回值

    类型 说明
    List<String> 地点集合
  • 原型

    List<String> getLocations();
  • 所需权限

    无。

  • 最小支持版本

    0.10.36


goTo()

用这个方法来让 temi 前往一个已保存的地点。

  • 参数

    参数 类型 说明
    location String 目的地点名称,返回充电时,要使用home base作为 location 的值,充电桩home base用于 UI 展示时的名称
    backwards boolean 传入 true 让 temi 倒着前往目的地。默认值为 false 。最小支持版本为 0.10.80。
    noByPass boolean 传入 true 将不允许在 go-to 过程中绕过障碍物。传入 null 将遵循系统中的设置 设置 -> 导航。最小支持版本为 0.10.80。
    speedLevel SpeedLevel 此次 go-to 的最大运行速度。传入 null 将遵循系统中的设置的速度 设置 -> 导航。最小支持版本为 0.10.80。
    highAccuracyArrival boolean 传入 true 将严格控制本次移动的坐标和水平角度到更精准的位置。最小支持版本为 1.135.1。配合 135 版本 Launcher
    noRotationAtEnd boolean 传入 true 将取消到达地点后的水平角度旋转。最小支持版本为 1.135.1。配合 135 版本 Launcher
  • 原型

    void goTo(String location, boolean backwards, boolean noBypass, SpeedLevel speedLevel, boolean highAccuracyArrival, boolean noRotationAtEnd);
  • 所需权限

    无。

  • 最小支持版本

    0.10.36


goToPosition()

用这个方法来让 temi 前往一个指定的位置坐标。

  • 参数

    参数 类型 说明
    position Position 目的位置坐标。在此方法中,忽略其 tiltAngle 属性。Position 的 yaw 值传入 999 可以取消到达后的旋转
    backwards boolean 传入 true 让 temi 倒着前往目的地。默认值为 false 。最小支持版本为 0.10.80。
    noByPass boolean 传入 true 将不允许在 go-to 过程中绕过障碍物。传入 null 将遵循系统中的设置 设置 -> 导航。最小支持版本为 0.10.80。
    speedLevel SpeedLevel 此次 go-to 的最大运行速度。传入 null 将遵循系统中的设置的速度 设置 -> 导航。最小支持版本为 0.10.80。
    highAccuracyArrival boolean 传入 true 将严格控制本次移动的坐标和水平角度到更精准的位置。最小支持版本为 1.135.1。配合 135 版本 Launcher
  • 原型

    void goToPosition(Position position, boolean backwards, boolean noBypass, SpeedLevel speedLevel, boolean highAccuracyArrival);
  • 所需权限

    无。

  • 最小支持版本

    0.10.70


getMapData()

用这个方法来获取地图数据。

目前(0.10.70)该方法仅支持较小的地图,我们将在下一版本中支持较大的地图
(已在版本0.10.71中修复)

0.10.74 中新增虚拟墙、导览路径、地点数据。

  • 返回值

    类型 说明
    MapDataModel 地图数据
  • 原型

    MapDataModel getMapData();
  • 所需权限

    地图

  • 最小支持版本

    0.10.70

  • 注意

    这个方法是耗时操作,建议在非主线程中使用。可参考示例代码


repose()

用这个方法来让 temi 在丢失自己位置(例如由被抬起、拖动等造成)后进行重定位。

  • 参数

    参数 类型 说明
    position Position 134 版本加入,可选, 默认为 null。手动指定重定位的位置
  • 原型

    void repose(Position position);
  • 所需权限

    无。

  • 最小支持版本

    0.10.72


getMapList()

用这个方法来获取已备份的地图列表。

  • 返回值

    类型 说明
    List<MapModel> 地图列表
  • 原型

    List<MapModel> getMapList();
  • 所需权限

    MAP

  • 最小支持版本

    0.10.74


loadMap()

用这个方法来加载地图。

  • 参数

    参数 类型 说明
    mapId String 地图 ID, 从MapModel中读取
  • 返回值

    类型 说明
    String 请求 id, UUID格式, 如 538b44c9-fdcf-426a-9693-d72e9c0f9550. 可用于 onLoadMapStatusChanged 回调。添加于 129 版本,此前无返回值
  • 原型

    String loadMap(String mapId);
  • 所需权限

    MAP

  • 最小支持版本

    0.10.74


loadMap()

用这个方法来在指定的位置坐标上通过地图 ID 来加载地图。

仅 mapId 为必传参数,其它参数可选,并且有默认值。

  • 参数

    参数 类型 说明
    mapId String 地图 ID, 从MapModel中读取
    reposeRequired boolean 地图加载完成后是否需要做重定位, 默认为 false
    position Position 指定从哪个位置(目标地图上的坐标)加载目标地图,默认为null,则从目标地图的充电桩位置加载地图
    offline boolean 强制使用本地缓存加载目标地图,默认为 false. 添加于 129 版本。
    withoutUI boolean 不显示全屏阻塞加载地图 UI,默认为 false. 添加于 129 版本。
  • 返回值

    类型 说明
    String 请求 id, UUID格式, 如 538b44c9-fdcf-426a-9693-d72e9c0f9550. 可用于 onLoadMapStatusChanged 回调。添加于 129 版本,此前无返回值
  • 原型

    String loadMap(String mapId, boolean reposeRequired, Position position);
  • 所需权限

    MAP

  • 最小支持版本

    0.10.76


setMultiFloorEnabled()

开启/关闭多楼层功能

  • 参数

    参数 类型 说明
    enabled boolean true 开启,false 关闭
  • 返回值

    类型 说明
    boolean true 操作成功,false 操作失败
  • 原型

     boolean setMultiFloorEnabled(boolean enabled);
  • 所需权限

    MAP, SETTINGS

  • 最小支持版本

    1.129.0


isMultiFloorEnabled()

检查多楼层功能开关状态

  • 返回值

    类型 说明
    boolean true 已开启,false 未开启,null Robot 服务尚未初始化
  • 原型

     boolean isMultiFloorEnabled();
  • 所需权限

    无。

  • 最小支持版本

    1.129.0


getCurrentFloor()

获取当前楼层数据

  • 返回值

    类型 说明
    Floor 当前楼层数据, 如果为 null,表示服务未初始化,缺少权限,或没有楼层数据
  • 原型

      Floor getCurrentFloor();
  • 所需权限

    MAP

  • 最小支持版本

    1.129.0


getAllFloors()

获取所有楼层数据

  • 返回值

    类型 说明
    List<Floor> 所有楼层数据, 如果为空列表,表示服务未初始化,缺少权限,或没有楼层数据
  • 原型

      List<Floor> getAllFloors();
  • 所需权限

    MAP

  • 最小支持版本

    1.129.0


loadFloor()

加载指定楼层

  • 参数

    参数 类型 说明
    floorId int 楼层 id
    position Position 目标楼层地图的地图加载位置
  • 原型

      void loadFloor(int floorId, Position position);
  • 所需权限

    MAP

  • 最小支持版本

    1.129.0


getPosition()

获取当前位置

  • 返回值

    类型 说明
    Position 当前位置信息,获取失败会返回 Position(0, 0, 0, 0)
  • 原型

      Position getPosition();
  • 所需权限

  • 最小支持版本

    1.133.0


resetMap()

重置当前地图,或重置所有楼层的地图

  • 参数

    参数 类型 说明
    allFloor boolean 所有楼层
  • 返回值

    类型 说明
    int 0 不支持,200 成功,400 无效操作,403 需要权限,408 超时
  • 原型

      int resetMap(boolean allFloor);
  • 所需权限

    MAP

  • 最小支持版本

    1.134.0


finishMapping()

完成地图绘制,锁定地图

  • 参数

    参数 类型 说明
    mapName String 地图名称,可选,默认为 null
  • 返回值

    类型 说明
    int 0 不支持,200 成功,304 地图已经处于锁定状态,400 无效操作,403 需要权限,408 超时
  • 原型

      int finishMapping(String mapName);
  • 所需权限

    MAP

  • 最小支持版本

    1.134.0


updateMapName()

更改当前地图名称

  • 参数

    参数 类型 说明
    mapName String 地图名称
  • 返回值

    类型 说明
    int 0 不支持,200 成功,400 无效操作,403 需要权限,429 操作过于频繁,等待 2s
  • 原型

      int updateMapName(String mapName);
  • 所需权限

    MAP

  • 最小支持版本

    1.134.0


continueMapping()

继续绘制地图,解锁地图

  • 返回值

    类型 说明
    int 0 不支持,200 成功,304 地图已经处于解锁状态,400 无效操作,403 需要权限,408 超时,429 操作过于频繁,等待 5s
  • 原型

      int continueMapping();
  • 所需权限

    MAP

  • 最小支持版本

    1.134.0


upsertMapLayer()

更新地图元素,如果 layerId 已存在则更新当前图层,否则会创建新的图层。。

  • 参数

    参数 类型 说明
    layer Layer 地图元素
  • 返回值

    类型 说明
    int 0 不支持,200 成功,400 无效操作,403 需要权限,413 传入的点超出地图范围
  • 原型

      int upsertMapLayer(Layer layer);
  • 所需权限

    MAP

  • 最小支持版本

    1.134.0


deleteMapLayer()

删除地图元素,只支持删除 Green path 和 Virtual wall.

  • 参数

    参数 类型 说明
    layerId String 地图元素id
    layerCategory int 地图元素类型
  • 返回值

    类型 说明
    int 0 不支持,200 成功,400 无效操作,403 需要权限,404 传入的图层不存在
  • 原型

      int deleteMapLayer(String layerId, int LayerCategory);
  • 所需权限

    MAP

  • 最小支持版本

    1.134.0


接口

OnLocationsUpdatedListener

在你的上下文中实现这个监听器接口,并重写接口中的方法以获取每次地点更新后的地点列表。

原型

package com.robotemi.sdk.listeners;

interface OnLocationsUpdatedListener {}

抽象方法

  • 参数

    参数 类型 说明
    locations List<String> 所有已保存的地点集合
  • 原型

    abstract void onLocationsUpdated(List<String> locations)

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnLocationsUpdatedListener 实现了这个接口的类的实例
  • 原型

    void addOnLocationsUpdatedListener(OnLocationsUpdatedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnLocationsUpdatedListener 实现了这个接口的类的实例
  • 原型

    void removeOnLocationsUpdatedListener(OnLocationsUpdatedListener listener);
  • 最小支持版本

    0.10.36


OnGoToLocationStatusChangedListener

在你的上下文中实现这个监听器接口,并重写接口中的方法以获取 go to 地点过程中的状态信息。

原型

package com.robotemi.sdk.listeners;

interface OnGoToLocationStatusChangedListener {}

静态常量

常量 类型 说明
START String "start" 导航开始
CALCULATING String "calculating" 正在规划前往目的地的路线
GOING String "going" 路线规划完成并正在前往目的地点
COMPLETE String "complete" 到达目的地点
ABORT String "abort" 导航终止
REPOSING String "reposing" 导航过程中的重定位

抽象方法

  • 参数

    参数 类型 说明
    location String 目的地点
    status String 导航状态
    descriptionId int 状态描述的数字代码
    description String 状态描述,一般用于描述障碍物信息
  • DescriptionId 对应内容

    DescriptionId 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"
    10008 "Path Planing" // 134 版本新增
    10009 "Docking" // 134 版本新增
    - "Unknown"
  • 原型

    void onGoToLocationStatusChanged(String location, String status, int descriptionId, String description);

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnGoToLocationStatusChangedListener 实现了这个接口的类的实例
  • 原型

    void addOnGoToLocationStatusChangedListener(OnGoToLocationStatusChangedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnGoToLocationStatusChangedListener 实现了这个接口的类的实例
  • 原型

    void removeOnGoToLocationStatusChangedListener(OnGoToLocationStatusChangedListener listener);
  • 最小支持版本

    0.10.36


OnDistanceToLocationChangedListener

在你的上下文中实现这个监听器接口,并重写接口中的方法以获取当前位置距离其他已保存地点的直线距离。

原型

package com.robotemi.sdk.navigation.listener;

interface OnDistanceToLocationChangedListener {}

抽象方法

  • 参数

    参数 类型 说明
    distances Map<String, Float> keyString 类型的地点名,valueFloat 类型的距离的键值对集合。
  • 原型

    void onDistanceToLocationChanged(Map<String, Float> distances);

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnDistanceToLocationChangedListener 实现了这个接口的类的实例
  • 原型

    void addOnDistanceToLocationChangedListener(OnDistanceToLocationChangedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnDistanceToLocationChangedListener 实现了这个接口的类的实例
  • 原型

    void removeOnDistanceToLocationChangedListener(OnDistanceToLocationChangedListener listener);
  • 最小支持版本

    0.10.70


OnCurrentPositionChangedListener

在你的上下文中实现这个监听器接口,并重写接口中的方法以获取当前位置坐标信息。

原型

package com.robotemi.sdk.navigation.listener;

interface OnCurrentPositionChangedListener {}

抽象方法

  • 参数

    参数 类型 说明
    position Position 当前位置坐标信息
  • 原型

    void onCurrentPositionChanged(Position position);

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnCurrentPositionChangedListener 实现了这个接口的类的实例
  • 原型

    void addOnCurrentPositionChangedListener(OnCurrentPositionChangedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnCurrentPositionChangedListener 实现了这个接口的类的实例
  • 原型

    void removeOnCurrentPositionChangedListener(OnCurrentPositionChangedListener listener);
  • 最小支持版本

    0.10.70


OnReposeStatusChangedListener

在你的上下文中实现这个监听器接口,并重写接口中的方法以监听重定位时的状态变化。

原型

package com.robotemi.sdk.navigation.listener;

interface OnReposeStatusChangedListener {}

静态常量

这里的常量均为重定位状态。

常量 类型 说明
IDLE int 0 空闲
REPOSE_REQUIRED int 1 准备重定位
REPOSING_START int 2 重定位开始
REPOSING_GOING int 3 重定位进行中
REPOSING_COMPLETE int 4 完成重定位
REPOSING_OBSTACLE_DETECTED int 5 检测到障碍物
REPOSING_ABORT int 6 重定位中断

抽象方法

  • 参数

    参数 类型 说明
    status int 重定位状态
    description String 状态描述
  • 原型

    void onReposeStatusChanged(int status, String description);

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnReposeStatusChangedListener 实现了这个接口的类的实例
  • 原型

    void addOnReposeStatusChangedListener(OnReposeStatusChangedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnReposeStatusChangedListener 实现了这个接口的类的实例
  • 原型

    void removeOnReposeStatusChangedListener(OnReposeStatusChangedListener listener);
  • 最小支持版本

    0.10.72


OnLoadMapStatusChangedListener

在你的上下文中实现这个监听器接口,并重写接口中的方法以监听加载地图过程中的状态变化。

原型

package com.robotemi.sdk.map;

interface OnLoadMapStatusChangedListener {}

静态常量

这里的常量均为地图加载的状态。

常量 类型 说明
COMPLETE int 0 完成
START int 1 开始
ERROR_UNKNOWN int 1000 未知错误
ERROR_ABORT_FROM_ROBOX int 2000 Robox 中断加载
ERROR_ABORT_ON_NOT_CHARGING int 2001 未在充电桩上加载
ERROR_ABORT_BUSY int 2002 正在执行其他不可打断的任务
ERROR_ABORT_ON_TIMEOUT int 3000 加载超时
ERROR_PB_STREAM_FILE_INVALID int 4000 地图文件不可用
ERROR_GET_MAP_DATA int 5000 从远端获取地图数据出错

抽象方法

  • 参数

    参数 类型 说明
    status int 加载状态
  • 原型

    void onLoadMapStatusChanged(int status);

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnLoadMapStatusChangedListener 实现了这个接口的类的实例
  • 原型

    void addOnLoadMapStatusChangedListener(OnLoadMapStatusChangedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnLoadMapStatusChangedListener 实现了这个接口的类的实例
  • 原型

    void removeOnLoadMapStatusChangedListener(OnLoadMapStatusChangedListener listener);
  • 最小支持版本

    0.10.74


OnDistanceToDestinationChangedListener

在你的上下文中实现这个监听器接口,并重写接口中的方法以获取当距离目的地的剩余导航路径。

原型

package com.robotemi.sdk.navigation.listener;

interface OnDistanceToDestinationChangedListener {}

抽象方法

  • 参数

    参数 类型 说明
    location String 目的地的地点名称
    distance float 到目的地的距离
  • 原型

    void onDistanceToDestinationChanged(location: String, distance: Float);

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnDistanceToDestinationChangedListener 实现了这个接口的类的实例
  • 原型

    void addOnDistanceToDestinationChangedListener(OnDistanceToDestinationChangedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnDistanceToDestinationChangedListener 实现了这个接口的类的实例
  • 原型

    void removeOnDistanceToDestinationChangedListener(OnDistanceToDestinationChangedListener listener);
  • 最小支持版本

    0.10.80


OnLoadFloorStatusChangedListener

在你的上下文中实现这个监听器接口,并重写接口中的方法以获取加载楼层的状态。

原型

package com.robotemi.sdk.map;

interface OnLoadFloorStatusChangedListener {}

抽象方法

  • 参数

    参数 类型 说明
    status int 0 完成
    1 开始
    -1 失败
  • 原型

    void onLoadFloorStatusChanged(int status);

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnLoadFloorStatusChangedListener 实现了这个接口的类的实例
  • 原型

    void addOnLoadFloorStatusChangedListener(OnLoadFloorStatusChangedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnLoadFloorStatusChangedListener 实现了这个接口的类的实例
  • 原型

    void removeOnLoadFloorStatusChangedListener(OnLoadFloorStatusChangedListener listener);
  • 最小支持版本

    1.129.0

OnRobotDragStateChangedListener

机器人不在移动状态时被拖拽产生的回调

原型

package com.robotemi.sdk.listeners;

interface OnRobotDragStateChangedListener {}

抽象方法

  • 参数

    参数 类型 说明
    isDragged Boolean true 正在被拖拽
  • 原型

    void onRobotDragStateChanged(Boolean isDragged);

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnRobotDragStateChangedListener 实现了这个接口的类的实例
  • 原型

    void addOnRobotDragStateChangedListener(OnRobotDragStateChangedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnRobotDragStateChangedListener 实现了这个接口的类的实例
  • 原型

    void removeOnRobotDragStateChangedListener(OnRobotDragStateChangedListener listener);
  • 最小支持版本

    1.130.1

OnGoToNavPathChangedListener

机器人导航时实时规划的路径的回调

原型

package com.robotemi.sdk.listeners;

interface OnGoToNavPathChangedListener {}

抽象方法

  • 参数

    参数 类型 说明
    path List 从机器人当前位置到目的地的导航规划路径
  • 原型

    void onGoToNavPathChanged(List<LayerPose> path);

添加监听器的方法

  • 参数

    参数 类型 说明
    listener OnGoToNavPathChangedListener 实现了这个接口的类的实例
  • 原型

    void addOnGoToNavPathChangedListener(OnGoToNavPathChangedListener listener);

移除监听器的方法

  • 参数

    参数 类型 说明
    listener OnGoToNavPathChangedListener 实现了这个接口的类的实例
  • 原型

    void removeOnGoToNavPathChangedListener(OnGoToNavPathChangedListener listener);
  • 最小支持版本

    1.134.0


模型

Position

用于存放位置地点信息。

原型

package com.robotemi.sdk.navigation.model;

class Position {}

属性

属性 类型 说明
x float 位置坐标 x
y float 位置坐标 y
yaw float 弧度,取值为 [-π, π],传参超出范围会 ± 2π 重新取值。0 表示在充电桩上重置地图时,temi 的朝向
tiltAngle int 头部倾斜角度

MapDataModel

用于存放地图数据。

原型

package com.robotemi.sdk.map;

class MapDataModel {}

属性

属性 类型 说明
mapImage MapImage 地图图片数据
mapId String 地图数据唯一标识,服务于算法引擎,不等同于MapModel 的 id, 后者用于标识地图备份
mapInfo MapInfo 地图信息
virtualWalls List<Layer> 虚拟墙图层集
greenPaths List<Layer> 导航路径图层集
locations List<Layer> 地点图层集
mapName String 当前地图名称(130 版本加入)

MapImage

用于存放地图的图片数据。

原型

package com.robotemi.sdk.map;

class MapImage {}

属性

属性 类型 说明
typeId String -
rows int 地图数据矩阵的行数
cols int 地图数据矩阵的列数
dt String -
data List<Integer> 地图数据矩阵转换成的一维数组

MapInfo

用于存放地图信息数据。

原型

package com.robotemi.sdk.map;

class MapInfo {}

属性

属性 类型 说明
height int
width int
originX float 原点 x 坐标
originY float 原点 y 坐标
resolution float 分辨率

Layer

用于存放地图图层数据。

原型

package com.robotemi.sdk.map;

class Layer {}

属性

属性 类型 说明
layerCreationUTC int 图层创建时间戳
layerCategory int 图层类别
layerId String 图层唯一标识
layerThickness float 图层厚度
layerStatus int 图层状态
layerPoses List<LayerPose> 图层坐标集
layerDirection int 虚拟墙的方向,1.132.1 版本加入。取值 -1,0,1,表示虚拟墙可通过的方向
layerData String 图层数据,1.133.0 版本加入,用于存储地图擦图层数据

LayerPose

用于存放构成地图图层的坐标数据。

原型

package com.robotemi.sdk.map;

class LayerPose {}

属性

属性 类型 说明
x float x 坐标
y float y 坐标
theta float -

MapDataModelKt

原型

package com.robotemi.sdk.map;

class MapDataModelKt {}

静态常量

图层类别
常量 类型 说明
GREEN_PATH int 0 导航路径
VIRTUAL_WALL int 3 虚拟墙
LOCATION int 4 地点
MAP_ERASER int 6 地图擦
图层状态
常量 类型 说明
STATUS_CURRENT int 0 -
STATUS_UPDATE int 1 -
STATUS_ADD_POSE int 2 -
STATUS_DELETE int 3 -

MapModel

用于存放已备份地图列表中的地图信息。

原型

package com.robotemi.sdk.map;

class MapModel {}

属性

属性 类型 说明
id String 地图存储ID,对应于地图备份,可用于加载地图
name String 地图名称

Floor

用于存放楼层信息。

原型

package com.robotemi.sdk.map;

class  Floor {}

属性

属性 类型 说明
id String 楼层 id
name String 楼层名称
mapId String 楼层对应的地图 id, 对应为 MapDataModel 中的 id
locations List 楼层的地点列表
Clone this wiki locally