SLAM Navigation Service Interface
| Function | C++ | Python | C# |
|---|---|---|---|
| Get localization status | ✔ | ✔ | ✔ |
| Get current position | ✔ | ✔ | ✔ |
| Add navigation waypoint | ✔ | ✔ | ✔ |
| Delete waypoint | ✔ | ✔ | ✔ |
| Get available waypoints | ✔ | ✔ | ✔ |
| Navigation control | ✔ | ✔ | ✔ |
| Cancel navigation | ✔ | ✔ | ✔ |
| Get navigation events | ✔ | ✔ | ✔ |
| Get navigation status | ✔ | ✔ | ✔ |
Attention!!!
Map Requirements: Before using navigation interfaces, map files must be created by scanning the environment with LiDAR:
- External LiDAR Mapping: Use a phone or handheld LiDAR device for mapping (Format: PCD point cloud file, Coordinate System: Right-handed system, Z-axis up)
- Ensure the navigation area is completely scanned to generate point cloud information.
Mode Requirements: To start navigation control, the robot mode must be switched to navigation mode. This can be done via the companion controller app or by calling the "Set Control Mode" interface in the "High-Level Motion Service Interfaces" chapter in your program.
Navigation Workflow:
- Robot has no map or map needs changing: Mapping ---> Relocalization Success ---> Create Location ---> Execute Navigation (Location name or Coordinates)
- Robot has current environment map: Relocalization Success ---> Get Locations ---> Create Location (Optional) ---> Execute Navigation (Location name or Coordinates)
Current navigation supports straight-line walking and does not support automatic obstacle avoidance. When creating locations, ensure there are no obstacles on the straight line between two points.
Localization Interfaces
Python Interface
Optional[Dict] get_localization_state()
Function Description
Get localization state.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
| - | - | - | No parameters. |
Return Value
| Type | Description |
|---|---|
Optional[Dict] | Contains the following fields: - success (bool): Whether the acquisition was successful - loc_state (int): Localization state - 0: NORMAL - 1: LACKDATA - 2: LOST |
Call Example
from daystar_sdk.client import RobotClient
# Initialize client
with RobotClient(host='localhost', port=3232) as client:
result = await client.get_localization_state()
if result and result.get('success'):
loc_state = result.get('loc_state')
# ... logic omitted ...
print(f"Localization State: {state_names.get(loc_state, 'Unknown')}")
else:
print(f"Failed to get localization state: {result.get('message') if result else 'Unknown error'}")Optional[Dict] get_current_pose()
Function Description
Get current pose.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
| - | - | - | No parameters. |
Return Value
| Type | Description |
|---|---|
Optional[Dict] | Contains the following fields: - success (bool): Whether the acquisition was successful - message (str): Operation result message - location_pose (Dict): Position and orientation info - position (Dict): Position coordinates {x, y, z} - orientation (Dict): Orientation quaternion |
Call Example
from daystar_sdk.client import RobotClient
# Initialize client
with RobotClient(host='localhost', port=3232) as client:
# Get pose
result = await client.get_current_pose()
if result and result.get('success'):
pose = result.get('location_pose', {})
# ... logic omitted ...
print(f"Current Pose: x={orientation.get('x')}, y={orientation.get('y')}, z={orientation.get('z')}, w={orientation.get('w')}")
else:
print(f"Failed to get pose: {result.get('message') if result else 'Unknown error'}")C# Interface
(bool success, string message) Relocalization(bool autoRelocation, string locationName = null, PoseData locationPose = null, int id = 212, int timeoutMs = 10000)
Function Description
Relocalization.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
autoRelocation | bool | Required | Whether to auto-relocate. |
locationName | string | Optional | Location name. |
locationPose | PoseData | Optional | Location pose. |
id | int | Default: 212 | Request ID. |
timeoutMs | int | Default: 10000 | Timeout (ms). |
Return Value
| Type | Description |
|---|---|
(bool success, string message) | Operation result tuple. |
Call Example
// Call relocalization
var (success, message) = _navigationClient.Relocalization(true);
if (success)
{
Debug.Log($"✓ Relocalization Successful");
}PoseStamped? GetCurrentPose(int id = 207, int timeoutMs = 5000)
Function Description
Get current robot pose (Sync method).
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
id | int | Default: 207 | Request ID. |
timeoutMs | int | Default: 5000 | Timeout (ms). |
Return Value
| Type | Description |
|---|---|
PoseStamped? | Robot current pose information. Returns null on failure. Contains fields: - header (Header): Message header - stamp (string): Timestamp - frame_id (string): Frame ID - pose (Pose3D): Pose info - position (Point3D): Position {x, y, z} - orientation (Quaternion3D): Orientation |
Call Example
var pose = _navigationClient.GetCurrentPose();
if (pose.HasValue)
{
var position = pose.Value.pose.position;
Debug.Log($"Position: ({position.x}, {position.y}, {position.z})");
}(bool success, int loc_state)? GetLocalizationStateSync(int id = 208, int timeoutMs = 5000)
Function Description
Get localization state (Sync method).
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
id | int | Default: 208 | Request ID. |
timeoutMs | int | Default: 5000 | Timeout (ms). |
Return Value
| Type | Description |
|---|---|
(bool success, int loc_state)? | Localization state tuple, contains success flag and state value. Returns null on failure. loc_state values: - 0: NORMAL - 1: LACKDATA - 2: LOST |
Call Example
var result = _navigationClient.GetLocalizationStateSync(208, 5000);
if (result.HasValue)
{
bool success = result.Value.success;
int locState = result.Value.loc_state;
Debug.Log($"Localization State: {locState}");
}C++ Interface
bool getLocalizationState(int &loc_state)
Function Description
Get localization system state.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
loc_state | int & | Required | Returns localization state. |
Return Value
| Type | Description |
|---|---|
bool | true success, false failure. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
if (sysb.connect()) {
int loc_state;
if (sysb.getLocalizationState(loc_state)) {
std::cout << "Localization State: " << loc_state << std::endl;
}
}bool getCurrentPose(Pose ¤t_pose)
Function Description
Get robot current pose.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
current_pose | Pose & | Required | Returns current pose information. |
Return Value
| Type | Description |
|---|---|
bool | true success, false failure. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
if (sysb.connect()) {
Pose current_pose;
if (sysb.getCurrentPose(current_pose)) {
std::cout << "Current Pose: (" << current_pose.position.x << ", " << current_pose.position.y << ", " << current_pose.position.z << ")" << std::endl;
}
}Add Navigation Location
Python Interface
Optional[Dict] add_location(location_name, timeout=30)
Function Description
Add navigation location.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
location_name | str | Required | Location name. |
timeout | int | Default: 30 | Timeout in seconds. |
Return Value
| Type | Description |
|---|---|
Optional[Dict] | Contains the following fields: - success (bool): Whether added successfully - message (str): Operation result message - location_pose (Dict): Location pose info - map_name (str): Map name |
Call Example
from daystar_sdk import WebSocketRobotClient
# Initialize client
with WebSocketRobotClient(host='localhost', port=3232) as client:
add_result = client.add_location("home_position", timeout=30)C# Interface
void AddLocation(string locationName, int timeout = 30, int id = 200)
Function Description
Add current pose as a navigation location.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
locationName | string | Required | Location name. |
timeout | int | Default: 30 | Timeout (seconds). |
id | int | Default: 200 | Request ID. |
Return Value
| Type | Description |
|---|---|
void | No return value. |
Call Example
string locationName = $"Location_{System.DateTime.Now:yyyyMMdd_HHmmss}";
var result = _navigationClient.AddLocation(locationName);
if (result.success)
{
Debug.Log($"Successfully added location '{locationName}'");
}C++ Interface
bool addLocation(const std::string &location_name, int timeout = 30)
Function Description
Add location point.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
location_name | const std::string & | Required | Location name. |
timeout | int | Default: 30 | Timeout (seconds). |
Return Value
| Type | Description |
|---|---|
bool | true success, false failure. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
if (sysb.connect()) {
if (sysb.addLocation("OfficeEntrance", 30)) {
std::cout << "Location 'OfficeEntrance' added successfully" << std::endl;
} else {
std::cerr << "Failed to add location" << std::endl;
}
}Delete Location Interfaces
Python Interface
Optional[Dict] delete_location(location_name)
Function Description
Delete navigation location.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
location_name | str | Required | Name of location to delete. |
Return Value
| Type | Description |
|---|---|
Optional[Dict] | Contains the following fields: - success (bool): Whether deleted successfully - message (str): Operation result message |
Call Example
from daystar_sdk import WebSocketRobotClient
# Initialize client
with WebSocketRobotClient(host='localhost', port=3232) as client:
result = client.delete_location("position")C# Interface
void DeleteLocation(string locationName, int id = 201)
Function Description
Delete specified navigation location.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
locationName | string | Required | Name of location to delete. |
id | int | Default: 201 | Request ID. |
Return Value
| Type | Description |
|---|---|
void | No return value. |
Call Example
_navigationClient.DeleteLocation("location_name");C++ Interface
bool deleteLocation(const std::string &location_name)
Function Description
Delete location point.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
location_name | const std::string & | Required | Location name. |
Return Value
| Type | Description |
|---|---|
bool | true success, false failure. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
if (sysb.connect()) {
if (sysb.deleteLocation("OfficeEntrance")) {
std::cout << "Location 'OfficeEntrance' deleted successfully" << std::endl;
} else {
std::cerr << "Failed to delete location" << std::endl;
}
}Get Available Locations Interfaces
Python Interface
Optional[Dict] get_available_locations()
Function Description
Get existing locations.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
| - | - | - | No parameters. |
Return Value
| Type | Description |
|---|---|
Optional[Dict] | Contains the following fields: - location_names (List[str]): List of location names |
Call Example
from daystar_sdk import WebSocketRobotClient
# Initialize client
with WebSocketRobotClient(host='localhost', port=3232) as client:
result = client.get_available_locations()
location_names = result.get('location_names', [])C# Interface
List<string> GetAvailableLocations(int id = 202, int timeoutMs = 5000)
Function Description
Get all available navigation locations (Sync method, returns list directly).
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
id | int | Default: 202 | Request ID. |
timeoutMs | int | Default: 5000 | Timeout (ms). |
Return Value
| Type | Description |
|---|---|
List<string> | List of location names, returns empty list on failure. |
Call Example
var locations = _navigationClient.GetAvailableLocations();
if (locations.Count > 0)
{
foreach (var loc in locations)
{
Debug.Log($"Location: {loc}");
}
}C++ Interface
bool getAvailableLocations(std::vector<std::string> &location_names, std::vector<Pose> &location_poses)
Function Description
Get all available location points.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
location_names | std::vector<std::string> & | Required | Returns list of location names. |
location_poses | std::vector<Pose> & | Required | Returns list of location poses. |
Return Value
| Type | Description |
|---|---|
bool | true success, false failure. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
if (sysb.connect()) {
std::vector<std::string> names;
std::vector<Pose> poses;
if (sysb.getAvailableLocations(names, poses)) {
std::cout << "Available Locations:" << std::endl;
# ... logic omitted ...
}
}
}Navigation Control Interfaces
Python Interface
Optional[Dict] navigate_to_location(location_name, timeout=60)
Function Description
Navigate to preset location.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
location_name | str | Required | Target location name. |
timeout | int | Default: 60 | Navigation timeout in seconds. |
Return Value
| Type | Description |
|---|---|
Optional[Dict] | Contains the following fields: - success (bool): Whether started successfully - message (str): Operation result message |
Call Example
from daystar_sdk import WebSocketRobotClient
# Initialize client
with WebSocketRobotClient(host='localhost', port=3232) as client:
navigate_result = client.navigate_to_location("home_position", timeout=30)Optional[Dict] navigate_to_xyz(x, y, z, timeout=60, frame_id="map")
Function Description
Navigate to specified coordinates.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
x | float | Required | x coordinate. |
y | float | Required | y coordinate. |
z | float | Required | z coordinate. |
timeout | int | Default: 60 | Navigation timeout in seconds. |
frame_id | str | Default: "map" | Frame ID. |
Return Value
| Type | Description |
|---|---|
Optional[Dict] | Contains the following fields: - success (bool): Whether started successfully - message (str): Operation result message |
Call Example
from daystar_sdk import WebSocketRobotClient
# Initialize client
with WebSocketRobotClient(host='localhost', port=3232) as client:
navigate_result = client.navigate_to_xyz(x=5.0, y=3.0, z=0.0, timeout=30)C# Interface
void NavigateToLocation(string locationName, int timeout = 60, int id = 203)
Function Description
Navigate to preset location point.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
locationName | string | Required | Target location name. |
timeout | int | Default: 60 | Navigation timeout (seconds). |
id | int | Default: 203 | Request ID. |
Return Value
| Type | Description |
|---|---|
void | No return value. |
Call Example
_navigationClient.NavigateToLocation("location_name");void NavigateToPosition(float x, float y, float z, int timeout = 60, string frameId = "map", int id = 205)
Function Description
Navigate to specified coordinate position (XYZ).
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
x | float | Required | x coordinate. |
y | float | Required | y coordinate. |
z | float | Required | z coordinate. |
timeout | int | Default: 60 | Navigation timeout (seconds). |
frameId | string | Default: "map" | Frame ID. |
id | int | Default: 205 | Request ID. |
Return Value
| Type | Description |
|---|---|
void | No return value. |
Call Example
_navigationClient.NavigateToPosition(1.0f, 0.0f, 0.0f);C++ Interface
bool navigateToLocation(const std::string &location_name, int timeout = 60)
Function Description
Navigate to specified location point.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
location_name | const std::string & | Required | Target location name. |
timeout | int | Default: 60 | Timeout (seconds). |
Return Value
| Type | Description |
|---|---|
bool | true success, false failure. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
if (sysb.connect()) {
if (sysb.navigateToLocation("OfficeEntrance", 60)) {
std::cout << "Started navigation to 'OfficeEntrance'" << std::endl;
} else {
std::cerr << "Navigation start failed" << std::endl;
}
}bool navigateToPosition(const PoseStamped &target_pose, int timeout = 60)
Function Description
Navigate to specified pose.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
target_pose | const PoseStamped & | Required | Target pose. |
timeout | int | Default: 60 | Timeout (seconds). |
Return Value
| Type | Description |
|---|---|
bool | true success, false failure. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
if (sysb.connect()) {
// Create target pose
auto target_pose = sysb.createPose(5.0f, 3.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, "map");
if (sysb.navigateToPosition(target_pose, 60)) {
std::cout << "Started navigation to specified pose" << std::endl;
} else {
std::cerr << "Navigation start failed" << std::endl;
}
}Cancel Navigation Control
Python Interface
Optional[Dict] cancel_navigation(task_id="")
Function Description
Cancel navigation control.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
task_id | str | Default: "" | Task ID, empty string indicates cancelling the current task. |
Return Value
| Type | Description |
|---|---|
Optional[Dict] | Contains the following fields: - success (bool): Whether cancelled successfully - message (str): Operation result message |
Call Example
from daystar_sdk import WebSocketRobotClient
# Initialize client
with WebSocketRobotClient(host='localhost', port=3232) as client:
result = await client.cancel_navigation()
if result and result.get('success'):
print(f"Navigation cancelled successfully: {result.get('message')}")
else:
print(f"Failed to cancel navigation: {result.get('message') if result else 'Unknown error'}")C# Interface
void CancelNavigation(string taskId = "", int id = 206)
Function Description
Cancel current navigation task.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
taskId | string | Default: "" | Task ID, empty string indicates cancelling the current task. |
id | int | Default: 206 | Request ID. |
Return Value
| Type | Description |
|---|---|
void | No return value. |
Call Example
_navigationClient.CancelNavigation();C++ Interface
bool cancelNavigation(const std::string &task_id = "")
Function Description
Cancel current navigation task.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
task_id | const std::string & | Default: "" | Task ID (empty string indicates cancelling the current task). |
Return Value
| Type | Description |
|---|---|
bool | true success, false failure. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
if (sysb.connect()) {
// Start navigation
sysb.navigateToLocation("OfficeEntrance");
// ... logic omitted ...
}
}Get Navigation Events Interfaces
Python Interface
bool register_navigation_result(callback)
Function Description
Register navigation result event callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
callback | function | Required | Callback function, must receive 2 arguments: - result_type (str): Result type ("complete" |
Return Value
| Type | Description |
|---|---|
bool | Returns True on success, False on failure. |
Event Data Example
{
"location_name": "Target Point A",
// ... logic omitted ...
"task_id": "nav_task_001"
}Call Example
from daystar_sdk import WebSocketRobotClient
# Initialize client
with WebSocketRobotClient(host='localhost', port=3232) as client:
# Define navigation result callback
# ... logic omitted ...
success = await client.register_navigation_result(on_navigation_result)bool unregister_navigation_result()
Function Description
Unregister navigation result callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
| - | - | - | No parameters. |
Return Value
| Type | Description |
|---|---|
bool | Returns True on success, False on failure. |
bool register_navigation_feedback(callback)
Function Description
Register navigation feedback status callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
callback | function | Required | Callback function, receives 1 argument: - data (Dict): Navigation feedback data |
Return Value
| Type | Description |
|---|---|
bool | Returns True on success, False on failure. |
Feedback Data Example
{
"status": "navigating",
// ... logic omitted ...
"timestamp": 1693632001.456
}Status Type Description
navigating: Navigatingpaused: Navigation pausedidle: Idleplanning: Path planningrecovering: Recovering
Call Example
from daystar_sdk import WebSocketRobotClient
# Initialize client
with WebSocketRobotClient(host='localhost', port=3232) as client:
# Define navigation feedback callback
# ... logic omitted ...
success = await client.register_navigation_feedback(on_navigation_feedback)bool unregister_navigation_feedback()
Function Description
Unregister navigation feedback callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
| - | - | - | No parameters. |
Return Value
| Type | Description |
|---|---|
bool | Returns True on success, False on failure. |
C# Interface
bool RegisterNavigationResultCallback(Action<string, object> callback)
Function Description
Register navigation result event callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
callback | Action<string, object> | Required | Callback function, receives 2 arguments: - result (string): Result type (e.g. "complete", "failed") - data (object): Event data |
Return Value
| Type | Description |
|---|---|
bool | Returns true on success, false on failure. |
Call Example
_navigationClient.RegisterNavigationResultCallback((result, data) =>
{
Debug.Log($"Navigation Result: {result}, Data: {data}");
});bool UnregisterNavigationResultCallback()
Function Description
Unregister navigation result callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
| - | - | - | No parameters. |
Return Value
| Type | Description |
|---|---|
bool | Returns true on success, false on failure. |
Call Example
_navigationClient.UnregisterNavigationResultCallback();bool RegisterNavigationFeedbackCallback(Action<object> callback)
Function Description
Register navigation feedback status callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
callback | Action<object> | Required | Callback function, receives 1 argument: - feedback (object): Navigation feedback data |
Return Value
| Type | Description |
|---|---|
bool | Returns true on success, false on failure. |
Call Example
_navigationClient.RegisterNavigationFeedbackCallback((feedback) =>
{
if (feedback is string jsonString)
// ... logic omitted ...
}
});bool UnregisterNavigationFeedbackCallback()
Function Description
Unregister navigation feedback callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
| - | - | - | No parameters. |
Return Value
| Type | Description |
|---|---|
bool | Returns true on success, false on failure. |
Call Example
_navigationClient.UnregisterNavigationFeedbackCallback();C++ Interface
void setNavigationResultCallback(std::function<void(const std::string &, const std::string &)> callback)
Function Description
Set navigation result callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
callback | std::function<void(const std::string &, const std::string &)> | Required | Callback function, receives 2 arguments: - task_id (std::string): Task ID - result (std::string): Navigation result data (JSON string) |
Return Value
| Type | Description |
|---|---|
void | No return value. |
bool registerNavigationResult()
Function Description
Register navigation result event.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
| - | - | - | No parameters. |
Return Value
| Type | Description |
|---|---|
bool | Returns true on success, otherwise false. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
// Set navigation result callback
sysb.setNavigationResultCallback([](const std::string &task_id, const std::string &result) {
std::cout << "Navigation task " << task_id << " result: " << result << std::endl;
});
if (sysb.connect()) {
sysb.registerNavigationResult();
sysb.navigateToLocation("OfficeEntrance");
}void setNavigationFeedbackCallback(std::function<void(const std::string &)> callback)
Function Description
Set navigation feedback callback.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
callback | std::function<void(const std::string &)> | Required | Callback function, receives 1 argument: - feedback (std::string): Navigation feedback data (JSON string) |
Return Value
| Type | Description |
|---|---|
void | No return value. |
bool registerNavigationFeedback()
Function Description
Register navigation feedback event.
Parameter Description
| Parameter Name | Type | Required/Default | Description |
|---|---|---|---|
| - | - | - | No parameters. |
Return Value
| Type | Description |
|---|---|
bool | Returns true on success, otherwise false. |
Call Example
Lenovo::Daystar::SDK sdk;
auto &sysb = sdk.getSYSB();
// Set navigation feedback callback
sysb.setNavigationFeedbackCallback([](const std::string &feedback) {
std::cout << "Navigation feedback: " << feedback << std::endl;
});
if (sysb.connect()) {
sysb.registerNavigationFeedback();
sysb.navigateToLocation("OfficeEntrance");
}