首页> 中国专利> 一种基于安卓的机器人开放式运动控制系统及方法

一种基于安卓的机器人开放式运动控制系统及方法

摘要

本发明涉及一种基于安卓的机器人开放式运动控制系统及方法,所述系统包括所述控制器功能模块,用于获取指定轴的角速度与角位移信息,并根据所述指定轴的角速度与角位移信息进行轨迹规划、多轴协调及反馈调节;所述可视化功能模块,用于通过拖拽方式生成用户应用并搭建辅助应用模块;所述辅助应用模块,用于配置系统参数以及进行控制器功能测试。本发明提供的基于安卓的机器人开放式运动控制系统,降低了机器人控制器的功耗。

著录项

  • 公开/公告号CN112987685A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 武汉理工大学;

    申请/专利号CN202110159033.0

  • 发明设计人 陈国良;朱艳军;

    申请日2021-02-05

  • 分类号G05B23/02(20060101);

  • 代理机构42231 武汉智嘉联合知识产权代理事务所(普通合伙);

  • 代理人易贤卫

  • 地址 430070 湖北省武汉市洪山区珞狮路122号

  • 入库时间 2023-06-19 11:29:13

说明书

技术领域

本发明涉及机器人运动控制技术领域,尤其涉及一种基于安卓的机器人开放式运动控制系统及方法。

背景技术

现有的大型运动控制器大多都是基于PC开发,由于Linux的开源特性以及对硬件要求不高,也有许多基于RTLinux开发的小型运动控制器;安卓系统同样立足于Linux内核,并且所要求的硬件配置较高,能够满足运动控制对实时运算的要求,然而以PC设备的机器人运动控制系统功耗较高,不利于控制平台的小型化;使用安卓系统的CPU架构以ARM为主,其采用RISC指令集,与以X86架构为主的PC设备相比功耗更低,有利于机器人控制器小型化。

发明内容

有鉴于此,有必要提供了一种基于安卓的机器人开放式运动控制系统及方法,用以解决现有机器人控制器功耗较高的技术问题。

本发明提供了一种基于安卓的机器人开放式运动控制系统,包括控制器功能模块、可视化功能模块及辅助应用模块;

所述控制器功能模块,用于获取指定轴的角速度与角位移信息,并根据所述指定轴的角速度与角位移信息进行轨迹规划、多轴协调及反馈调节;所述可视化功能模块,用于通过拖拽方式生成用户应用并搭建辅助应用模块;所述辅助应用模块,用于配置系统参数以及进行控制器功能测试。

进一步地,所述控制器功能模块包括参数配置单元、初始化单元、IO控制单元,所述参数配置单元用于进行参数配置,所述初始化单元用于对控制器进行初始化,所述运动单元用于进行轨迹规划、多轴协调、反馈调节,所述IO控制单元用于控制输入及输出。

进一步地,所述控制器功能模块还包括错误提示单元,所述错误提示单元用于在JNI层将错误信息字符串传递给回调的java方法,在运行的应用界面中通过Toast方式打印错误提示信息。

进一步地,所述控制器功能模块还包括信息读取单元及运动单元,所述信息读取单元用于读取指定轴的角速度与角位移信息,所述运动单元用于根据所述指定轴的角速度与角位移信息进行轨迹规划、多轴协调及反馈调节。

进一步地,所述控制器功能模块还包括实时任务单元,所述实时任务单元用于生成安卓实时调度类,通过所述安卓实时调度类进行实时调度。

进一步地,所述所述控制器功能模块还包括通信单元、网络单元、传感器单元,所述网络单元用于为通信单元提供网络,所述传感器单元用于采集指定轴的角速度与角位移信息,所述通信单元用于将所述指定轴的角速度与角位移信息上传至信息读取单元。

进一步地,所述参数配置模块、初始化单元、运动单元、IO控制单元、错误提示单元、信息读取单元共享同一个JNI层动态链接库,并在应用层中申明native方法,与JNI层定义的native方法形成映射关系。

进一步地,所述辅助应用模块进行控制器功能测试,具体包括:进行运动测试、IO控制测试、通信测试、网络测试、信息读取测试、错误提示测试、传感器测试及实时任务测试。

