understanding velodyne_driver package [closed]
I'm trying to understand the whole velodyne_driver package and I have several doubts.
I configure the network, connect the Velodyne and I check the data and I I see everything is well connected and configured (using rviz):
roslaunch velodyne_pointcloud 32e_points.launch calibration:=/home/user/32db.yaml
rostopic echo /Velodyne_points
But if I run: velodyne_node, I see it is publishing in /velodyne_packets but I can not see the data because I get an error.
rosrun velodyne_driver velodyne_node _model:=32E
rostopic echo /velodyne_packets
Traceback (most recent call last): File "/opt/ros/groovy/bin/rostopic", line 35, in <module> rostopic.rostopicmain() ... IOError: [Errno 13] Permission denied: '/home/vplaza/.ros/rosdep/sources.cache/index'
1. Is it normal not seeing this data with rostopic echo? Is it because /velodyne_packets is an structure instead of integer values as /velodyne_points ? Is it because /home/vplaza/.ros/ does not exist?
Some rostopic works fine:
rostopic bw /velodyne_packets
rostopic hz /diagnostic
But this one returns the same error as before:
rostopic hz /velodyne_packets
2. Is this error normal in /velodyne_packets?
If I try to change the speed of the Velodyne I dont see the device is changing. I have try with 300 rpm and 10 rpm:
rosrun velodyne_driver velodyne_node _model:=32E _rpm:=300
3. What can I do to change the velocity?
Then I try to execute a velodyne test but I get an error:
rostest velodyne_driver pcap_32e_node_hertz.test
... logging to /home/vplaza/.ros/log/rostest-vplaza-PClinux-6466.log Traceback (most recent call last):
File "/opt/ros/groovy/bin/rostest", line 35, in <module> rostestmain()
File "/opt/ros/groovy/lib/python2.7/dist-packages/rostest/__init__.py", line 268, in rostestmain _main()
File "/opt/ros/groovy/lib/python2.7/dist-packages/rostest/rostest_main.py", line 150, in rostestmain results_file = xmlResultsFile(pkg, outname, is_rostest)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rosunit/core.py", line 102, in xml_results_file raise IOError("cannot create test results directory [%s]. Please check permissions."%(test_dir)) IOError: cannot create test results directory [/home/vplaza/.ros/test_results/velodyne_driver]. Please check permissions.
4. How should I run the test? Is it because /home/vplaza/.ros/ does not exist?
And also the manual "velodyne_driver" said the driverNodelet does the same process as the node velodyne_node.
5. What's the difference between the node and the nodelet? The topic published is the same /velodyne_packets.
6. If the nodelet is executed with roslaunch with the file nodelet_manager.launch , why the nodelet_velodyne.xml (linked in manifest.xml) shows the file lib > libdriver_nodelet.so instead of the launch file? How does it works?