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

相关推荐
说私域30 分钟前
开源 AI 智能名片 S2B2C 商城小程序源码:C 端用户连接的创新策略与价值
人工智能·开源
云飞云共享云桌面1 小时前
制造企业上云桌面需要考虑那些因素?
linux·运维·服务器·人工智能·制造
唐天下文化1 小时前
2024年科技赋能教育,AI辅导引领新趋势
人工智能·科技
花落随风轻飘舞1 小时前
下载相应版本的PyTorch
人工智能·pytorch·python
云卓科技1 小时前
无人机之巡航控制篇
科技·安全·机器人·无人机·制造
正点原子2 小时前
《DNK210 使用指南 -CanMV 版 V1.0》第二十一章 machine.UART类实验
人工智能·产品
量子位2 小时前
机器人世界模型,TeleAI 用少量数据完成训练 | NeurIPS 2024
android·人工智能
新智元2 小时前
AI 翻译界杀手诞生!阿里国际翻译大模型吊打谷歌和 GPT-4
人工智能
微凉的衣柜2 小时前
Liquid AI与液态神经网络:超越Transformer的大模型架构探索
人工智能·神经网络·transformer
清流君2 小时前
【自动驾驶】控制算法(十二)横纵向综合控制 | 从理论到实战全面解析
人工智能·笔记·matlab·自动驾驶·运动控制·carsim