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 szConnectInfo[BUFFER_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);//释放机器人控制权

相关推荐
点云SLAM1 天前
Qt+PCL手把手教材(第11讲)——PCL库PCLVisualizer点云可视化以及与 VTK 交互器(Interactor)详解和代码示例
人工智能·交互·3d数据可视化·pcl点云库·qt+pcl·pclvisualizer使用·vkt
码与农1 天前
硬件控制器是如何实现与ros2_control交互的
人工智能·机器人·自动驾驶
搬砖者(视觉算法工程师)1 天前
世界动作模型(WAM)的泛化能力是否优于视觉语言动作模型(VLA)?
人工智能
AI营销先锋1 天前
AI营销SaaS榜单评测:原圈科技如何助力品牌客户破局增长?
大数据·人工智能
AI服务老曹1 天前
GB28181 与 RTSP 深度解析:企业级 AI 视频中台的全协议接入架构
人工智能·架构·音视频
居然JuRan1 天前
AI时代工程师真正在做的事,不是写代码
人工智能
flyfox1 天前
OpenClaw(龙虾) Skills 实战开发指南
人工智能·python·源码
用户5191495848451 天前
Rust命令注入漏洞演示工具 (CVE-2024-24576)
人工智能·aigc
心痛的小鱼1 天前
OpenClaw 本地部署避坑指南:从 VPS 迁移到废旧笔记本
人工智能
AI探路者1 天前
深入理解AI Agent架构:从理论到MCP协议实践
人工智能