本发明提供了一种基于安卓的机器人开放式运动控制方法,包括以下步骤:获取指定轴的角速度与角位移信息,并根据所述指定轴的角速度与角位移信息进行轨迹规划、多轴协调及反馈调节;拖拽方式生成用户应用并搭建辅助应用模块,利用所述辅助应用模块配置系统参数以及进行控制器功能测试。

与现有技术相比,本发明的有益效果包括:通过所述控制器功能模块获取指定轴的角速度与角位移信息,并根据所述指定轴的角速度与角位移信息进行轨迹规划、多轴协调及反馈调节;通过所述可视化功能模块于通过拖拽方式生成用户应用并搭建辅助应用模块;通过所述辅助应用模块配置系统参数以及进行控制器功能测试;通过基于安卓的机器人开放式运动控制系统,降低了机器人控制器的功耗。

附图说明

图1为本发明提供的基于安卓的机器人开放式运动控制系统的结构框图;

图2为本发明提供的基于安卓的机器人开放式运动控制系统的结构原理图;

图3为本发明提供的基于安卓的机器人开放式运动控制方法的流程示意图。

具体实施方式

下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。

实施例1

本发明实施例提供了一种基于安卓的机器人开放式运动控制系统,其结构框图,如图1所示,所述方法包括控制器功能模块1、可视化功能模块2及辅助应用模块3;

所述控制器功能模块1,用于获取指定轴的角速度与角位移信息,并根据所述指定轴的角速度与角位移信息进行轨迹规划、多轴协调及反馈调节;所述可视化功能模块2,用于通过拖拽方式生成用户应用并搭建辅助应用模块;所述辅助应用模块3,用于配置系统参数以及进行控制器功能测试。

优选的,所述控制器功能模块包括参数配置单元、初始化单元、IO控制单元,所述参数配置单元用于进行参数配置,所述初始化单元用于对控制器进行初始化,所述运动单元用于进行轨迹规划、多轴协调、反馈调节,所述IO控制单元用于控制输入及输出。

需要说明的是,所述控制器功能模块中参数配置单元、初始化单元、运动单元、IO控制单元、错误提示单元、信息读取单元依赖安卓JNI层的算法实现,共享同一个JNI层动态链接库,并在应用层中申明native方法,与JNI层定义的native方法形成映射关系;并定义有内核驱动接口访问路径与操作方法;所述可视化功能模块用于以积木式编程并通过拖拽方式生成用户应用。

一个具体实施例中,所述系统还包括JAR开发包,所述JAR开发包可供在安卓Studio、Eclipse等基于IDE的开发工具下的APP使用;所述JAR开发包是由所述控制器功能模块在Android IDE下生成,并包含所依赖的JNI动态库加载路径。

优选的,所述控制器功能模块还包括错误提示单元,所述错误提示单元用于在JNI层将错误信息字符串传递给回调的java方法,在运行的应用界面中通过Toast方式打印错误提示信息。

优选的,所述控制器功能模块还包括信息读取单元及运动单元,所述信息读取单元用于读取指定轴的角速度与角位移信息,所述运动单元用于根据所述指定轴的角速度与角位移信息进行轨迹规划、多轴协调及反馈调节。

优选的,所述控制器功能模块还包括实时任务单元,所述实时任务单元用于生成安卓实时调度类,通过所述安卓实时调度类进行实时调度。

一个具体实施例中,实时任务单元用于生成实现安卓实时调度类,实时任务单元具有本地动态链接库;在具有实时内核或支持EDF、LLF等实时调度内核的安卓系统中,通过引用本地实时动态链接库可以使用实时任务模块中的实时调度类。

优选的,所述所述控制器功能模块还包括通信单元、网络单元、传感器单元,所述网络单元用于为通信单元提供网络,所述传感器单元用于采集指定轴的角速度与角位移信息,所述通信单元用于将所述指定轴的角速度与角位移信息上传至信息读取单元。

