港口场景下AGV无人小车的V-REP与Simulink联仿(二)

折腾了几天,终于初步实现了小车在Simulink下的直线运动及转向控制。记录几个自己踩过的坑。

(1)最重要的是两个程序间共享内存的通讯,必须是内存ID一致才能进行数据的读取。在V-REP中,对内存ID的确定是通过创建内存时的内存命名确定的,既是下图中的id(17)。

港口场景下AGV无人小车的V-REP与Simulink联仿(二)

而Simulink中的内存ID的确定则是通过V-REP demo自带的共享内存模块中的id栏设置确定,如下图:

 

港口场景下AGV无人小车的V-REP与Simulink联仿(二)

 (2)simSetJointTargetVelocity( handle,velocity)函数的应用。在小车轮速的设置过程中,遇到一个很棘手的问题:在Simulink中如果velocity是以一个数的形式导入时(V-REP中代码如下),会报如下错误:One of the function's argument type is not correct.(a table value)

港口场景下AGV无人小车的V-REP与Simulink联仿(二)

但是,如果在使用时以向量形式写入内存,并以索引的方式应用则不报错。

港口场景下AGV无人小车的V-REP与Simulink联仿(二)