1. 问题描述
同心管机器人(Concentric-Tube Robot, CTR)扭转柔性正运动学公式由一系列微分方程组成,在Matlab中求解速度较为缓慢,难以满足之后实时控制的需求;同时,其逆运动学模型基本依靠数值方法求解,没有显式的正运动学方程将为逆运动学模型求解带来困难。
为此,一个主流的思路是通过数据驱动,拟合CTR正运动学方程。一种方法是Pierre Dupont在2010年T-RO论文“Design and Control of Concentric-Tube Robots”所提到的,采用的截断傅里叶级数(Truncated Fourier series)来做正运动学拟合。另有一些工作直接采集实际CTR运动数据,采用神经网络拟合正运动学模型。
神经网络具有极强的非线性拟合能力,采用神经网络做CTR正运动学拟合是很自然的想法。
2. 采用Matlab神经网络工具拟合CTR正运动学模型
Matlab Deep Learnning Toolbox 提供多种神经网络app和function,可以方便地进行输入输出曲线拟合(Input-output and curve fitting)、模式识别和分类(Pattern recongition and classification)、聚类(Clustering)等。
2.1. 随机采样CTR输入和末端位姿关系数据
首先编程实现CTR扭转柔性正运动学模型,然后运行随机采样,获得足够的输入输出data。
运动学输入$q=[\theta_1 \quad \theta_2 \quad \theta_3 \quad l_{e1} \quad l_{e2} \quad l_{e3}]^{T}$;
CTR末端位姿$g(R p) = [p_x \quad p_y \quad p_z \quad quat_0 \quad quat_1 \quad quat_2 \quad quat_3]^{T}$
2.2. 运行Matlab神经网络工具
Matlab terminal 输入
>> nnstart
选择曲线拟合“nftool”,根据app guide推进。
1.Select Data
2.Validation and Test Data
3.Network Architecture
4.Train Network
5.Evaluate Network
6.Deploy Solution
可查看模型拟合表现,可将训练好的模型导出为Matlab Function,便于程序调用。
2.3. 模型拟合结果
模型误差表现
模型回归表现