0
$\begingroup$

Rosanswers logo

Although this has been asked here before, there was no solution.

Background: I am using a real-drone ( not ROS simulation ) I have been trying to follow this tutorial ( I'm not using a VM ) for which I need to install the ardrone_autonomy package by -

  1. installing binary directly using sudo apt-get install ros-kinetic-ardrone-autonomy .

  2. Cloning source from github ( git clone https://github.com/tum-vision/ardrone_autonomy.git ) and then ./build_sdk.sh didn't build due to some errors.

Since method 2) didn't build, after I used method 1) and ran the command (roslaunch ardrone_tutorials keyboard_controller_outdoor.launch) from the tutorial I got the following error -

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

The issue: I can't seem to find the ardrone_driver file anywhere. ( I tried using linux find ). There are other few other errors too (unrelated hence not shown above, just mentioning for completeness).

System specs: Ubuntu Xenial and ROS kinetic.

Please help.

Thanks!

Update:

rospack find ardrone_autonomy gives /home/malhar/catkin_ws/src/ardrone_autonomy


Originally posted by malharjajoo on ROS Answers with karma: 121 on 2017-12-26

Post score: 0


Original comments

Comment by jayess on 2017-12-26:
Did you install the ardrone_autonomy package? That tutorial (which is quite old!) uses the ardrone_autonomy package to connect with the drone. Also, do you have the actual drone or are you using a simulator?

Comment by malharjajoo on 2017-12-26:
Thanks for replying @jayess , yes I used apt-get to install ardrone_autonomy ( I have also updated the question )

Comment by jayess on 2017-12-26:
Where did you search for it? Please update your question with the result of rospack find ardrone_autonomy.

Comment by jayess on 2017-12-27:
Are you sourcing your setup.bash?

Comment by malharjajoo on 2017-12-27:
rospack find ardrone_autonomy gives the correct file path (/home/malhar/catkin_ws/src/ardrone_autonomy ) to the package folder.

I'm not certain why you want me to find the ardrone_autonomy package. As mentioned in the question, I am unable to find the ardrone_driver node,

Comment by jayess on 2017-12-27:
That location is actually not the correct directory if you used apt to install the package. It should be in your /opt/ros/kinetic/share directory. If you plan on using the apt installed version. Try deleting this one, recompile, and source your setup.bash.

Comment by malharjajoo on 2017-12-27:
Ok thanks, I understand. I removed the github source installations from my catkin_ws. However, now rospack cannot find the ardrone_autonomy package.

Do I have to be connected to the drone wifi for rospack to be able to find ardrone_autonomy ? ( I don't think so but would like to confirm )

Comment by clyde on 2017-12-27:
If you haven't already, delete the ~/catkin_ws/build and ~/catkin_ws/devel directories and rebuild using catkin_make or whatever build tool you're using.

Comment by clyde on 2017-12-27:
Or, as a quick check, you can ignore your compiled version by sourcing /opt/ros/kinetic/setup.bash and then running rospack find ardrone_autonomy.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

You still have the package that you downloaded from GitHub in your workspace which is why when you run rospack find ardrone_autonomy you see that it's located in ~/catkin_ws/src/ardrone_autonomy.

Follow these steps:

  1. Delete this package along with the ~/catkin_ws/build, ~/catkin_ws/devel, and ~/catkin_ws/install directories (as noted by @clyde )

  2. Compile your workspace again.

  3. Now, source (ROS if you're not doing that already and) your workspace:

    $ source /opt/ros/<distro>/setup.bash
        $ source ~/catkin_ws/devel/setup.bash
    
  4. Run

    $ roslaunch ardrone_tutorials keyboard_controller_outdoor.launch
    

again and roslaunch should be able to find the ardrone_driver node. Note that to find and launch the node you don't have to be connected to your drone. But, to use it you do need to be connected to the drone.

Please update your question if this still doesn't fix your issue.

Note: I've moved the question's comments into this answer.


Originally posted by jayess with karma: 6155 on 2017-12-27

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by jayess on 2018-01-10:
If this answer solved your problem, please click on the checkmark to mark the answer as correct.

Comment by malharjajoo on 2018-01-11:
Hi, sorry for the delay... I will quickly get back to this in a day.

Comment by jayess on 2018-01-31:
@malharjajoo: if this solved your problem please click on the check mark to mark it as the correct answer.

$\endgroup$

Your Answer

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