Search NASA⌕ Search

SEARCH · Search NASA

Results for “Coordinated robot motion”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 91 records · Page 5

A computer architecture for intelligent machines

The Theory of Intelligent Machines proposes a hierarchical organization for the functions of an autonomous robot based on the Principle of Increasing Precision With Decreasing Intelligence. An analytic formulation of this theory using information-theoretic measures of uncertainty for each level of the intelligent machine has been developed in recent years. A computer architecture that implements the lower two levels of the intelligent machine is presented. The architecture supports an event-driven programming paradigm that is independent of the underlying computer architecture and operating system. Details of Execution Level controllers for motion and vision systems are addressed, as well as the Petri net transducer software used to implement Coordination Level functions. Extensions to UNIX and VxWorks operating systems which enable the development of a heterogeneous, distributed application are described. A case study illustrates how this computer architecture integrates real-time and higher-level control of manipulator and vision systems.

Lefebvre, D. R.↗

Model-based Robotic Dynamic Motion Control for the Robonaut 2 Humanoid Robot

Robonaut 2 (R2), an upper-body dexterous humanoid robot, has been undergoing experimental trials on board the International Space Station (ISS) for more than a year. R2 will soon be upgraded with two climbing appendages, or legs, as well as a new integrated model-based control system. This control system satisfies two important requirements; first, that the robot can allow humans to enter its workspace during operation and second, that the robot can move its large inertia with enough precision to attach to handrails and seat track while climbing around the ISS. This is achieved by a novel control architecture that features an embedded impedance control law on the motor drivers called Multi-Loop control which is tightly interfaced with a kinematic and dynamic coordinated control system nicknamed RoboDyn that resides on centralized processors. This paper presents the integrated control algorithm as well as several test results that illustrate R2's safety features and performance.

Badger, Julia M.↗

Evaluation of automated decisionmaking methodologies and development of an integrated robotic system simulation. Volume 2, Part 2: Appendixes B, C, D and E

The derivation of the equations is presented, the rate control algorithm described, and simulation methodologies summarized. A set of dynamics equations that can be used recursively to calculate forces and torques acting at the joints of an n link manipulator given the manipulator joint rates are derived. The equations are valid for any n link manipulator system with any kind of joints connected in any sequence. The equations of motion for the class of manipulators consisting of n rigid links interconnected by rotary joints are derived. A technique is outlined for reducing the system of equations to eliminate contraint torques. The linearized dynamics equations for an n link manipulator system are derived. The general n link linearized equations are then applied to a two link configuration. The coordinated rate control algorithm used to compute individual joint rates when given end effector rates is described. A short discussion of simulation methodologies is presented.

Lowrie, J. W.↗

COLD MAGICS - Continuous Local Deformation Monitoring of an Arctic Geodetic Fundamental Station

We describe the experience gained in a project to continuously monitor the local tie at the Geodetic Observatory Ny-Alesund. A PC-controlled robotic total station was used to monitor survey prisms that were attached to survey pillars of the local network and the monuments used for geodetic VLBI and GNSS measurements. The monitoring lasted for seven days and had a temporal resolution of six minutes. The raw angle and distance measurements show clear sinusoidal signatures with a daily period, most strongly for a four-day period with 24 hours of sunshine. The derived topocentric coordinates of the survey prisms attached to the GNSS monument and the VLBI radio telescope act as approximation for the local tie. We detect clear signatures at the mm-level. With the current approach we cannot distinguish between real motion of the prisms and potential thermal influences on the instrument used for the observations. However, the project shows that continuous local tie monitoring is feasible today and in the future can and should be used for all geodetic co-location stations.

Haas, Ruediger↗

Adaptive Cartesian coordinate control of space based robot manipulators

A Cartesian coordinate robot controller is presented for use when the mass properties of a load are unknown. The mass, center of mass, and moments of inertia of the end-effector are assumed unknown. All other inertial properties of the robot are assumed known. This knowledge of the parameters allows the control of the end-effector in a way similar to the use of reaction wheels to control the orientation of a satellite. This is the primary result of the controller. The basic method of the controller is similar to that used for terrestrial-based robot manipulators. The controller is demonstrated using a new simulation algorithm which is based on Hamilton's form of the equations of motion.

Walker, Michael W.↗

Reflexive obstacle avoidance for kinematically-redundant manipulators

