1#ifndef AGVC_INTERFACE_H
2#define AGVC_INTERFACE_H
7#define INTERFACE_VERSION_MAJOR 0
8#define INTERFACE_VERSION_MINOR 4
9#define INTERFACE_VERSION_PATCH 0
10#define INTERFACE_VERSION (INTERFACE_VERSION_MAJOR * 1000000 + INTERFACE_VERSION_MINOR * 1000 + INTERFACE_VERSION_PATCH)
349 const Header &command_header = {
"99999",
"99999", 1,
"99999" });
363 const Header &command_header = {
"99999",
"99999", 1,
"99999" });
390 int connectWifi(
const std::string &ssid,
const std::string &password);
419 const Header &command_header = {
"99999",
"99999", 1,
"99999" });
535 [[deprecated(
"Since 0.7.0: use sendAutoChargingCommand(const AutoChargingCommand&) instead.")]]
537 const std::string &nav_board_charge_station_id =
"99999");
546 [[deprecated(
"Since 0.7.0: use sendAutoChargingCommand(const AutoChargingCommand&) instead.")]]
554 [[deprecated(
"Since 0.7.0: use getNavInfo() instead.")]]
568 [[deprecated(
"Since 0.7.0: use sendAutoChargingCommand(const AutoChargingCommand&) instead.")]]
570 const std::string &nav_board_charge_station_id =
"99999");
584 [[deprecated(
"Since 0.7.0: use sendAutoChargingCommand(const AutoChargingCommand&) instead.")]]
586 const std::string &leave_board_target_station_id =
"99999");
661 const Header &command_header = {
"99999",
"99999", 1,
"99999" });
672 const Header &command_header = {
"99999",
"99999", 1,
"99999" });
716 int setPriority(
const std::string &name,
const std::string &ip =
"");
806#define AgvcInterface_DECLARES \
807 _FUNC(AgvcInterface, 1, setSystemClock, stamp) \
808 _FUNC(AgvcInterface, 0, getAgvDetails) \
809 _FUNC(AgvcInterface, 0, getRunningInfo) \
810 _FUNC(AgvcInterface, 0, getAgvCurrentPose) \
811 _FUNC(AgvcInterface, 0, getAsyncInterfaceResultStatus) \
812 _FUNC(AgvcInterface, 0, getLaserPointCloud) \
813 _FUNC(AgvcInterface, 0, getAllStations) \
814 _FUNC(AgvcInterface, 1, getAllStationsOfTargetMap, map_header) \
815 _FUNC(AgvcInterface, 1, addStation, station) \
816 _FUNC(AgvcInterface, 1, addStations, stations) \
817 _FUNC(AgvcInterface, 2, addCPStationUseChargingBoard, station_header, dis_station_post) \
818 _FUNC(AgvcInterface, 1, deleteStation, station_header) \
819 _FUNC(AgvcInterface, 1, deleteStations, stations_header) \
820 _FUNC(AgvcInterface, 0, getAllPaths) \
821 _FUNC(AgvcInterface, 1, getAllPathsOfTargetMap, map_header) \
822 _FUNC(AgvcInterface, 0, getCurrentPath) \
823 _FUNC(AgvcInterface, 1, generatePath, path_station) \
824 _FUNC(AgvcInterface, 1, generatePaths, paths_station) \
825 _FUNC(AgvcInterface, 1, deletePath, path_header) \
826 _FUNC(AgvcInterface, 1, deletePaths, paths_header) \
827 _FUNC(AgvcInterface, 0, getMapList) \
828 _FUNC(AgvcInterface, 0, getCurrentMapHeader) \
829 _FUNC(AgvcInterface, 1, getGridMapFromAgv, map_header) \
830 _FUNC(AgvcInterface, 1, getBase64PngMapFromAgv, map_header) \
831 _FUNC(AgvcInterface, 3, previewPngMapFromAgv, map_header, image_width_px, image_height_px) \
832 _FUNC(AgvcInterface, 1, sendGridMapToAgv, map) \
833 _FUNC(AgvcInterface, 1, sendBase64PngMapToAgv, map) \
834 _FUNC(AgvcInterface, 1, saveMap, map_header) \
835 _FUNC(AgvcInterface, 1, switchMap, map_header) \
836 _FUNC(AgvcInterface, 1, deleteMap, map_header) \
837 _FUNC(AgvcInterface, 1, deleteMaps, map_headers) \
838 _FUNC(AgvcInterface, 0, getAllMapVirtualArea) \
839 _FUNC(AgvcInterface, 1, getAllMapVirtualAreaOfTargetMap, map_header) \
840 _FUNC(AgvcInterface, 1, addMapVirtualArea, map_virtual_area) \
841 _FUNC(AgvcInterface, 1, addMapVirtualAreas, map_virtual_areas) \
842 _FUNC(AgvcInterface, 1, deleteMapVirtualArea, virtual_area_header) \
843 _FUNC(AgvcInterface, 1, deleteMapVirtualAreas, virtual_areas_header) \
844 _FUNC(AgvcInterface, 1, getGridMapAllInfo, map_header) \
845 _FUNC(AgvcInterface, 1, getPngMapAllInfo, map_header) \
846 _FUNC(AgvcInterface, 2, setGridMapAllInfo, map_all_info, command_header) \
847 _FUNC(AgvcInterface, 2, setPngMapAllInfo, map_all_info, command_header) \
848 _FUNC(AgvcInterface, 1, deleteMapAllInfo, map_header) \
849 _FUNC(AgvcInterface, 0, getWifiList) \
850 _FUNC(AgvcInterface, 2, connectWifi, ssid, password) \
851 _FUNC(AgvcInterface, 1, enableHotspot, password) \
852 _FUNC(AgvcInterface, 0, getIpAddressList) \
853 _FUNC(AgvcInterface, 2, changeRunningMode, running_mode, command_header) \
854 _FUNC(AgvcInterface, 1, setControlSpeed, speed) \
855 _FUNC(AgvcInterface, 1, setNavGoal, target) \
856 _FUNC(AgvcInterface, 0, getNavInfo) \
857 _FUNC(AgvcInterface, 0, pauseAgvSpeed) \
858 _FUNC(AgvcInterface, 0, resumeAgvSpeed) \
859 _FUNC(AgvcInterface, 0, cancelNavigation) \
860 _FUNC(AgvcInterface, 2, relocation, init_pose, command_header) \
861 _FUNC(AgvcInterface, 0, getAgvControllerParametersFile) \
862 _FUNC(AgvcInterface, 1, setAgvControllerParametersFile, agv_parameters) \
863 _FUNC(AgvcInterface, 0, refreshAgvControllerParametersFile) \
864 _FUNC(AgvcInterface, 0, resetAgvControllerParametersFile) \
865 _FUNC(AgvcInterface, 2, checkPowerAndAutoCharge, check_power_header, nav_board_charge_station_id) \
866 _FUNC(AgvcInterface, 1, setLeaveBoardTargetStation, leave_board_target_station_header) \
867 _FUNC(AgvcInterface, 0, getLeaveBoardTargetStation) \
868 _FUNC(AgvcInterface, 2, forcedAgvToChargingBoard, forced_charge_header, nav_board_charge_station_id) \
869 _FUNC(AgvcInterface, 2, forcedAgvLeaveChargingBoard, forced_leave_header, leave_board_target_station_id) \
870 _FUNC(AgvcInterface, 1, sendAutoChargingCommand, auto_charging_command) \
871 _FUNC(AgvcInterface, 0, getAgvLogMessage) \
872 _FUNC(AgvcInterface, 1, updateSoftware, upgrade_pack_path) \
873 _FUNC(AgvcInterface, 0, getSoftwareVersionList) \
874 _FUNC(AgvcInterface, 1, switchSoftwareVersion, software_version) \
875 _FUNC(AgvcInterface, 1, uninstallSoftware, software_version) \
876 _FUNC(AgvcInterface, 1, updateFirmware, update_firmware) \
877 _FUNC(AgvcInterface, 0, getUpdateFirmwareProcess) \
878 _FUNC(AgvcInterface, 2, startCollectCalibrationData, type, command_header) \
879 _FUNC(AgvcInterface, 2, cancelCollectCalibrationData, type, command_header) \
880 _FUNC(AgvcInterface, 2, startCalibration, type, command_header) \
881 _FUNC(AgvcInterface, 1, getCalibrationProcessInfo, type) \
882 _FUNC(AgvcInterface, 0, restartAgv) \
883 _FUNC(AgvcInterface, 1, setAgvName, agv_name) \
884 _FUNC(AgvcInterface, 2, setPriority, name, ip) \
885 _FUNC(AgvcInterface, 0, releasePriority) \
886 _FUNC(AgvcInterface, 0, scriptPaused) \
887 _FUNC(AgvcInterface, 0, scriptResume) \
888 _FUNC(AgvcInterface, 0, scriptStop) \
889 _FUNC(AgvcInterface, 0, getScriptStatus) \
890 _FUNC(AgvcInterface, 1, setScriptStatus, status) \
891 _FUNC(AgvcInterface, 1, errorCodeDecoder, error_code) \
892 _FUNC(AgvcInterface, 0, getCurrentErrorCodes) \
893 _FUNC(AgvcInterface, 0, soundLightPrompt) \
894 _FUNC(AgvcInterface, 1, isObstacleAhead, detect_distance) \
895 _FUNC(AgvcInterface, 1, getNearestStation, detect_distance)
int updateSoftware(const std::string &upgrade_pack_path)
agv软件升级
StationMark getNearestStation(const double &detect_distance=1.0)
获取指定检测距离范围内的最近站点信息
int deleteStation(const Header &station_header)
删除指定站点(会删除与该站点相关的路径)
AsyncInterfaceResultStatus getAsyncInterfaceResultStatus()
查询异步接口的运行情况,不代表异步接口本身的运行结果
int generatePaths(const std::vector< PathStation > &paths_station)
生成/修改多条路径
int relocation(const Pose2d &init_pose, const Header &command_header={ "99999", "99999", 1, "99999" })
agv重定位
int setScriptStatus(ScriptRuntimeState status)
设置脚本运行状态
int setPriority(const std::string &name, const std::string &ip="")
控制权设置
int setPngMapAllInfo(const MapAllInfo &map_all_info, const Header &command_header={ "99999", "99999", 1, "99999" })
设置Base64格式地图、路径、站点、虚拟区信息
ScriptRuntimeState getScriptStatus()
获取脚本运行状态
int setControlSpeed(const Speed &speed)
控制agv运动
Base64PngMap previewPngMapFromAgv(const Header &map_header, const int &image_width_px=0, const int &image_height_px=0)
获取预览图,可指定预览图的长和宽
int addMapVirtualArea(const MapVirtualArea &map_virtual_area)
添加/修改一个虚拟区域
int setAgvName(const std::string &agv_name)
设置agv的名称
std::vector< PathStation > getAllPaths()
查询当前地图的所有路径信息
int resumeAgvSpeed()
暂停后,恢复agv速度
int enableHotspot(const std::string &password)
开启热点(自动切换到热点模式)
PathStation getCurrentPath()
查询agv当前正在跟踪的路径信息
std::vector< StationMark > getAllStationsOfTargetMap(const Header &map_header)
查询指定地图的所有站点信息
int connectWifi(const std::string &ssid, const std::string &password)
连接到指定WiFi(自动切换到WiFi模式)
int setGridMapAllInfo(const MapAllInfo &map_all_info, const Header &command_header={ "99999", "99999", 1, "99999" })
设置栅格地图、路径、站点、虚拟区信息
std::vector< PathStation > getAllPathsOfTargetMap(const Header &map_header)
查询指定地图的所有路径信息
int switchSoftwareVersion(const std::string &software_version)
切换agv软件版本
std::vector< Point2d > getLaserPointCloud()
查询当前激光点云数据
Base64PngMap getBase64PngMapFromAgv(const Header &map_header)
获取Base64编码的png地图信息
OccupancyGridMap getGridMapFromAgv(const Header &map_header)
获取指定栅格地图信息
int generatePath(const PathStation &path_station)
生成/修改一条路径
int setSystemClock(const std::string &stamp)
设置agv系统时间
int setAgvControllerParametersFile(const std::string &agv_parameters)
设置agv控制器的参数文件
Header getLeaveBoardTargetStation()
获取自动下桩时的目标站点
int sendAutoChargingCommand(const AutoChargingCommand &auto_charging_command)
下发自动充电命令
std::vector< Header > getCurrentErrorCodes()
获取当前的错误码
int setNavGoal(const NavGoalType &target)
向agv发送导航任务
int deleteMapAllInfo(const Header &map_header)
删除指定地图的全部信息(地图数据、站点、路径、虚拟区信息)
std::vector< std::string > getSoftwareVersionList()
获取agv软件版本列表
int pauseAgvSpeed()
暂停agv速度
int releasePriority()
释放控制权
int addStation(const StationMark &station)
添加/修改一个站点
int deleteMaps(const std::vector< Header > &map_headers)
删除多张指定地图
int updateFirmware(const FirmwareUpdateParam &update_firmware)
agv固件更新
int sendGridMapToAgv(const OccupancyGridMap &map)
将栅格地图信息发送给agv
int forcedAgvLeaveChargingBoard(const Header &forced_leave_header={ "99999", "99999", 99999, "99999" }, const std::string &leave_board_target_station_id="99999")
强制下桩
Pose2d getAgvCurrentPose()
查询agv当前位姿
std::vector< std::string > getWifiList()
获取当前扫描到的WiFi列表
std::string errorCodeDecoder(const int &error_code)
错误码查询
std::vector< MapVirtualArea > getAllMapVirtualAreaOfTargetMap(const Header &map_header)
查询目标地图的虚拟区域
Header getCurrentMapHeader()
查询当前agv地图的信息头
std::vector< StationMark > getAllStations()
查询当前地图的所有站点信息
int addMapVirtualAreas(const std::vector< MapVirtualArea > &map_virtual_areas)
添加/修改多个虚拟区域
int sendBase64PngMapToAgv(const Base64PngMap &map)
将Base64编码的Png地图发送给agv
MapAllInfo getGridMapAllInfo(const Header &map_header)
获取指定地图的栅格地图数据、路径、站点、虚拟区信息
std::string getAgvLogMessage()
获取agv运行中的日志信息
std::vector< Header > getMapList()
获取agv所有地图的信息头
FirmwareUpdateProcessInfo getUpdateFirmwareProcess()
获取固件更新过程信息
int setLeaveBoardTargetStation(const Header &leave_board_target_station_header)
设置自动下桩时的目标站点
int uninstallSoftware(const std::string &software_version)
卸载agv软件版本
std::string getAgvControllerParametersFile()
获取agv控制器的参数文件
std::vector< MapVirtualArea > getAllMapVirtualArea()
查询当前地图的虚拟区域
int deletePaths(const std::vector< Header > &paths_header)
删除多条路径
int addStations(const std::vector< StationMark > &stations)
添加/修改多个站点
int deleteStations(const std::vector< Header > &stations_header)
删除多个站点(会删除与站点相关的路径)
int deletePath(const Header &path_header)
删除一条路径
bool isObstacleAhead(const double &detect_distance=1.0)
agv行进方向是否有障碍物
int refreshAgvControllerParametersFile()
修改agv控制器的参数文件后,让agv各节点刷新参数
int deleteMapVirtualAreas(const std::vector< Header > &virtual_areas_header)
删除多个指定虚拟区域
int resetAgvControllerParametersFile()
将agv控制器的参数文件恢复出厂设置
int changeRunningMode(const RunningMode &running_mode, const Header &command_header={ "99999", "99999", 1, "99999" })
: 切换agv模式
int deleteMap(const Header &map_header)
删除一张指定地图
AgvDetails getAgvDetails()
查询当前agv信息
int saveMap(const Header &map_header)
建图完成后,调用该接口保存地图
int startCalibration(const CalibrationType &type, const Header &command_header={ "99999", "99999", 1, "99999" })
开始标定
int cancelNavigation()
取消导航任务
RunningInfo getRunningInfo()
查询当前agv运行信息
int cancelCollectCalibrationData(const CalibrationType &type, const Header &command_header={ "99999", "99999", 1, "99999" })
取消采集数据
CalibrationProcessInfo getCalibrationProcessInfo(const CalibrationType &type)
获取标定信息
int deleteMapVirtualArea(const Header &virtual_area_header)
删除指定虚拟区域
int checkPowerAndAutoCharge(const Header &check_power_header={ "99999", "99999", 99999, "99999" }, const std::string &nav_board_charge_station_id="99999")
检测当前电量,电量低将自动上桩充电
int startCollectCalibrationData(const CalibrationType &type, const Header &command_header={ "99999", "99999", 1, "99999" })
开始采集数据
std::vector< IpAddressInfo > getIpAddressList()
获取本机所有IP地址
int addCPStationUseChargingBoard(const Header &station_header, const double &dis_station_board=1.5)
通过自动识别充电桩位姿来添加充电站点
int forcedAgvToChargingBoard(const Header &forced_charge_header={ "99999", "99999", 99999, "99999" }, const std::string &nav_board_charge_station_id="99999")
强制上桩充电
MapAllInfo getPngMapAllInfo(const Header &map_header)
获取指定地图的Base64地图数据、路径、站点、虚拟区信息
int soundLightPrompt()
寻找agv,自动播放语音并特殊灯光闪烁
NavInfo getNavInfo()
获取当前导航信息
int switchMap(const Header &map_header)
切换指定地图
MapInfo OccupancyGridMap
栅格地图
std::shared_ptr< AgvcInterface > AgvcInterfacePtr
MapInfo Base64PngMap
Base64编码的png地图图片
异步接口运行状态 暂时存在12个异步接口:saveMap, switchMap, changeRunningMode, relocation, sendBase64PngMapToAgv getGrid...
包含当前地图、当前地图上的站点、当前地图上的路径、当前地图上的虚拟区域信息