Overview
AGVC SDK provides a complete set of interfaces for controlling and managing AGV systems. Applications can communicate with AGV controllers through the AGVC API entry points to perform map management, path planning, motion control, charging, system status monitoring, and other operations.
Contents
- Quick Start
- SDK Architecture
- Usage Examples
- Namespace
- Error Handling
- Deprecated List
- Supported Programming Languages
Quick Start
Basic Workflow
auto rpc = std::make_shared<agvc_interface::RpcClient>();
rpc->setRequestTimeout(100);
rpc->connect("192.168.192.100", 30104);
rpc->login("aa", "bb");
rpc->getAgvDetails();
rpc->getLaserPointCloud();
SDK Architecture
Module Structure
AGVC_API (main entry)
├── Map
├── Station
├── Path
├── Navigation
├── Charging
├── AgvInfo
└── System
Usage Examples
Get Robot Details
auto rpc = std::make_shared<agvc_interface::RpcClient>();
rpc->setRequestTimeout(100);
rpc->connect("192.168.192.100", 30104);
rpc->login("aa", "bb");
auto agv_details = rpc->getAgvDetails();
Create a Map
rpc->setPriority("aa", "");
header.
id =
"123sdaw-asdafas-zff";
auto ret = rpc->changeRunningMode(mode, header);
{
change_running_mode_status = rpc->getAsyncInterfaceResultStatus().change_running_mode_status.status;
std::this_thread::sleep_for(std::chrono::milliseconds(10));
}
ret = rpc->changeRunningMode(mode, header);
if (ret == 10100000) {
std::cout << "Mapping mode switched successfully";
} else {
std::cout << "Failed to switch mapping mode, error code: " << ret;
}
FeedbackStatus ChangeRunningModeStatus
切换运行模式异步接口状态,调用接口 changeRunningMode 后的状态
异步接口运行状态 暂时存在14个异步接口:saveMap, switchMap, changeRunningMode, relocation, sendBase64PngMapToAgv getGrid...
ChangeModeWorkingStatus change_running_mode_status
切换运行模式(changeRunningMode)接口的执行状态
ChangeRunningModeStatus status
接口changeRunningMode的运行状态 NONE -接口未执行 RUNNING-执行中,FINISH-执行结束
Save a Map
rpc->setPriority("aa", "");
map_header.
id =
"test_save_map";
map_header.
name =
"test1";
auto ret = rpc->saveMap(map_header);
{
save_map_status = rpc->getAsyncInterfaceResultStatus().save_map_status.status;
std::this_thread::sleep_for(std::chrono::milliseconds(10));
}
ret = rpc->saveMap(map_header);
if (ret == 10100000) {
std::cout << "Map saved successfully";
} else {
std::cout << "Failed to save map, error code: " << ret;
}
SaveMapWorkingStatus save_map_status
保存地图(saveMap)接口的执行状态
SaveMapStatus status
接口SaveMap的运行状态,NONE -接口未执行 RUNNING-执行中,FINISH-执行结束
Namespace
All interfaces are defined in the following namespace:
Error Handling
Most interface methods return integer error codes. 10100000 indicates success, while other values indicate specific errors that can be queried through the error-code interface. Some interfaces may throw AuboException exceptions.
Deprecated List
For deprecated APIs and fields, see Deprecated List.
Supported Programming Languages
Related Files