Dexterous telerobots incorporating 17 or more degrees of freedom operating under coordinated, sensor-driven computer control will play important roles in future space operations. They will also be used on Earth in assignments like fire fighting, construction and battlefield support. A real time, reflexive obstacle avoidance system, seen as a functional requirement for such massively redundant manipulators, was developed using arm-mounted proximity sensors to control manipulator pose. The project involved a review and analysis of alternative proximity sensor technologies for space applications, the development of a general-purpose algorithm for synthesizing sensor inputs, and the implementation of a prototypical system for demonstration and testing. A 7 degree of freedom Robotics Research K-2107HR manipulator was outfitted with ultrasonic proximity sensors as a testbed, and Robotics Research's standard redundant motion control algorithm was modified such that an object detected by sensor arrays located at the elbow effectively applies a force to the manipulator elbow, normal to the axis. The arm is repelled by objects detected by the sensors, causing the robot to steer around objects in the workspace automatically while continuing to move its tool along the commanded path without interruption. The mathematical approach formulated for synthesizing sensor inputs can be employed for redundant robots of any kinematic configuration.

Karlen, James P.↗

Sensory Motor Coordination in Robonaut

As a participant of the year 2000 NASA Summer Faculty Fellowship Program, I worked with the engineers of the Dexterous Robotics Laboratory at NASA Johnson Space Center on the Robonaut project. The Robonaut is an articulated torso with two dexterous arms, left and right five-fingered hands, and a head with cameras mounted on an articulated neck. This advanced space robot, now driven only teleoperatively using VR gloves, sensors and helmets, is to be upgraded to a thinking system that can find, interact with and assist humans autonomously, allowing the Crew to work with Robonaut as a (junior) member of their team. Thus, the work performed this summer was toward the goal of enabling Robonaut to operate autonomously as an intelligent assistant to astronauts. Our underlying hypothesis is that a robot can develop intelligence if it learns a set of basic behaviors (i.e., reflexes - actions tightly coupled to sensing) and through experience learns how to sequence these to solve problems or to accomplish higher-level tasks. We describe our approach to the automatic acquisition of basic behaviors as learning sensory-motor coordination (SMC). Although research in the ontogenesis of animals development from the time of conception) supports the approach of learning SMC as the foundation for intelligent, autonomous behavior, we do not know whether it will prove viable for the development of autonomy in robots. The first step in testing the hypothesis is to determine if SMC can be learned by the robot. To do this, we have taken advantage of Robonaut's teleoperated control system. When a person teleoperates Robonaut, the person's own SMC causes the robot to act purposefully. If the sensory signals that the robot detects during teleoperation are recorded over several repetitions of the same task, it should be possible through signal analysis to identify the sensory-motor couplings that accompany purposeful motion. In this report, reasons for suspecting SMC as the basis for intelligent behavior will be reviewed. A robot control system for autonomous behavior that uses learned SMC will be proposed. Techniques for the extraction of salient parameters from sensory and motor data will be discussed. Experiments with Robonaut will be discussed and preliminary data presented.

Peters, Richard Alan, II↗

Cooperative Three-Robot System for Traversing Steep Slopes

