0
$\begingroup$

I've already posted the same question on the GitHub page of the VectorNAV driver: github.com/dawonn/vectornav/issues/128 But no luck, noone gets back to me, looks like the branch isn't in much support right now.

My system is Ubuntu 18.04, ROS1 Melodic (trying to get INS messages on x86 computer now, but final goal is Nvidia TX2, which is ARM computer if it matters)

First, I wanted to make my own node, using Python 3, because VectorNAV provides Python 3.4+ libraries and they are super easy to use for me. But, as I mentioned above, my system is using ROS1 and it has Python 2.7 as a default. I know, that it is possible to change default version for the ROS1 to Python 3x, but I have a lot of nodes, which were built based on Python 2.7 libraries.

I've asked VectorNAV support do they have Python 2 libraries, they answered negative and redirected me to the ROS1 VectorNAV driver which is already exists: github.com/dawonn/vectornav Which is based on C++ script. After that I've downloaded this driver, built it in my catkin space and tried to use.

The problem is that I can't see the messages with "roll" "pitch" and "yaw" angles information (in degrees, as i says in msg/Ins.msg file)

My device is VN100 according to this I've modified /launch/vectornav.launch file to: vectornav.launch

After running the commands:

sudo chmod a+rw /dev/ttyUSB0

and

roscore

and after that

roslaunch vectornav vectornav.launch

Using rostopic list I can see the following topics:

~/catkin_ws$ rostopic list
/rosout
/rosout_agg
/vectornav/GPS
/vectornav/IMU
/vectornav/INS
/vectornav/Mag
/vectornav/Odom
/vectornav/Pres
/vectornav/Temp

and most of them works and shows me the messages: IMU for example:

enter image description here

or temperature:

enter image description here

But the only one I need, with pitch, roll and yaw information, as I understand, should be in /vectornav/INS topic

and when I run the command:

rostopic echo /vectornav/INS

it just give me nothing:

enter image description here

I've found one problem, that Ins.msg which you can see in the package:

enter image description here

weren't build at first, but now I've modified the package.xml and CMakeLists.txt and using command

rosmsg list show

I can see vectornav messages

which should contain yaw, roll and pitch information:

enter image description here

But, again, as I mention above, command

rostopic echo /vectornav/Ins

gives me nothing:

enter image description here

Looks like the only things which works (publishing working) are the standard std messages, such as /sensor_msg/temperature or /std_msg/IMU

enter image description here

And logically to think that the problem with building the custom messages.. But I see now that they were succesfully built as I showed above.

Anyone has any advise? Or maybe someone faced with the similar problem using VectorNAV VN100?

Best, Andrey

$\endgroup$

2 Answers 2

1
$\begingroup$

Found a solution for my particular problem.

I just commented "if" condition for the INS publishing part of the C++ script, see the screenshot below.

enter image description here

*talking about ROS driver for VectorNAV

In the file /vectornav/src/main.cpp I've commented lines 814-816 and 820

So, basically, I just removed an if condition for the INS part. Seems like for some reason it doesn't get "True" and the publishing INS part of the code just skipped.

I didn't try it before, because it is absolutely the same condition as for IMU data, or temperature data. Maybe because these are (IMU and temperature) default ROS messages, publishing IMU/temperature data didn't have the same problem as INS publishing (which is processed data I believe, so it is not raw data, like IMU for instance)

$\endgroup$
0
$\begingroup$

Have you checked using the control center sw if the VN is actually publishing INS messages? Then you should also check which ports are selected for output and the rate limits. When having everything maxed out the bandwidth of the serial connection is not enough so you have to choose or throttle some frequencies. If its publishing those topics then in your program you need to check what groups of topics are you decoding and if you are packing them accordingly.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.