QuadSoftware: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
(Created page with "thumb|Quadrotor Platform == About == This page presents instructions and software for our customized versions of Nomadic Scouts. This customization...")
 
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 3: Line 3:
== About ==
== About ==


This page presents instructions and software for our customized versions of Nomadic Scouts. This customization was performed by [http://www.idmind.pt IdMind] and includes new electronics. These platforms include a nowadays obsolete Pentium  III motherboard, and so it is only appropriate to run the ROS drivers for the hardware (motors and sensors). So the suggested architecture is to use an external laptop for the main software, connecting via a ethernet cable the platform motherboard. The driver nodes can be remotely launched using roslaunch.
This page presents instructions and software for ISR Quadrotors. This vehicle includes a Pandaboard Computer that is not recommended to do heavy computing, and so it is only appropriate to run the ROS drivers for the hardware (motors and sensors). So the suggested architecture is to use an external laptop for the main software, connecting via Wi-Fi to the quadrotor. The driver nodes can be remotely launched using roslaunch.
 
== Sensors ==
 
* Laser Range Finder: [http://www.hokuyo-aut.jp/02sensor/07scanner/urg_04lx_ug01.html Hokuyo URG-04LX-UG01]
* Optical Flow: [https://pixhawk.ethz.ch/px4/modules/px4flow PX4Flow Smart Camera]
* IMU:
** Accelerometer: [http://www.analog.com/static/imported-files/data_sheets/ADXL335.pdf ADXL335]
** Magnetometer: [http://www.honeywell.com/sites/servlet/com.merx.npoint.servlets.DocumentServlet?docid=DA9ACFE3C-F7C0-9998-6085-D9D84941499D HMC5843]
** Gyroscopes: [http://www.analog.com/static/imported-files/data_sheets/ADXRS620.pdf ADXRS620]


== Software ==
== Software ==


The source code can be found here: [[Media:Ros scout-1.0.tgz|ros_scout-1.0.tgz]]. All platforms already include a scout directory at home with this software, whose packages are accessible via ROS_PACKAGE_PATH.
=== Prerequisites ===
'''ROS Fuerte''' with the following packages:
* laser_drivers
* mav_tools
* scan_tools
* hector_common
 
=== ROS Source Code ===
The source code can be found here: [[Media:quad_ros.tar.gz|quad_ros.tar.gz]].


== Usage ==
== Usage ==


=== Packages ===
=== Packages ===
* scout_drivers -- contains the main drivers
* quad_drivers -- contains the main drivers (to run on Pandaboard).
* scout_msgs -- defines the message types employed by the drivers
* quad_launch -- contains some launch files.
* joy -- a copy of the [http://wiki.ros.org/joy joy package] compatible with the Scout software


=== Nodes ===
=== Nodes ===
* motors -- interfaces the motor controllers: sends motor velocity commands and receives encoder readings
* imu_parser -- Reads data from IMU.
* sensors -- interfaces the sonars (currently disabled) and the battery sensors
* quad_link -- Establish connection between vehicle and laptop.
* joydrive -- node to control the robot using a gamepad
* quad_status -- Reads some important data from vehicle.
* keydrive -- node to control the robot using the keyboard
* laser_height -- Calculate the height of the quadrotor with LRF.
 
=== Subscribed topics ===
* /scout/motion (ScoutMotionMsg) -- reference velocities for each wheel (velocity_left and velocity_right) in raw units and an enable flag


=== Published topics ===
=== Published topics ===
* /scout/battery (ScoutBatteryMsg) -- voltages (in V) of batteries (battery1) and external power supply (battery2)
* /scanCenter (sensor_msgs/LaserScan) -- Laser Range Finder measurements.
* /scout/sonars (ScoutSonarsMsg) -- (DISABLED BY DEFAULT) array of sonar readings
* /imu/data (sensor_msgs/Imu) -- IMU data.
* /scout/motors (ScoutMotorsMsg) -- encoder counter for each wheel (count_left and count_right) in raw units
* /quad_height/height_to_base (mav_msgs/Height) -- Height of quadrotor (in m).
* /quad_status/status (quad_status/Status) -- voltage (in V), RC status, Motors ON/OFF, ExternalCtrl ON/OFF and RunTime.


== Examples ==
== Examples ==
An example of a launch file to launch all quad nodes is on package quad_launch.


An example of a launch file to launch all scout nodes (locally)
NOTE: you need to modify these launch file in order to launch the nodes remotely.
<pre>
<launch>
<node name="motors"  pkg="scout_driver"  type="motors"/>
<node name="sensors"  pkg="scout_driver"  type="sensors"/>
<node name="joy"      pkg="joy"          type="joy_node"/>
<node name="joydrive" pkg="scout_driver"  type="joydrive"/>
</launch>
</pre>
NOTE: you need to modify these file in order to launch the nodes remotely.

Latest revision as of 15:59, 14 October 2013

Quadrotor Platform

About

This page presents instructions and software for ISR Quadrotors. This vehicle includes a Pandaboard Computer that is not recommended to do heavy computing, and so it is only appropriate to run the ROS drivers for the hardware (motors and sensors). So the suggested architecture is to use an external laptop for the main software, connecting via Wi-Fi to the quadrotor. The driver nodes can be remotely launched using roslaunch.

Sensors

Software

Prerequisites

ROS Fuerte with the following packages:

  • laser_drivers
  • mav_tools
  • scan_tools
  • hector_common

ROS Source Code

The source code can be found here: quad_ros.tar.gz.

Usage

Packages

  • quad_drivers -- contains the main drivers (to run on Pandaboard).
  • quad_launch -- contains some launch files.

Nodes

  • imu_parser -- Reads data from IMU.
  • quad_link -- Establish connection between vehicle and laptop.
  • quad_status -- Reads some important data from vehicle.
  • laser_height -- Calculate the height of the quadrotor with LRF.

Published topics

  • /scanCenter (sensor_msgs/LaserScan) -- Laser Range Finder measurements.
  • /imu/data (sensor_msgs/Imu) -- IMU data.
  • /quad_height/height_to_base (mav_msgs/Height) -- Height of quadrotor (in m).
  • /quad_status/status (quad_status/Status) -- voltage (in V), RC status, Motors ON/OFF, ExternalCtrl ON/OFF and RunTime.

Examples

An example of a launch file to launch all quad nodes is on package quad_launch.

NOTE: you need to modify these launch file in order to launch the nodes remotely.