Teamed Robots for Exploration and Science in Steep Areas (TRESSA) is a system of three autonomous mobile robots that cooperate with each other to enable scientific exploration of steep terrain (slope angles up to 90 ). Originally intended for use in exploring steep slopes on Mars that are not accessible to lone wheeled robots (Mars Exploration Rovers), TRESSA and systems like TRESSA could also be used on Earth for performing rescues on steep slopes and for exploring steep slopes that are too remote or too dangerous to be explored by humans. TRESSA is modeled on safe human climbing of steep slopes, two key features of which are teamwork and safety tethers. Two of the autonomous robots, denoted Anchorbots, remain at the top of a slope; the third robot, denoted the Cliffbot, traverses the slope. The Cliffbot drives over the cliff edge supported by tethers, which are payed out from the Anchorbots (see figure). The Anchorbots autonomously control the tension in the tethers to counter the gravitational force on the Cliffbot. The tethers are payed out and reeled in as needed, keeping the body of the Cliffbot oriented approximately parallel to the local terrain surface and preventing wheel slip by controlling the speed of descent or ascent, thereby enabling the Cliffbot to drive freely up, down, or across the slope. Due to the interactive nature of the three-robot system, the robots must be very tightly coupled. To provide for this tight coupling, the TRESSA software architecture is built on a combination of (1) the multi-robot layered behavior-coordination architecture reported in "An Architecture for Controlling Multiple Robots" (NPO-30345), NASA Tech Briefs, Vol. 28, No. 10 (October 2004), page 65, and (2) the real-time control architecture reported in "Robot Electronics Architecture" (NPO-41784), NASA Tech Briefs, Vol. 32, No. 1 (January 2008), page 28. The combination architecture makes it possible to keep the three robots synchronized and coordinated, to use data from all three robots for decision- making at each step, and to control the physical connections among the robots. In addition, TRESSA (as in prior systems that have utilized this architecture) , incorporates a capability for deterministic response to unanticipated situations from yet another architecture reported in Control Architecture for Robotic Agent Command and Sensing (NPO-43635), NASA Tech Briefs, Vol. 32, No. 10 (October 2008), page 40. Tether tension control is a major consideration in the design and operation of TRESSA. Tension is measured by force sensors connected to each tether at the Cliffbot. The direction of the tension (both azimuth and elevation) is also measured. The tension controller combines a controller to counter gravitational force and an optional velocity controller that anticipates the motion of the Cliffbot. The gravity controller estimates the slope angle from the inclination of the tethers. This angle and the weight of the Cliffbot determine the total tension needed to counteract the weight of the Cliffbot. The total needed tension is broken into components for each Anchorbot. The difference between this needed tension and the tension measured at the Cliffbot constitutes an error signal that is provided to the gravity controller. The velocity controller computes the tether speed needed to produce the desired motion of the Cliffbot. Another major consideration in the design and operation of TRESSA is detection of faults. Each robot in the TRESSA system monitors its own performance and the performance of its teammates in order to detect any system faults and prevent unsafe conditions. At startup, communication links are tested and if any robot is not communicating, the system refuses to execute any motion commands. Prior to motion, the Anchorbots attempt to set tensions in the tethers at optimal levels for counteracting the weight of the Cliffbot; if either Anchorbot fails to reach its optimal tension level within a specified time, it sends message to the other robots and the commanded motion is not executed. If any mechanical error (e.g., stalling of a motor) is detected, the affected robot sends a message triggering stoppage of the current motion. Lastly, messages are passed among the robots at each time step (10 Hz) to share sensor information during operations. If messages from any robot cease for more than an allowable time interval, the other robots detect the communication loss and initiate stoppage.

Stroupe, Ashley↗

Recursive linearization of multibody dynamics equations of motion

The equations of motion of a multibody system are nonlinear in nature, and thus pose a difficult problem in linear control design. One approach is to have a first-order approximation through the numerical perturbations at a given configuration, and to design a control law based on the linearized model. Here, a linearized model is generated analytically by following the footsteps of the recursive derivation of the equations of motion. The equations of motion are first written in a Newton-Euler form, which is systematic and easy to construct; then, they are transformed into a relative coordinate representation, which is more efficient in computation. A new computational method for linearization is obtained by applying a series of first-order analytical approximations to the recursive kinematic relationships. The method has proved to be computationally more efficient because of its recursive nature. It has also turned out to be more accurate because of the fact that analytical perturbation circumvents numerical differentiation and other associated numerical operations that may accumulate computational error, thus requiring only analytical operations of matrices and vectors. The power of the proposed linearization algorithm is demonstrated, in comparison to a numerical perturbation method, with a two-link manipulator and a seven degrees of freedom robotic manipulator. Its application to control design is also demonstrated.

Lin, Tsung-Chieh↗

Tactile Robotic Topographical Mapping Without Force or Contact Sensors

A method of topographical mapping of a local solid surface within the range of motion of a robot arm is based on detection of contact between the surface and the end effector (the fixture or tool at the tip of the robot arm). The method was conceived to enable mapping of local terrain by an exploratory robot on a remote planet, without need to incorporate delicate contact switches, force sensors, a vision system, or other additional, costly hardware. The method could also be used on Earth for determining the size and shape of an unknown surface in the vicinity of a robot, perhaps in an unanticipated situation in which other means of mapping (e.g., stereoscopic imaging or laser scanning with triangulation) are not available. The method uses control software modified to utilize the inherent capability of the robotic control system to measure the joint positions, the rates of change of the joint positions, and the electrical current demanded by the robotic arm joint actuators. The system utilizes these coordinate data and the known robot-arm kinematics to compute the position and velocity of the end effector, move the end effector along a specified trajectory, place the end effector at a specified location, and measure the electrical currents in the joint actuators. Since the joint actuator current is approximately proportional to the actuator forces and torques, a sudden rise in joint current, combined with a slowing of the joint, is a possible indication of actuator stall and surface contact. Hence, even though the robotic arm is not equipped with contact sensors, it is possible to sense contact (albeit with reduced sensitivity) as the end effector becomes stalled against a surface that one seeks to measure.

