如何在表中附加行以使用MATLAB连续记录我的数据



我有两个程序。一个是从UR5机器人中读取一些数据,而另一个是从传感器读取数据。当我执行一些工业任务时,我需要将这些数据收集到表中。

我能够在每个程序分开时为它们生成表,但是我需要创建一个调用功能并将这些表组合在一起的主要程序。现在,我只得到了我需要的一行。这是我的主要程序:

idleForces = Thesis_calibration();
Time_Stamp = [];
while (true)
timestring = datestr(now,'HH:MM:SS.FFF');
[~,~,~,hours,minutes,seconds] = datevec(timestring);
time_ms = 1000*(3600*hours + 60*minutes + seconds);
measuredForces = Thesis_acquisition();
ur5Data = UR5_CLIENT_new();
Forces = minus(measuredForces,idleForces);
Row = table(time_ms,ur5Data);
Force = table(Forces);
writetable(Row,'robotdata.csv','Delimiter',',')
pause(0.01);
end

在此图片中找到输出。我该如何逐行存储?写入CSV文件

的数据

而不是写入dlmwrite,只需将数据作为矩阵输入即可。重要位是" - 申请",否则它将覆盖1列与Writetable相同。

newRow = [time_ms,ur5Data];
dlmwrite('robotdata.csv',newRow,'-append');

默认定界符是',',因此您无需担心。尽管您可以选择,但可以在DLMWrite函数中设置定界符。

相关内容

  • 没有找到相关文章

最新更新