QuadSoftware

From ISRWiki
Revision as of 14:17, 1 October 2013 by Henrique (talk | contribs) (Created page with "thumb|Quadrotor Platform == About == This page presents instructions and software for our customized versions of Nomadic Scouts. This customization...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Quadrotor Platform

About

This page presents instructions and software for our customized versions of Nomadic Scouts. This customization was performed by 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.

Software

The source code can be found here: 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.

Usage

Packages

  • scout_drivers -- contains the main drivers
  • scout_msgs -- defines the message types employed by the drivers
  • joy -- a copy of the joy package compatible with the Scout software

Nodes

  • motors -- interfaces the motor controllers: sends motor velocity commands and receives encoder readings
  • sensors -- interfaces the sonars (currently disabled) and the battery sensors
  • joydrive -- node to control the robot using a gamepad
  • keydrive -- node to control the robot using the keyboard

Subscribed topics

  • /scout/motion (ScoutMotionMsg) -- reference velocities for each wheel (velocity_left and velocity_right) in raw units and an enable flag

Published topics

  • /scout/battery (ScoutBatteryMsg) -- voltages (in V) of batteries (battery1) and external power supply (battery2)
  • /scout/sonars (ScoutSonarsMsg) -- (DISABLED BY DEFAULT) array of sonar readings
  • /scout/motors (ScoutMotorsMsg) -- encoder counter for each wheel (count_left and count_right) in raw units

Examples

An example of a launch file to launch all scout nodes (locally)

<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>

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