112 research outputs found

    Reusable Software Components for Robots Using Fuzzy Abstractions

    Get PDF
    Mobile robots today, while varying greatly in design, often have a large number of similarities in terms of their tasks and goals. Navigation, obstacle avoidance, and vision are all examples. In turn, robots of similar design, but with varying configurations, should be able to share the bulk of their controlling software. Any changes required should be minimal and ideally only to specify new hardware configurations. However, it is difficult to achieve such flexibility, mainly due to the enormous variety of robot hardware available and the huge number of possible configurations. Monolithic controllers that can handle such variety are impossible to build. This paper will investigate these portability problems, as well as techniques to manage common abstractions for user-designed components. The challenge is in creating new methods for robot software to support a diverse variety of robots, while also being easily upgraded and extended. These methods can then provide new ways to support the operational and functional reuse of the same high-level components across a variety of robots

    Bayesian robot Programming

    Get PDF
    We propose a new method to program robots based on Bayesian inference and learning. The capacities of this programming method are demonstrated through a succession of increasingly complex experiments. Starting from the learning of simple reactive behaviors, we present instances of behavior combinations, sensor fusion, hierarchical behavior composition, situation recognition and temporal sequencing. This series of experiments comprises the steps in the incremental development of a complex robot program. The advantages and drawbacks of this approach are discussed along with these different experiments and summed up as a conclusion. These different robotics programs may be seen as an illustration of probabilistic programming applicable whenever one must deal with problems based on uncertain or incomplete knowledge. The scope of possible applications is obviously much broader than robotics

    An Investigation of Different Modeling Techniques for Autonomous Robot Navigation

    Get PDF
    This research aims to give recommendations towards modeling the navigation control architectures for an autonomous rover designed for an unstructured, outdoors environment. These recommendations are equally applicable to other autonomous vehicles, such as aircraft or underwater vehicles. Many successful architectures for this application have been developed, but there is no common terminology for the discussion of robotics architectures and their properties in general. This paper suggests the use of terms borrowed from administrative theory to facilitate interdisciplinary dialog about the tradeoffs of various kinds of models for robotics and similar systems. Past approaches to modeling autonomous robot navigation architectures have broken the architecture up into layers or levels. The upper levels or layers make high-level decisions about how the robot is going to accomplish a task, and the lower levels or layers make low-level decisions. This is analogous to a CEO of a corporation telling the managers how he wants the corporation to work towards its goal. The managers each oversee a part of the corporation. The workers are told what to do, but still make low-level decisions such as how hard to twist a screw, what tool to use to remove a rivet, or to do something other than what they were told in the interest of safety. Traditionally, there have been two or three layers for robot architectures, and every module developed fits into one of these layers. Every branch of the hierarchy has one module in each of the layers. The reasons given for breaking the architecture up into two or three layers vary from implementation to implementation. This paper aims to take a more generalized view. The benefits of the two or three layered approach are well published, including reliability, reusability, and scalability among others. This paper asserts that these layers are unnecessary, and that vertical specialization can be implemented to a different degree on different branches of the hierarchy. For example, the velocity controller on a rover might have two layers, whereas the steering controller on the same rover might have four. They share the highest layer, which is the navigational planner that coordinates them. But the two branches of hierarchy between the navigational planner and the two actuators look very different from one another. This facilitates a decentralization of the decision making duties and greater freedom in the process of breaking the navigation system up into modules

    Robot introspection through learned hidden Markov models

    Get PDF
    In this paper we describe a machine learning approach for acquiring a model of a robot behaviour from raw sensor data. We are interested in automating the acquisition of behavioural models to provide a robot with an introspective capability. We assume that the behaviour of a robot in achieving a task can be modelled as a finite stochastic state transition system. Beginning with data recorded by a robot in the execution of a task, we use unsupervised learning techniques to estimate a hidden Markov model (HMM) that can be used both for predicting and explaining the behaviour of the robot in subsequent executions of the task. We demonstrate that it is feasible to automate the entire process of learning a high quality HMM from the data recorded by the robot during execution of its task.The learned HMM can be used both for monitoring and controlling the behaviour of the robot. The ultimate purpose of our work is to learn models for the full set of tasks associated with a given problem domain, and to integrate these models with a generative task planner. We want to show that these models can be used successfully in controlling the execution of a plan. However, this paper does not develop the planning and control aspects of our work, focussing instead on the learning methodology and the evaluation of a learned model. The essential property of the models we seek to construct is that the most probable trajectory through a model, given the observations made by the robot, accurately diagnoses, or explains, the behaviour that the robot actually performed when making these observations. In the work reported here we consider a navigation task. We explain the learning process, the experimental setup and the structure of the resulting learned behavioural models. We then evaluate the extent to which explanations proposed by the learned models accord with a human observer's interpretation of the behaviour exhibited by the robot in its execution of the task
    corecore