Hello everyone i am new to this group, and i am writing because I have a problem with the interface for the ROS arducopter and also wanted to better understand the things that I am not clear on this subject.
I'm writing my graduation thesis, and I'm working on quadrorotor automated using the ROS, in the beginning I focused on Parrot AR.Drone 2.0, but now now I'm focused dell'arducopter.
My setup is Ubuntu 12.04 and ROS Fuerte, I own an AR.Drone 2.0 but NOT own a arducopter.
The first problem is with the interface roscopter, I followed all the instructions on http://code.google.com/p/roscopter/ but when I go to run the command:
nodes / roscopter.py - device = / dev/ttyUSB1 - rate = 57600 - enable-control = true
I get the error:
Traceback (most recent call last):
File "nodes / roscopter.py", line 7,
in import roscopter.msg
File "/ home / joe / fuerte_workspace / roscopter / nodes / roscopter.py", line 7,
in import roscopter.msg ImportError: No module named msg
The error is in the import roscopter.msg, and in fact inside the folder there is no msg file "roscopert.msg", i have to define it? in what way? how?
The second problem is that I have to figure out which topic should I write in order to execute the commands of TakeOff, Land, various movements etc ...
For example, with the 2.0 ardrone to make a takeoff was enough to send a message "std_msgs / Empty" on the topic "/ ardrone / takeoff" with the command on the terminal of ubuntu: rostopic pub -1 / ardrone / takeoff std_msgs / Empty How does works for the roscopter? Another thing that i want to figure is the role of MAVLink, and how does works .
Thank you very much in advance and sorry for my English
Replies
Sorry if you've already fixed this issue. But you will not see a roscopter.msg file. I may be wrong here with my understanding of ROS, but what this is doing is that in your package "roscopter" it will import all the files in the msg folder. In mine, there are Attitude.msg, Control.msg, etc. Do you have these? Did you do a rosmake roscopter?
Not really sure about how the ardrone works with mavlink. I would suggest going through the source code for the ardrone and see what it expects to happen for it to perform those actions. Are you talking to it over a serial modem or wifi? As is, the roscopter package only supports serial. If you'd like to see an implementation for the arducopter using udp (and a lot more features) look at any of these packages:
https://bitbucket.org/uicrobotics/ros_apm_kinect
https://bitbucket.org/uicrobotics/apm_tester
https://bitbucket.org/davidgitz/icarus_slam
https://bitbucket.org/davidgitz/icarus_oa
nodes / roscopter.py - device = / dev/ttyUSB1 - rate = 57600 - enable-control = true
In the above line, the rate should be replaced by baudrate. Just take a look at the roscopter node, you will see.