Difference between revisions of "MarioCL-Drone01"
m |
|||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | =Overview= | |
− | The current work with AR.Drone from Parrot consists | + | The current work with AR.Drone from Parrot consists on evaluating different ways to interface a PC with AR.Drone. |
+ | =Interfacing with AR.Drone= | ||
− | + | ==Controlling the AR.Drone using the Wii-mote on ROS== | |
− | |||
− | |||
− | |||
'''Requirements''' | '''Requirements''' | ||
Line 45: | Line 43: | ||
[[Image:Control_layout.jpeg|center|300px]] | [[Image:Control_layout.jpeg|center|300px]] | ||
+ | |||
+ | '''ARDRone Driver Properties''' | ||
+ | |||
+ | ''TOPICS'' | ||
+ | |||
+ | To obtain the topic list for node use the followed command: | ||
+ | :~$ rostopic list -v | ||
+ | |||
+ | The list of topic for ARDrone driver is: | ||
+ | |||
+ | Published topics: | ||
+ | |||
+ | /ardrone/imu/data [sensor_msgs/Imu] 1 publisher | ||
+ | /ardrone/state [ardrone_driver/ARDroneState] 1 publisher | ||
+ | /cmd_vel [geometry_msgs/Twist] 1 publisher | ||
+ | |||
+ | Subscribed topics: | ||
+ | |||
+ | /cmd_vel [geometry_msgs/Twist] 1 subscriber | ||
+ | |||
+ | ''MESSAGE'' | ||
+ | |||
+ | To obtain the message list for a topic (ex /cmd_vel) use the followed command: | ||
+ | |||
+ | :~$ rostopic type /cmd_vel | ||
+ | |||
+ | The message list for topic is | ||
+ | |||
+ | /ardrone/imu/data | ||
+ | sensor_msgs/Imu | ||
+ | /ardrone/state | ||
+ | ardrone_driver/ARDroneState | ||
+ | /cmd_vel | ||
+ | geometry_msgs/Twist | ||
+ | |||
+ | ''SERVICE'' | ||
+ | |||
+ | To obtain the service list use the followed command: | ||
+ | |||
+ | :~$ rosservice list | ||
+ | |||
+ | The service list for topic is | ||
+ | |||
+ | /ardrone/imu/calibrate | ||
+ | /ardrone/land | ||
+ | /ardrone/reset | ||
+ | /ardrone/takeoff | ||
+ | /ardrone_teleop/get_loggers | ||
+ | /ardrone_teleop/set_logger_level | ||
+ | /driver_drone/get_loggers | ||
+ | /driver_drone/set_logger_level | ||
* Finally the drone flying: | * Finally the drone flying: | ||
− | <wikiflv width="300" height="250" logo="true">/videos/ | + | <wikiflv width="300" height="250" logo="true">/videos/Ar.drone.ros.flv</wikiflv> |
− | + | ==Using URBI to monitor and control AR.Drone== | |
[[Image:URBI_balltracking.png|center|500px]] | [[Image:URBI_balltracking.png|center|500px]] | ||
− | === Controlling drone with joystick or joypad using SDK Application == | + | * Video trial: |
+ | |||
+ | <wikiflv width="300" height="250" logo="true">/videos/Ar.drone.urbi.flv</wikiflv> | ||
+ | |||
+ | ==Controlling drone with joystick or joypad using SDK Application== | ||
+ | |||
+ | '''Requirements''' | ||
+ | *There are some packages required to compile the SDK code. | ||
+ | |||
+ | :~$ sudo apt-get install libgtk2.0-dev | ||
+ | :~$ sudo apt-get install libsdl1.2-dev | ||
+ | :~$ sudo apt-get install libiw-dev | ||
+ | |||
+ | '''Procedure''' | ||
+ | |||
+ | *Download the SDK from the ARDrone development Wiki | ||
+ | |||
+ | *Unpack to a folder of your choice | ||
+ | |||
+ | *First we need to compile the base SDK. | ||
+ | |||
+ | :~$ cd ARDroneAPI/ARDroneLib/Soft/Build | ||
+ | :~$ make | ||
+ | |||
+ | and let it build. Within ARDroneLib there will now be a targets_versions folder with the compiled code. | ||
+ | |||
+ | *Now we will compile the navigation example as it is the most verbose and has support for a PS3 controller o joystick | ||
+ | |||
+ | :~$ cd ARDroneAPI/Examples/Linux/Navigation/Build | ||
+ | :~$ make | ||
+ | :~$ cd ARDroneAPI/ARDroneLib/Version/Release | ||
+ | |||
+ | *Run the example | ||
+ | |||
+ | :~$ ./ardrone_navigation | ||
+ | |||
+ | [[Image:SDK_application.png|center|500px]] |
Latest revision as of 09:35, 25 June 2014
Contents
Overview
The current work with AR.Drone from Parrot consists on evaluating different ways to interface a PC with AR.Drone.
Interfacing with AR.Drone
Controlling the AR.Drone using the Wii-mote on ROS
Requirements
- Install [ROS]
- Download the Mobile Robotics Lab at SIUE repository [siue-ros-pkg]. This repository contains two packages ardrone_driver and ardrone_teleop which must to be installed in the stacks directory.
Procedure
- Verify AR.Drone boot sequence is completed and we can observe green leds on the bottom.
- Enable the WIFI connection with the AR.Drone.
- Launching ROS kernel:
:~$ roscore
- Loading drone driver:
:~$ rosrun ardrone_driver ardrone_driver
This command connects drone at localhost address.
- Running the node to operate the drone
:~$ rosrun ardrone_teleop ardrone_teleop.
In ardrone_driver directory we can find a script to launch both nodes, the driver and remote operating. To launch this script use:
:~$ roslaunch <$ROS_ARDRONE_DRIVER_PATH>/ardrone_wiimote_teleop.launch
- To use the wiimote, run the python script into the wiimote packages
:~$ rosrun wiimote wiimote_node.py
- Wiimote application is waiting to press buttons 1 and 2 during at least 6 seconds. Next image describes the control layout
ARDRone Driver Properties
TOPICS
To obtain the topic list for node use the followed command:
:~$ rostopic list -v
The list of topic for ARDrone driver is:
Published topics:
/ardrone/imu/data [sensor_msgs/Imu] 1 publisher /ardrone/state [ardrone_driver/ARDroneState] 1 publisher /cmd_vel [geometry_msgs/Twist] 1 publisher
Subscribed topics:
/cmd_vel [geometry_msgs/Twist] 1 subscriber
MESSAGE
To obtain the message list for a topic (ex /cmd_vel) use the followed command:
:~$ rostopic type /cmd_vel
The message list for topic is
/ardrone/imu/data sensor_msgs/Imu /ardrone/state ardrone_driver/ARDroneState /cmd_vel geometry_msgs/Twist
SERVICE
To obtain the service list use the followed command:
:~$ rosservice list
The service list for topic is
/ardrone/imu/calibrate /ardrone/land /ardrone/reset /ardrone/takeoff /ardrone_teleop/get_loggers /ardrone_teleop/set_logger_level /driver_drone/get_loggers /driver_drone/set_logger_level
- Finally the drone flying:
<wikiflv width="300" height="250" logo="true">/videos/Ar.drone.ros.flv</wikiflv>
Using URBI to monitor and control AR.Drone
- Video trial:
<wikiflv width="300" height="250" logo="true">/videos/Ar.drone.urbi.flv</wikiflv>
Controlling drone with joystick or joypad using SDK Application
Requirements
- There are some packages required to compile the SDK code.
:~$ sudo apt-get install libgtk2.0-dev :~$ sudo apt-get install libsdl1.2-dev :~$ sudo apt-get install libiw-dev
Procedure
- Download the SDK from the ARDrone development Wiki
- Unpack to a folder of your choice
- First we need to compile the base SDK.
:~$ cd ARDroneAPI/ARDroneLib/Soft/Build :~$ make
and let it build. Within ARDroneLib there will now be a targets_versions folder with the compiled code.
- Now we will compile the navigation example as it is the most verbose and has support for a PS3 controller o joystick
:~$ cd ARDroneAPI/Examples/Linux/Navigation/Build :~$ make :~$ cd ARDroneAPI/ARDroneLib/Version/Release
- Run the example
:~$ ./ardrone_navigation