开放型机器人控制器6-(数据接口)

数据接口

一 概述

前面介绍了指令层面的内容,从本篇开始,准备介绍下怎么使用班特开放控制器平台的数据接口,这样就可以把自己的任务和控制卡内部的数据关联起来。

二 实现过程

我们在之前的介绍中已经提到,控制卡开放给客户5个任务,在user.c里面,其中第一个任务Task_user_1的执行频率最高,是100ms一次。因此,我们可以将数据获取的接口放在这个任务里面更新,具体代码为:

void Task_user_1(void)

{

    static int i = 0;

    Bant_get_vars(user_pos);

   

    if(i%2 == 0)

    {

        //心跳指示

        //bsp_LedToggle(1);

        bsp_LedToggle(2);

    }

    i++;

}

其中,变量user_pos是一个含有3个元素的数组,分别代表xyz的位置,单位是mm

Bant_get_vars()函数就是控制器交付数据的接口,可以向外提供TCP的坐标。

三 结果测试

首先运行控制器,欢迎信息如下:

welcome to Bant Robot control: ver=10,bdtime=20240530

please select the mode S07 1 for simulation,S07 0 for run with motor

chip ID:32 aa 20 aa 9 47 33 31 31 34 38 31 auth=0

记住chip ID号,发送给授权人员,来开通使用权限,注意红色的auth部分,如果为0表示尚未激活,是无法使用的。

3.1 设置仿真模式S07 1

3.2 进入控制模式S04

此时,可以在调试窗口加入user_pos

可以看到,一开始位置是0

图1 起始位置

3.3 开始直线插补运动M02 -1000 3000 0 0 0 0 0

这个时候,机器人开始运动,并且数据窗口开始刷新变化

图2 直线运动过程中

过了一段时间,机器停止运动,可以用Q02指令来查看结果

robot_state = RO_STAND_STILL

sim_mode = 1

tick = 367

path=-10.000,30.000,0.000,-0.000

joint=-900.000,2700.000,0.000,0.000

vmax_lin=20.000,acc_lin=10.000,vmax_ang=20.000,acc_ang=10.000

结果表明,机器人已经运行到笛卡尔坐标10mm和30mm处,此时的位置窗口也刷新了。

图3 运动结束

好了,数据接口暂时介绍这么多,更多内容,后续添加。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值