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

相关推荐
阿部多瑞 ABU29 分钟前
新帝国殖民主义:文化-情感-金融复合体的当代运作机制
大数据·人工智能·金融
thesky12345636 分钟前
27届大模型岗面试准备(三):位置编码全景——从绝对编码到 RoPE/ALiBi 的演进与手推
人工智能·ai·大模型
动恰客流统计1 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
小小仙子2 小时前
矢量网络分析仪如何测试S参数的?
人工智能·算法·机器学习
IT_陈寒2 小时前
SpringBoot这个分页坑,我踩了三天才爬出来
前端·人工智能·后端
颜酱2 小时前
05 | 召回前置准备:根据业务数据库生成各数据库(读取配置阶段)
前端·人工智能·后端
Infedium2 小时前
英特物理AI仿真赋能制造!打破传统有限元瓶颈,研发提效降本翻倍
人工智能·制造
天国梦3 小时前
2026英语教学系统选型实战:AI如何让备课效率提升42%?天学网技术落地全解析
人工智能·学习
hqyjzsb3 小时前
AI证书和传统证书有什么区别?
人工智能·金融·数据挖掘·数据分析·aigc·创业创新·学习方法