HIKROBOT_SDK_text1——机器人控制权

1.切换示教员,然后在示教器释放掉控制权
2.连接机器人代码
复制代码
#include <memory>
#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "MP_Public_API.h"

int main()
{
    int64_t llRet = MP_SUCCESS;

    // Create Handle
    void * pHandle = MP_CreateHandle();
    if (nullptr == pHandle)
    {
        printf("Create Handle fail!\n");
    }
    else
    {
        printf("Create Handle Success!\n");
        do
        {
            // Connect Controller Wth IP Address
            char szConnectInfo[BUFFER_LEN_32] = { "127.0.0.1:9000" };
            //请查看通讯管理中的IP,并改为Socket通讯
            llRet = MP_ConnectCtrlWithIP(pHandle, szConnectInfo);
            if (MP_SUCCESS != llRet)
            {
                printf("Connect Ctrl With IP fail! llRet [0x%x]\n", llRet);
                MP_DestroyHandle(pHandle);
                break;
            }
            printf("Connect Controller With IP Success!\n");

            Sleep(500);

            // Request Control Access
            llRet = MP_RequestControlAccess(pHandle);
            if (MP_SUCCESS != llRet)
            {
                printf("Request Control Access fail! llRet [0x%x]\n", llRet);
                MP_DestroyHandle(pHandle);
                break;
            }
            printf("Request Control Access Success!\n");

            // Disconnect Controller
            llRet = MP_DisConnectCTRL(pHandle);
            if (MP_SUCCESS != llRet)
            {
                printf("Disconnect Ctrl With IP fail! llRet [0x%x]\n", llRet);
                MP_DestroyHandle(pHandle);
                break;
            }
            printf("Disconnect Ctrl With IP Success!\n");

            // Destroy Handle
            llRet = MP_DestroyHandle(pHandle);
            if (MP_SUCCESS != llRet)
            {
                printf("Destroy Handle fail! llRet [0x%x]\n", llRet);
                break;
            }
            printf("Destroy Handle  Success!\n");

        } while (false);

    }
    system("pause");

    return 0;
}
3.各部分讲解

int64_t llRet = MP_SUCCESS;//用于各部分的标志位执行判断
void* pHandle = MP_CreateHandle();//创建连接句柄
char szConnectInfoBUFFER_LEN_32 = { "192.168.3.64:9000" };

llRet = MP_ConnectCtrlWithIP(pHandle, szConnectInfo);//连接机器人
llRet = MP_RequestControlAccess(pHandle);//请求机器人控制权
llRet = MP_DisConnectCTRL(pHandle);//断开机器人控制器
llRet = MP_DestroyHandle(pHandle);//销毁机器人句柄
llRet = MP_ReleaseControlAccess(pHandle);//释放机器人控制权

相关推荐
爱敲代码的小黄19 小时前
神经网络入门指南:从 CNN、RNN 到 Attention
人工智能·面试·程序员
一只爱撸猫的程序猿20 小时前
我看着一个 AI 引擎在 14 天里,从"记忆"走进了"搜索"
人工智能·后端·架构
我登哥MVP21 小时前
DeepSeek-Harness-Super-Agent-学习笔记
人工智能·深度学习·神经网络·机器学习·自然语言处理·agent
LucianaiB21 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
冬奇Lab1 天前
一天一个开源项目(第256篇):Anatomy —— 让 Claude 为技术概念「发明一台机器」,画成可交互的等距插画
人工智能·开源
孟郎郎1 天前
打造一切(Craft Anything)——克隆构造世间万物
人工智能·ai·github·软件构建·开源软件
Martina_03211 天前
AI生成3D场景的霓虹灯一开就糊成光团?用6步检查Emissive、Bloom与曝光
人工智能·3d·ai·自然语言处理·游戏引擎·材质·贴图
master3361 天前
AI领域常用名词的系统梳理
人工智能·ai
Spidermanbaout1 天前
Prompt-Engineering实战-2026年11月2日
人工智能·机器学习·ai·chatgpt·ai编程