Burke, Kevin↗

The 3-D world modeling with updating capability based on combinatorial geometry

A 3-D world modeling technique using range data is discribed. Range data quantify the distances from the sensor focal plane to the object surface, i.e., the 3-D coordinates of discrete points on the object surface are known. The approach proposed herein for 3-D world modeling is based on the Combinatorial Geometry (CG) method which is widely used in Monte Carlo particle transport calculations. First, each measured point on the object surface is surrounded by a small sphere with a radius determined by the range to that point. Then, the 3-D shapes of the visible surfaces are obtained by taking the (Boolean) union of all the spheres. The result is an unambiguous representation of the object's boundary surfaces. The pre-learned partial knowledge of the environment can be also represented using the CG Method with a relatively small amount of data. Using the CG type of representation, distances in desired directions to boundary surfaces of various objects are efficiently calculated. This feature is particularly useful for continuously verifying the world model against the data provided by a range finder, and for integrating range data from successive locations of the robot during motion. The efficiency of the proposed approach is illustrated by simulations of a spherical robot in a 3-D room in the presence of moving obstacles and inadequate prelearned partial knowledge of the environment.

Goldstein, M.↗

Two-Armed, Mobile, Sensate Research Robot

The Anthropomorphic Robotic Testbed (ART) is an experimental prototype of a partly anthropomorphic, humanoid-size, mobile robot. The basic ART design concept provides for a combination of two-armed coordination, tactility, stereoscopic vision, mobility with navigation and avoidance of obstacles, and natural-language communication, so that the ART could emulate humans in many activities. The ART could be developed into a variety of highly capable robotic assistants for general or specific applications. There is especially great potential for the development of ART-based robots as substitutes for live-in health-care aides for home-bound persons who are aged, infirm, or physically handicapped; these robots could greatly reduce the cost of home health care and extend the term of independent living. The ART is a fully autonomous and untethered system. It includes a mobile base on which is mounted an extensible torso topped by a head, shoulders, and two arms. All subsystems of the ART are powered by a rechargeable, removable battery pack. The mobile base is a differentially- driven, nonholonomic vehicle capable of a speed >1 m/s and can handle a payload >100 kg. The base can be controlled manually, in forward/backward and/or simultaneous rotational motion, by use of a joystick. Alternatively, the motion of the base can be controlled autonomously by an onboard navigational computer. By retraction or extension of the torso, the head height of the ART can be adjusted from 5 ft (1.5 m) to 6 1/2 ft (2 m), so that the arms can reach either the floor or high shelves, or some ceilings. The arms are symmetrical. Each arm (including the wrist) has a total of six rotary axes like those of the human shoulder, elbow, and wrist joints. The arms are actuated by electric motors in combination with brakes and gas-spring assists on the shoulder and elbow joints. The arms are operated under closed-loop digital control. A receptacle for an end effector is mounted on the tip of the wrist and contains a force-and-torque sensor that provides feedback for force (compliance) control of the arm. The end effector could be a tool or a robot hand, depending on the application.

Engelberger, J. F.↗

Parametric motion control of robotic arms: A biologically based approach using neural networks

A neural network based system is presented which is able to generate point-to-point movements of robotic manipulators. The foundation of this approach is the use of prototypical control torque signals which are defined by a set of parameters. The parameter set is used for scaling and shaping of these prototypical torque signals to effect a desired outcome of the system. This approach is based on neurophysiological findings that the central nervous system stores generalized cognitive representations of movements called synergies, schemas, or motor programs. It has been proposed that these motor programs may be stored as torque-time functions in central pattern generators which can be scaled with appropriate time and magnitude parameters. The central pattern generators use these parameters to generate stereotypical torque-time profiles, which are then sent to the joint actuators. Hence, only a small number of parameters need to be determined for each point-to-point movement instead of the entire torque-time trajectory. This same principle is implemented for controlling the joint torques of robotic manipulators where a neural network is used to identify the relationship between the task requirements and the torque parameters. Movements are specified by the initial robot position in joint coordinates and the desired final end-effector position in Cartesian coordinates. This information is provided to the neural network which calculates six torque parameters for a two-link system. The prototypical torque profiles (one per joint) are then scaled by those parameters. After appropriate training of the network, our parametric control design allowed the reproduction of a trained set of movements with relatively high accuracy, and the production of previously untrained movements with comparable accuracy. We conclude that our approach was successful in discriminating between trained movements and in generalizing to untrained movements.