需要说明的是,所述网络单元、传感器单元在安卓系统中具有良好的应用支持,不必再添加JNI层依赖,它们是在应用层实现相关功能的Java类;

一个具体实施例中,引入控制器功能模块生成的JAR包,在APP Inventor源码中使用JAR包中提供的类成员编写对应的java组件,编译源码生成对应外部组件;在APPInventor工具中引用外部组件,得到控制器功能模块对应的可视化功能模块;

优选的,所述参数配置模块、初始化单元、运动单元、IO控制单元、错误提示单元、信息读取单元共享同一个JNI层动态链接库,并在应用层中申明native方法,与JNI层定义的native方法形成映射关系。

需要说明的是,参数配置模块提供的配置参数是保存在SharedPreference中,参数配置模块中提供有从SharedPreference中读取配置参数并传入JNI层的可视化功能模块,用户APP(应用)可以利用辅助应用模块中配置好的参数数据。

优选的,所述辅助应用模块进行控制器功能测试,具体包括:进行运动测试、IO控制测试、通信测试、网络测试、信息读取测试、错误提示测试、传感器测试及实时任务测试。

一个具体实施例中,定义GPIO、PWM、编码器反馈脉冲读取等驱动接口的路径以及操作方法,实现所述控制器功能模块的JNI层依赖,生成运动控制相关动态链接库、串口通信动态链接库、实时任务动态链接库;以Android Library形式实现所述各功能模块,将所述控制功能模块在IDE下编译生成JAR压缩包,并将部分模块在APP Inventor源码中编译生成包含可视化块的外部组件;所述辅助应用模块完全在APP Inventor工具中开发,对于简单的用户APP可以使用可视化块编辑,而对于包含实时任务的复杂应用,由于APP Inventor的局限性,利用JAR包编写用户APP。

另一个具体实施例中,所述基于安卓的机器人开放式运动控制系统的结构原理图,如图2所示;使用ARM架构处理器以缩小控制器体积,所述通信单元中包括USB与基于串口通信的MAX232与MAX485通信;处理器外围具有扩展的内存单元,以流畅运行Android系统;传感器单元包含Android系统支持的内置传感器类型,选择带相应传感器的Android设备可以更好地应用于运动控制;Android设备带有触摸显示屏,便于所述辅助APP、用户APP的调试和运行;图中运动控制电路包括编码器反馈信号处理电路、功率放大后的脉冲输出和IO控制电路、信号隔离等;

将所述参数配置模块在APP Inventor源码中结合Android SharedPreference机制保存配置参数,所述参数配置模块实现有从相应SharedPreference读取配置参数并传入JNI层的方法;在具体的Android控制器设备中,要使用开放式控制功能,首先要在Android内核实现与所述Android驱动接口对应的设备路径与操作方法,然后下载辅助APP测试使用到的控制器功能模块,在确保所述各功能模块能正确在Android设备上运行后,针对具体应用设计用户APP。

实施例2

本发明实施例提供了一种基于安卓的机器人开放式运动控制方法,包括以下步骤:S1、获取指定轴的角速度与角位移信息,并根据所述指定轴的角速度与角位移信息进行轨迹规划、多轴协调及反馈调节;S2、拖拽方式生成用户应用并搭建辅助应用模块;S3、利用所述辅助应用模块配置系统参数以及进行控制器功能测试。

本发明提供了一种基于安卓的机器人开放式运动控制系统及方法,通过所述控制器功能模块获取指定轴的角速度与角位移信息,并根据所述指定轴的角速度与角位移信息进行轨迹规划、多轴协调及反馈调节;通过所述可视化功能模块于通过拖拽方式生成用户应用并搭建辅助应用模块;通过所述辅助应用模块配置系统参数以及进行控制器功能测试;通过基于安卓的机器人开放式运动控制系统,降低了机器人控制器的功耗,同时,有利于机器人控制器小型化。本发明所述技术方案可以应用于不同的Android设备;使用可视化功能块简化了应用程序编程,适用于不懂Android的开发人员,辅助应用模块不仅为Android设备提供了简单的测试功能,还为用户应用提供了配置界面,简化了用户应用设计过程。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号