產品簡介
1.以18自由度仿人雙臂機器人為研究對象,多子系統協調控制算法為核心,結合外部傳感設備,開展機器人自主規劃、協調控制、柔順控制等算法實驗研究。
2.支持c/c++、matlab/simulink、ros等多種開發環境。
3.提供通信接口,無需關心設備通信,專注算法研究。
4.控制器支持自定義修改、所開發算法運行與控制器內,具備1bz及以上通信能力。
5.集成度高,便于與移動機器人集成。
產品特點
2、提供各層次c/c++、matlab/simulink、ros開發環境的二次開發接口
C/C++代碼開發環境:
本控制系統提供了一套用于二次開發的SDK,主要包括控制系統運行必須的動態連接庫、接口頭文件。用戶可以利用這套SDK生成在控制器中運行的應用程序。因此提供的動態鏈接庫必須在控制器中才能正常運行。但可以將其放到裝有ubuntu系統的pc及或虛擬機中開發。如要運行需要將用戶自己開發的庫或可執行程序放到控制器中。
用戶可以將這套SDK添加到自己的開發環境下(c,c++均可),同時可以結合其他第三方功能進行二次開發。用戶可以在ubuntu虛擬機中進行開發,再將動態庫及可執行文件的部署部署到控制器中(可以利用ssh遠程文件拷貝)。用戶可以直接在控制器中直接進行開發,但不建議這么做,因為可能會破壞系統實時性。
本系統提供了一套基于vscode的二次開發工程(c++),但不局限于vscode,可以將SDK中的頭文件及動態庫添加的自己的開發工程下。下面以提供vscode二次開發工程介紹開發工程的組成部分及用法。
用戶可以在系統初始化后添加自己的代碼入口函數。在系統啟動后會進入該函數執行用戶代碼。用戶也可以建立自己的動態鏈接庫,完成功能開發后需要將生產的動態庫及可執行文件拷貝到控制系統中的相應路徑下(動態庫拷貝到“動態庫所在路徑”,可知文件拷貝到“運動控制程序所在路徑”)。
如果用戶不添加任何代碼,所具有的功能為本控制系統提供的功能。用戶的二次開發實際上是在控制系統所提供功能的基礎上增加自定義功能。其中提供了諸多demo程序,供用戶參考使用。
用戶可以利用驅動類接口實現底層算法的開發和驗證,也可以利用運動類接口結合視覺系統實現視覺伺服類應用。
例如io_teach.cpp中使用了驅動類、運動類、示教類接口,實現了利用兩個數字io信號對機器人的個軸進行示教移動操作。代碼如下:
#Include
#Include
#Include
#Include
#Include "HYYRobotInterface.h"
using namespace HYYRobotBase;
void io_test()
{
RTimer timer;
initUserTimer(&timer, 0, 100);
int io1_index=19;
int io2_index=20;
int io1_1=GetDi(io1_index);
int io1=0;
int io2_1=GetDi(io2_index);
int io2=0;
while (1)
{
userTimer(&timer);
io1=GetDi(io1_index);
io2=GetDi(io2_index);
if (robot_ok())
{
if ((0==io1_1)&&(0!=io1))
{
robot_teach_joint(0, 1);
}
else if ((0==io2_1)&&(0!=io2))
{
robot_teach_joint(0, 1);
}
else if ((0==io1)&&(0==io2))
{
robot_teach_stop();
}
}
io1_1=io1;
io2_1=io2;
}
}
MATLAB/Simulink圖形化開發環境:
本工具主要用于機器人系統的算法開發及驗證,需要嵌入的MATLAB中使用,用戶需要自行安裝適合版本的MATLAB,推薦2022及以后版本。同時該工具需要使用HYY機器人控制器作為目標機。
該工具目前支持機器人工具箱和總線工具箱,允許在安裝過程中進行選擇?;谠摴ぞ哂脩艨煽焖俚脑跈C器人或電機系統上進行算法的研發及驗證。
開發環境包括:
機器人工具箱——基于底層目標機的機器人控制系統開發,主要Base(基礎數據接口)、Mode(運動學及動力學)、Trajectory(關節及笛卡爾軌跡)、Utilities(輔助轉換),根據需要選擇對應模塊拖拽到工程中進行設置并進行算法模型搭建,其中Base中的RobotInitialize模塊必須使用。并且模塊數據已被映射的機器人空間,無需關心減速比、編碼器位數等硬件信息。
其他MATLAB工具箱——如MATLAB機器人工具箱、模糊工具箱等。
ROS開發環境:
本控制系統為融入ROS生態,提供了驅動包,將本控制系統對接到ROS及ROS2中,支持moveit等軟件對接使用。為了使用ROS需要在控制器中安裝ROS及本控制系統的ROS驅動包,并且配合PC使用。通過ROS主從機機制實現控制器和PC機配合工作,控制器作為ROS主機運行實時驅動節點,PC機作為ROS從機運行非實時節點。實際上也可以不使用PC機,在控制器中運行ROS,即實時驅動節點和非實時節點均在控制器中運行。但這可能降低控制器的實時性,不建議用戶這么做。結合ROS的控制系統框圖如下:
支持的研究方向:
1、機器人力控制理論研究:通過研究柔順控制算法提高機器人接觸式任務的控制性能,如自適應控制、滑模控制、模糊PID控制等,以提高系統的魯棒性和作業精度。
2、多機器人系統動力學建模與辨識方法研究:建立機器人及柔順裝置的精確動力學模型,為控制算法提供理論基礎。
3、機器人自主規劃研究:研究和開發高效率的軌跡規劃算法,根據不同路徑自適應實現不同軌跡的生成,同時可以兼顧深度學習、強化學習開展自主規劃的研究。
4、多機器人協調控制算法研究:利用人工智能技術,針對多機器人系統的動力學模型開展多機器人協調控制的研究。
5、大模型語義解析研究:可以將大模型與雙臂人形機器人科研平臺結合,開展基于大模型的語義級解析。