Bock, O.↗

Tracking 3-D body motion for docking and robot control

An advanced method of tracking three-dimensional motion of bodies has been developed. This system has the potential to dynamically characterize machine and other structural motion, even in the presence of structural flexibility, thus facilitating closed loop structural motion control. The system's operation is based on the concept that the intersection of three planes defines a point. Three rotating planes of laser light, fixed and moving photovoltaic diode targets, and a pipe-lined architecture of analog and digital electronics are used to locate multiple targets whose number is only limited by available computer memory. Data collection rates are a function of the laser scan rotation speed and are currently selectable up to 480 Hz. The tested performance on a preliminary prototype designed for 0.1 in accuracy (for tracking human motion) at a 480 Hz data rate includes a worst case resolution of 0.8 mm (0.03 inches), a repeatability of plus or minus 0.635 mm (plus or minus 0.025 inches), and an absolute accuracy of plus or minus 2.0 mm (plus or minus 0.08 inches) within an eight cubic meter volume with all results applicable at the 95 percent level of confidence along each coordinate region. The full six degrees of freedom of a body can be computed by attaching three or more target detectors to the body of interest.

Donath, M.↗

An approach to multivariable control of manipulators

The paper presents simple schemes for multivariable control of multiple-joint robot manipulators in joint and Cartesian coordinates. The joint control scheme consists of two independent multivariable feedforward and feedback controllers. The feedforward controller is the minimal inverse of the linearized model of robot dynamics and contains only proportional-double-derivative (PD2) terms - implying feedforward from the desired position, velocity and acceleration. This controller ensures that the manipulator joint angles track any reference trajectories. The feedback controller is of proportional-integral-derivative (PID) type and is designed to achieve pole placement. This controller reduces any initial tracking error to zero as desired and also ensures that robust steady-state tracking of step-plus-exponential trajectories is achieved by the joint angles. Simple and explicit expressions of computation of the feedforward and feedback gains are obtained based on the linearized model of robot dynamics. This leads to computationally efficient schemes for either on-line gain computation or off-line gain scheduling to account for variations in the linearized robot model due to changes in the operating point. The joint control scheme is extended to direct control of the end-effector motion in Cartesian space. Simulation results are given for illustration.

Seraji, H.↗

Global models: Robot sensing, control, and sensory-motor skills

Robotics research has begun to address the modeling and implementation of a wide variety of unstructured tasks. Examples include automated navigation, platform servicing, custom fabrication and repair, deployment and recovery, and science exploration. Such tasks are poorly described at onset; the workspace layout is partially unfamiliar, and the task control sequence is only qualitatively characterized. The robot must model the workspace, plan detailed physical actions from qualitative goals, and adapt its instantaneous control regimes to unpredicted events. Developing robust representations and computational approaches for these sensing, planning, and control functions is a major challenge. The underlying domain constraints are very general, and seem to offer little guidance for well-bounded approximation of object shape and motion, manipulation postures and trajectories, and the like. This generalized modeling problem is discussed, with an emphasis on the role of sensing. It is also discussed that unstructured tasks often have, in fact, a high degree of underlying physical symmetry, and such implicit knowledge should be drawn on to model task performance strategies in a methodological fashion. A group-theoretic decomposition of the workspace organization, task goals, and their admissible interactions are proposed. This group-mechanical approach to task representation helps to clarify the functional interplay of perception and control, in essence, describing what perception is specifically for, versus how it is generically modeled. One also gains insight how perception might logically evolve in response to needs of more complex motor skills. It is discussed why, of the many solutions that are often mathematically admissible to a given sensory motor-coordination problem, one may be preferred over others.

Schenker, Paul S.↗

Earthshine as an Illumination Source at the Moon

