Издатель Ros не работает с V-Rep после сохранения

Я начал использовать V-Rep для имитации некоторых роботов (сначала пионеров и квадротронов), но у меня были проблемы, когда я пытаюсь подключить его к ROS. Я попытался воспроизвести пример из RosTopicPublisherAndSubscriber.ttt, и он работает только в первый раз, после того как я закрою его и снова загрузите, он больше не работает, мой код практически идентичен этому примеру, за исключением того, что я использую getPose и его Pioneer (тот, который поставляется с V-Rep), здесь мой код:

if (simGetScriptExecutionCount()==0) then

 -- Check if the required plugin is there (libv_repExtRos.so or libv_repExtRos.dylib):
 local moduleName=0
 local moduleVersion=0
 local index=0
 local pluginNotFound=true
 while moduleName do
 moduleName,moduleVersion=simGetModuleName(index)
 if (moduleName=='Ros') then
 pluginNotFound=false
 end
 index=index+1
 end

 if (pluginNotFound) then

 simDisplayDialog('Error','ROS plugin was not found.&&nSimulation will not run properly',sim_dlgstyle_ok,false,nil,{0.8,0,0,0,0,0},{0.5,0,0,1,1,1})
 else

 -- Retrive the handle of the vision sensor we wish to stream:
 lHandle=simGetObjectHandle('Pioneer_p3dx')

 -- Now enable topic publishing and streaming of the vision sensor data:
 topicName=simExtROS_enablePublisher('p3dx',1,simros_strmcmd_get_object_pose,lHandle,0,'')
 if (topicName == nil) then
 simDisplayDialog('Error','Nil',sim_dlgstyle_ok,false,nil,{0.8,0,0,0,0,0},{0.5,0,0,1,1,1})
 else
 simDisplayDialog('Error','Not Nil',sim_dlgstyle_ok,false,nil,{0.8,0,0,0,0,0},{0.5,0,0,1,1,1})
 end
 -- Retrive the handle of the passive vision sensor. We will use the passive vision sensor

 end
end

Любая идея приветствуется! Заранее спасибо! PS: Кроме того, если кто-нибудь с 1500 точками репутации может создать тэг v-rep, это было бы здорово!

1 ответ

Хорошо, люди в V-REP помогли мне решить эту проблему. Поэтому в основном я должен использовать аргумент как -1 вместо 0.

Таким образом, в принципе, должен был это сделать

topicName=simExtROS_enablePublisher('p3dx',1,simros_strmcmd_get_object_pose,lHandle,-1,'')

вместо

topicName=simExtROS_enablePublisher('p3dx',1,simros_strmcmd_get_object_pose,lHandle,0,'')

licensed under cc by-sa 3.0 with attribution.