Abstract

We describe the process of repurposing an inexpensive radio-controlled (RC) electric motorboat as an autonomous surface craft (known as minnows). Standard electronics components are used to interface with the RC boat electronics, and the vessel is augmented with GPS, a video camera, and a tilt-compensated compass to provide the necessary onboard sensing capabilities to enable point-to-point and target-based control of the vehicle. A (Robot Operating System) ROS-based control and sensing infrastructure is used to operate the vehicle on-board while 802.11 provides communication off-board. The vessel has been operated successfully in both the pool and ocean environment. Figure 1. A minnow on the bench and operating in the open water. Introduction •A number of different autonomous surface craft (ASC) prototypes have been developed (see [1] for a review). •Here we describe efforts to utilize standard tools from the RC and hobby electronics community to construct a fleet of autonomous surface vessels that expose a standard robot middleware (ROS[2]) to external users. •The basic structures used in this project can be easily adapted to other applications and the basic electronic components used are “standard” devices that are easily sourced. Vessel design •Smaller RC watercraft are developed with electrical systems for onboard control and communication, and are available with electric, gasoline and nitrox drive systems. •Electrical powered systems are emission free and thus are easily deployed in indoor swimming pools, but they lack the extended range and maximum power output associated with gasoline and nitrox power plants. •The basic control mechanisms remain unchanged over the various power plants, but the choice of plant type has a significant impact on maximum speed, available test environments and operational period. A. Physical platform •Based on the Blackjack 26, a “ready to run” 26” fiberglass catamaran RC vessel powered by a single propeller and equipped with a single rudder (see Figure 1). •The vessel is powered by a 1500 RPM Brushless DC motor and utilizes a standard RC servo motor to provide positional control over the rudder. •The boat comes equipped with a water-cooled 45A programmable Electronic Speed Controller (ESC) that provides control over the drive motor, power to the servomotor, and exposes itself to control circuitry as a standard servomotor. •A pair of 7.2V sub-C battery packs provide power for both the motors and the associated electronics. •The physical structure of the vessels have been modified only in a very minor way through the addition of a (mostly) water-tight housing for the added electronics and sensors. Figure 2. Arduino interface B. Electromechanical issues •The Arduino microcontroller [3] provides an interface between the RC boat infrastructure and onboard sensing and computation. It provides an interface to a tilt-compensated compass and provides reference voltages and PWM control signals to the rudder servo and the ESC controlling the throttle. •The Arduino also provides power to the rudder servo. Normal power from the drive system provides power to the ESC. •The Arduino is connected via USB to an onboard BeagleBoard SBC which provides higher-level control as well as providing power to the Arduino UWO. •The Arduino ROS Rosserial package [4] allows ROS nodes to be executed on the Arduino directly and to be made visible to standard ROS nodes operating elsewhere. C. Computation •Onboard computation is provided via a BeagleBoard configured to run Ubuntu Linux and the Robot Operating System (ROS). •The BeagleBoard serves as a link between the base station computer (when instructions are sent to, or information is requested from the robot) and the low level systems of the robot through an 802.11 connection. •Motion commands are either generated on the Beagleboard or received by the BeagleBoard and directed to the Arduino Uno. D. Sensing Onboard sensors include •GPS. A ROS GPS node interfaces with the BU-353 USB GPS Navigation Receiver, parsing the data stream (in NMEA 0813 V2.2 format). Currently the node parses only the GPS system fix data ($GPGGA). These strings contain information on the latitude, longitude and altitude as well as associated data on fix quality and time of fix. •Video. A USB QuickCam Logitech webcam with 640x480 resolution is mounted onboard the vessel. The camera is used primarily for teleoperation (see Figure 3). •Tilt-compensated compass. A tilt-compensated compass provides bearing information. The compass signal is decoded by the Arduino. Figure 3. Onboard camera view E. Robot control •Controlling software for the minnow robot is provided in ROS (see Figure 4). •The helmsman node implements a standard PID controller to maintain a compass heading given a commanded heading (specified in in commandHeading message). Figure 4. ROS node network Vehicle testing •The minnow’s performed well in several pool trials and in open water trials off the coast of Holetown, Barbados. •During these trials several things became apparent. •The hull was able to take on the extra payload and run quite efficiently. •At 20% throttle the boat was able to navigate fairly choppy waters and outpace human swimmers. •A simple PID controller is sufficient to provide bearing control. Discussion and ongoing work •Following field trials the onboard computer on the minnows were upgraded and the software infrastructure revised to enable multiple robots to operate in concert. •Experiments are planned in which multiple minnow platforms operate in concert with a larger surface craft.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call