05-31-2017 09:06 PM - edited 06-22-2017 09:47 AM
Ignore this. Seems this is the incorrect Ros for LabVIEW toolkit.
Hi There.
I'm subscribing to several Ros topics using ROS for LabVIEW. Whenever I test the program using the development code it seems to work fine. I've attached a simple vi as an example of what I am doing.
My state machine consists of:
Check Master: Fail results in a new check for master. Success --> Initialize
Initialize: Ros Topic Init
Listen: Ros Topic Read, Parse Header, Parse Data, Check Timestamp to confirm good data.
If Sequence = 0 or Data is old (> 20 seconds) then Re-Initialize Topic.
When I run the vi, it works fine. I may or may not get the pop-up for the Master IP address. It appears that previous selections are saved to some preference file somewhere. Anyways, when I build an executable and run that, it indicates that the master is there, but I get the following error.
Error Code 1
Dequeue Element in ROS_Topic_Read_Primative.vi:5110002->ROS_Topic_Read.vi:6470001->Ros_Comm_Test2.vi
I'm not doing anything special with building the executable, except I have allowed for debugging the application.
When I do try to debug the code, I find the global variable FIFOQ (located in GetFIFOQueue.vi) is empty.
Anyone seen this before?
Thanks
Relec
03-21-2019 02:44 AM
Relec,
I did not ignore your post because I have the exact error you have. I digged deeper and found a somewhat complex implementation using a lot of globals, locals and a vi-server calling a vi that is not mentioned. Adding that vi to my code did not help either. I finally gave up.
Can you tell me what toolkit is the correct one to use for ROS communication in a LabVIEW executable?
Patrick de Boevere
03-21-2019 07:41 AM
I was using ROS for LabVIEW by Tufts University. From my understanding, this group is for those using ROS Toolkit by Clearpath Robotics.
In the end I ended up taking ROS messages and sending those via UDP to a LabVIEW routine that uses the .msg file information to parse them.
Relec.
06-26-2019 03:09 AM - edited 06-26-2019 03:09 AM
I got some ROS communication working in an exe.
In the code I added the Tufts CEEO ROS for LabVIEW Software directory to the Project and, in the Build Specifications – Source Files I selected the 5 vi’s in the NewROS subdir of that library and copied them in the Always Included section.
Perhaps this helps.