Earthshine is the dominant source of natural illumination on the surface of the Moon during lunar night, and at some locations within permanently shadowed regions (PSRs) near the poles that never receive direct sunlight. As such, earthshine has the potential to enable the scientific investigation and exploration of conditions in areas of the Moon that are either temporarily or permanently hidden from the Sun. Earthshine has also been used to refer to Earthlight reflected from the lunar surface, but in this study we use it to refer specifically to Earthlight incident at the Moon. Under certain circumstances, the heat flux from earthshine could also influence the transport and cold-trapping of volatiles present in the very coldest areas within PSRs. In this study, Earth's spectral irradiance, as it would appear at the Moon in the solar reflectance band (0.3–3.0 µm) and at thermal emission wavelengths (3–50 µm), is examined with a suite of model image cubes and whole-disk spectra created using the Virtual Planetary Laboratory (VPL) three-dimensional (latitude, longitude and altitude) modeling capability. At the Moon, the broadband, hemispherical irradiance from Earth at full-phase is approximately 0.15 W m−2 with comparable contributions from solar reflectance and thermal emission; for context, this about 0.01% that of solar irradiance and has an equivalent temperature of around 40 K. Over the simulated timeframe, spanning two lunations, Earth's thermal irradiance shows very little net change (less than a few mW m−2 resulting from cloud variability and the south-to-north motion of the sub-observer latitude on Earth). In the solar band, Earth's diurnally averaged light curve at phase angles g ≤ 60° is well-fit using a Henyey–Greenstein integral phase function. At wavelengths longward of about 0.7 µm, near the well-known vegetation “red edge”, Earth's reflected solar radiance shows significant diurnal modulation as a result of the broad maximum in projected landmass at terrestrial longitudes between 60°W and 0°, as well as from the distribution of clouds. A simple formulation with adjustable coefficients is presented, condensed from the VPL model grid, for estimating Earth's hemispherical irradiance at the Moon as a function of wavelength, phase angle and sub-observer coordinates (terrestrial latitude and longitude). Uncertainties in any one prediction are estimated to be 10–12% at 0.3 µm, rising to >25% near 2.5 µm as a result of the increasing relative brightness and unpredictable influence of clouds. Although coefficient values are derived from a suite of spring equinox models, the approximation appears to be valid for all seasons, to within the stated uncertainties. It is demonstrated that earthshine is sufficiently bright to serve as a natural illumination source for optical measurements on a robotic lander/rover, allowing the identification of water ice mixed with regolith at the percent-level of fractional area.

Surface↗

Robotic Vision-Based Localization in an Urban Environment

A system of electronic hardware and software, now undergoing development, automatically estimates the location of a robotic land vehicle in an urban environment using a somewhat imprecise map, which has been generated in advance from aerial imagery. This system does not utilize the Global Positioning System and does not include any odometry, inertial measurement units, or any other sensors except a stereoscopic pair of black-and-white digital video cameras mounted on the vehicle. Of course, the system also includes a computer running software that processes the video image data. The software consists mostly of three components corresponding to the three major image-data-processing functions: Visual Odometry This component automatically tracks point features in the imagery and computes the relative motion of the cameras between sequential image frames. This component incorporates a modified version of a visual-odometry algorithm originally published in 1989. The algorithm selects point features, performs multiresolution area-correlation computations to match the features in stereoscopic images, tracks the features through the sequence of images, and uses the tracking results to estimate the six-degree-of-freedom motion of the camera between consecutive stereoscopic pairs of images (see figure). Urban Feature Detection and Ranging Using the same data as those processed by the visual-odometry component, this component strives to determine the three-dimensional (3D) coordinates of vertical and horizontal lines that are likely to be parts of, or close to, the exterior surfaces of buildings. The basic sequence of processes performed by this component is the following: 1. An edge-detection algorithm is applied, yielding a set of linked lists of edge pixels, a horizontal-gradient image, and a vertical-gradient image. 2. Straight-line segments of edges are extracted from the linked lists generated in step 1. Any straight-line segments longer than an arbitrary threshold (e.g., 30 pixels) are assumed to belong to buildings or other artificial objects. 3. A gradient-filter algorithm is used to test straight-line segments longer than the threshold to determine whether they represent edges of natural or artificial objects. In somewhat oversimplified terms, the test is based on the assumption that the gradient of image intensity varies little along a segment that represents the edge of an artificial object.

Mchenry, Michael↗