Astra Camera Shows in rviz, Invalid device number in openni2
Edit: Thanks to @gvdhoorn for the input - I think that it's confirming what I seem to be finding out. By simply running the Astra drivers in place of the OpenNI2 drivers, I'm able to see the images from the Turtlebot as explained in the tutorial. I think that, with the new sensor, I simply have to use the Orbec drivers rather than the OpenNI drivers.
The problem now becomes that, once I get to the point in the tutorial that I'm using roslaunch turtlebot_bringup 3dsensor.launch
on the Turtlebot and roslaunch turtlebot_rviz_launchers view_robot.launch
on the workstation, the frames are not correctly configured to work with everything else. Here's what I've done so far to try to address the configuration issue:
3dsensor.launch
appears to use theTURTLEBOT_3D_SENSOR
environment variable to get the appropriate launch.xml file, so I don't think that there are any changes necessary here. However, there are a number of variables that get re-mapped here that I think may be relevant to getting what the Astra driver outputs to match up to what the Turtlebot looks for.- In
/opt/ros/indigo/share/turtlebot_bringup/launch/includes/3dsensor
, I copiedkinect.launch.xml
toastra.launch.xml
, the only difference between the files being that the include portion points toastra_launch/launch/astra.launch
rather thanfreenect_launch/launch/freenect.launch
. If I understand correctly, this configures the system to use the launch file from the Astra driver when the3dsensor.launch
file is used to start the 3d sensor system on the turtlebot. - I notice that the freenect package appears to have a file that points to
kinect_frames.launch
in the rgbd_launch project, which looks like it defines transforms for the camera. Simply making a copy of that file over to the astra_launch project and linking it to theastra.launch
file doesn't appear to fix the problem. I'm still getting an error in rviz saying that camera_rgb_optical_frame does not exist. Since this frame is defined by what is nowastra_frames.launch
, I'm guessing that this reference frame has to match an existing reference frame in the overall robot model to link the two? Because camera_rgb_optical_frame is not an option in the Global Options->Fixed Frame or the Grid->Reference Frame
I think that I need to look for some kind of tutorial on reference frames to better understand what is going on here and how I might be able to resolve it. Again, any help is appreciated. Thanks!
I'm working my way through the Turtlebot tutorials ( http://learn.turtlebot.com/2015/02/01/8/ ), and I'm currently at the stage where I'm testing the 3D sensor. I'm running into a few problems since the Turtlebot that I purchased came with ROS installed on the laptop, but apparently not correctly configured. The sensor that came included is the Orbec Astra, which I had to go out separately to find drivers and such for. I can ...
I'm not an expert on this topic, so take this as additional input, but: I believe the tutorial you link to assumes a "regular" TB2 (ie: old one) that came with either a Kinect or an Xtion.
After those became (very) hard to purchase, a switch was made to the Astra. I'm not sure OpenNI ..
.. stuff can be used with that camera, but again, I'm not an expert.
The driver (most likely) doesn't care about the URDF. What would be important would be for the respective topics to exist after you've launched the driver. Seeing as you can see a pointcloud in RViz, I would say they are, and ..
.. you should be able to continue from there.
I'm not sure what the status of the Astra integration into the TB2 pkgs is. I've never used/needed it, as I only have old TB2s here, with Kinects.