2
$\begingroup$

I am trying to run the cameracalibrator.launch using PTAM according to this Camera Calibration tutorial. However, when I do so, I get the following error:

ERROR: cannot launch node of type [ptam/cameracalibrator]: can't locate node [cameracalibrator] in package [ptam]

I source my devel/setup.bash before I run the code as well and it still does not work. Here is my launch file:

<launch>
    <node name="cameracalibrator" pkg="ptam" type="cameracalibrator" clear_params="true" output="screen">
        <remap from="image_raw" to usb_cam/image_raw" />
        <remap from="pose" to="pose"/>
        <rosparam file="$(find ptam)/PtamFixParams.yaml"/>
    </node>
</launch>

Here is what I get for rostopic list:

/rosout
/rosout_agg
/svo/dense_input
/svo/image
/svo/image/compressed
/svo/image/compressed/parameter_descriptions
...
/tf
/usb_cam/camera_info
/usb_cam/image_raw
/usb_cam/image_raw/compressed
...
/usb_cam/image_raw/theora
/usb_cam/image_raw/parameter_descriptions
/usb_cam/image_raw/parameter_updates

The path where the cameracalibration.launch file is catkin_ws/src/ethzasl_ptam/ptam/launch.

I am not sure why this error keeps coming up because when I run roslaunch ptam cameracalibrator.launch, it says:

NODES
  /
    cameracalibrator (ptam/cameracalibrator)

So I'm thinking that PTAM does include cameracalibrator. If someone could please point out my error, that would be really helpful. I've been using this post as a guide, but it's not been helping me much: Ros Dynamic Config file.

As it says in the above link, I tried find . -executable and I could not find cameracalibrator. I could only find the below. How do I proceed?

./include
./include/ptam
./cfg
...
./launch
./src
./src/ptam
./src/ptam/cfg
...
$\endgroup$
1
$\begingroup$

Use the camera_calibration package. It's supported in all distributions. The package you're using looks pretty old.

| improve this answer | |
$\endgroup$
0
$\begingroup$

Try to find the node by typing "rosrun ptam" and then hitting the tab key. If it doesn't show up there, most likely there's something wrong with your package path. I am surprised it works with the other launch file. Did you check the difference between the two launch files? From where (which directories) are you launching them?

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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