与相机通讯的Socket收发数据处理与提取
1)相机通常发送字符串给机器人,比如”1.23,4.56,7.89D”,即x为1.23,y为4.56,z的角度为7.89,用D作为结束符,数据之间用“,”隔开。
2)如果机器人收到上述字符串,如何把字符串提取出来并付给变量deltaX,deltaY,和thetaZ?
3)建立若干num变量,用以存储过程数据,比如StartBit1,表示x的数据从第几位开始,Endbit1表示x的数据结束是第几位,Lenbit1表示x数据的长度,s1表示提取的x的值的字符串
4)
5)先假设x的第一位是1,给Startbit1赋值为1
6)插入函数strfind,查找第一个“,”在第几位,得到EndBit1值
7)
8)EndBit1减去StartBit1就是x的数据长度
9)同理得到y和theta的信息
10)通过StrPart函数,提取从StartBit1开始到LenBit1结束的字符串,即x的值的字符串
12) 同理得到y和z的字符串
13)通过StrToVal函数,把s1转为num型,付给delta_x, StrToVal函数的反馈值为bool量,即转换成功为true不成功为false
14)同理得到delta_y和delta_theta
15) 成功后可以写屏测试,如下图