ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

understanding velodyne_driver package [closed]

asked 2014-03-12 04:06:56 -0500

marilia15 gravatar image

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?

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by marilia15
close date 2014-03-19 00:20:09

1 Answer

Sort by ยป oldest newest most voted
1

answered 2014-03-12 04:46:05 -0500

joq gravatar image

I am out of town on vacation for the rest of this week.

Will answer what questions I can quickly, and leave the rest until I return, or maybe someone else will assist.

I have not seen that rosdep error and don't know why you are seeing it. Did you run sudo rosdep init and rosdep update?

  1. The /velodyne_packets are binary data packets, rostopic echo is not useful, but rosptopic hz might be.

  2. Not normal.

  3. Try creating the desired test directory. There is probably something wrong with your permissions. Make sure they don't belong to root.

  4. Maybe, or perhaps you used root when you should not have.

  5. The node and nodelet both run the same driver code, but launch it differently. See: http://wiki.ros.org/nodelet

  6. I don't have time to explain all the details of roslaunch and nodelets today. Try reading some tutorials. If you still need help, I'll provide more pointers next week.

edit flag offensive delete link more

Comments

I really appreciate your quick response. Here are my feedback and maybe you can clarify more, when you can. Errors 1-2 correspond to rosdep permissions: My .ros directory (the owner is root) has permissions 777. Rosdep (root owner) rwx rx rx. The owner should be my user? or the permissions should be 777? Should I change it manually with chmod? or with a ros command/configuration? Error 4 correspond to .ros/testresults permissions. This directory (my user is the owner) is rwx rwx rx. Are these values right? Question5. I think a nodelet run one or more nodes but without messages passing between them. In this case is just one node, so no internal messages. So what is the purpose of this nodelet? To be used with other nodelets? Question 6. Also I'm interested in knowing the files including in the behaviour of a nodelet and this is not ...(more)

marilia15 gravatar image marilia15  ( 2014-03-13 00:19:18 -0500 )edit
1

Nothing under your home directory should belong to root. Use ``sudo`` to change ownership or to delete and re-create them all with your user ID as owner.

joq gravatar image joq  ( 2014-03-15 06:21:53 -0500 )edit
1

Running the velodyne_driver and velodyne_pointcloud nodelets in a single nodelet manager process avoids copying large messages unnecessarily. See: http://wiki.ros.org/velodyne_pointcloud#Launch_File_Examples .

joq gravatar image joq  ( 2014-03-15 06:27:21 -0500 )edit

Nodelets are a general and complex topic, not specific to the Velodyne driver. Please work the relevant tutorials (http://wiki.ros.org/nodelet/Tutorials), and open a new question on this forum if you still need more details.

joq gravatar image joq  ( 2014-03-15 06:31:51 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2014-03-12 04:06:56 -0500

Seen: 1,110 times

Last updated: Mar 12 '14