Scielo RSS <![CDATA[Computación y Sistemas]]> vol. 19 num. 3 lang. en <![CDATA[SciELO Logo]]> <![CDATA[<b>Editorial</b>]]> <![CDATA[<b>Neural Control for a Differential Drive Wheeled Mobile Robot Integrating Stereo Vision Feedback</b>]]> This paper proposes a tracking control method for a differential drive wheeled mobile robot with nonholonomic constraints with an inverse optimal neural controller. It is based on two techniques: first, an identifier using a discrete-time recurrent high-order neural network (RHONN) trained with an extended Kalman filter (EKF) algorithm is employed; second, an inverse optimal control is used to avoid solving the Hamilton Jacobi Bellman (HJB) equation. The desired trajectory of the robot is computed during the navigation process using a stereo camera sensor. <![CDATA[<b>Integration of an Inverse Optimal Neural Controller with Reinforced-SLAM for Path Panning and Mapping in Dynamic Environments</b>]]> This work presents an artificial intelligence approach to solve the problem of finding a path and creating a map in unknown environments using Reinforcement Learning (RL) and Simultaneous Localization and Mapping (SLAM) for a differential mobile robot along with an optimal control system. We propose the integration of these approaches (two of the most widely used ones) for the implementation of robot navigation systems with an efficient method of control composed by a neural identifier and an inverse optimal control in order to obtain a robust and autonomous system of navigation in unknown and dynamic environments. <![CDATA[<b>Autonomous Motion Planning for Avatar Limbs</b>]]> In this work, a new algorithm for autonomous avatar motion is presented. The new algorithm is based in the Rapidly-exploring Random Tree (RRT) and an appropriate ontology. It uses a novel approach for calculating the motion sequence planning for the different avatar limbs: legs or arms. First, the algorithm uses the information stored in the ontology concerning the avatar structure and the Degrees Of Freedom (DOFs) to obtain the basic actions for motion planning. Second, this information is used to perform the growth process in the RRT algorithm. Then, all this information is used to produce planning. The plans are generated by a random search for possible motions that respect the structural restrictions of the avatar on kinesiology studies. To avoid a big configuration space search, exploration, exploitation, and hill climbing are used in order to obtain motion plans. <![CDATA[<b>Design and Implementation of an Intelligent System for Controlling a Robotic Hospital Bed for Patient Care Assistance</b>]]> In this article we propose an intelligent system (IS) for automatic movements of a robotic-assisted hospital bed, it is based on posture classification and recognition using mattress pressure sensors. The proposed IS allows to program a sequence of movements of the robotic bed that are executed automatically through electric actuators in response to the pressure distribution of a patient on the bed. The experimental results show that programmed movements are useful in preventing bed-sores in patients who stay in bed for extended periods of time. <![CDATA[<b>Modeling and Pose Control of Robotic Manipulators and Legs using Conformal Geometric Algebra</b>]]> Controlling the pose of a manipulator involves finding the correct configuration of the robot's elements to move the end effector to a desired position and orientation. In order to find the geometric relationships between the elements of a robot manipulator, it is necessary to define the kinematics of the robot. We present a synthesis of the kinematical model of the pose for this type of robot using the conformal geometric algebra framework. In addition, two controllers are developed, one for the position tracking problem and another for the orientation tracking problem, both using an error feedback controller. The stability analysis is carried out for both controllers, and their application to a 6-DOF serial manipulator and the legs of a biped robot are presented. By proposing the error feedback and Lyapunov functions in terms of geometric algebra, we are opening a new venue of research in control of manipulators and robot legs that involves the use of geometric primitives, such as lines, circles, planes, spheres. <![CDATA[<b>Intelligent Waste Separator</b>]]> Nowadays, trash has become a problem in the society and the ecosystem due to the way people get rid of it. Most of garbage is buried or burnt or even kept in places to which it does not belong. Big volumes of garbage thrown away and the methods used to store it cause air, water, and soil pollution. Fortunately, people can count on other methods to reduce the quantity of produced litter. An answer is recycling by re-using the materials. Currently, the traditional way to separate waste is to use different containers for each kind of waste separating trash manually, which does not always work. The aim of this paper is to present an Intelligent Waste Separator (IWS) which can replace the traditional way of dealing with waste; the proposed device receives the incoming waste and places it automatically in different containers by using a multimedia embedded processor, image processing, and machine learning in order to select and separate waste. <![CDATA[<b>Cockpit Design for First Person View Flight for a Remotely Operated Quadrotor Helicopter</b>]]> Recently, technological advances have been focused on the cockpit of modern unmanned aerial vehicles (UAVs) in order to reduce pilot requirements and workload to operate them. First person view (FPV) flight represents a key point when UAVs perform tasks beyond the line of sight. This paper presents the design and implementation of a cockpit for a remotely operated quadrotor. We have developed an intuitive graphical user interface (GUI) for piloting the quadrotor encompassing the most relevant flight instruments as an altimeter, attitude, heading, and ground speed indicators. The GUI is developed using the programming development environment LabVIEW®. <![CDATA[<b>HW/SW Co-Design of a Specific Accelerator for Robotic Computer Vision</b>]]> This paper presents an image processing application focused on robotic computer vision. The co-design is divided into three main parts: a hardware accelerator, a PCIe® based framework for HW/SW link, and application software. The implemented accelerator performs preprocessing for facial recognition in order to reduce the workload in the main system processor. The hardware layer is implemented in Altera FPGAs, while the project software layer provides a device driver for Linux to link the user application with the coprocessor. The user application controls the data transfer between the operating system and the device driver. The platform allows rapid prototyping of accelerators, taking advantage of the duality of a programmable hardware and a general purpose processor connected through a PCIe® link. The proposed architecture enables co-design of various image processing algorithms. In this case, the results of the design of an accelerator that performs histogram equalization for contrast correction of color images are presented. <![CDATA[<b>Facial Geometry Identification through Fuzzy Patterns with RGBD Sensor</b>]]> Automatic human facial recognition is an important and complicated task; it is necessary to design algorithms capable of recognizing the constant patterns in the face and to use computing resources efficiently. In this paper we present a novel algorithm to recognize the human face in real time; the system's input is the depth and color data from the Microsoft KinectTM device. The algorithm recognizes patterns/shapes on the point cloud topography. The template of the face is based in facial geometry; the forensic theory classifies the human face with respect to constant patterns: cephalometric points, lines, and areas of the face. The topography, relative position, and symmetry are directly related to the craniometric points. The similarity between a point cloud cluster and a pattern description is measured by a fuzzy pattern theory algorithm. The face identification is composed by two phases: the first phase calculates the face pattern hypothesis of the facial points, configures each point shape, the related location in the areas, and lines of the face. Then, in the second phase, the algorithm performs a search on these face point configurations. <![CDATA[<b>Predicting Software Product Quality: A Systematic Mapping Study</b>]]> Predicting software product quality (SPQ) is becoming a permanent concern during software life cycle phases. In this paper, a systematic mapping study was performed to summarize the existing SPQ prediction (SPQP) approaches in literature and to organize the selected studies according to seven classification criteria: SPQP approaches, research types, empirical types, data sets used in the empirical evaluation of these studies, artifacts, SQ models, and SQ characteristics. Publication channels and trends were also identified. After identifying 182 documents in ACM Digital Library, IEEE Xplore, ScienceDirect, SpringerLink, and Google scholar, 69 papers were selected. The results show that the main publication source of the papers identified was conference. Data mining techniques are the most frequently SPQP approaches reported in literature. Solution proposal was the main research type identified. The majority of the papers selected were history-based evaluations using existing data which were mainly obtained from open source software projects and domain specific projects. Source code was the main artifact concerned with SPQP approaches. Well-known SQ models were hardly mentioned and reliability is the SQ characteristic through which SPQP was mainly achieved. SPQP-related subject seems to need more investigation from researchers and practitioners. Moreover, SQ models and standards need to be considered more in future SPQP research. <![CDATA[<b>All Uses and Statement Coverage</b>: <b>A Controlled Experiment</b>]]> This article presents a controlled experiment that compares the behavior of the testing techniques Statement Coverage and All Uses. The design of this experiment is typical for a factor with two alternatives. A total of 14 subjects carry out tests on a single program. The results indicate that there is enough statistical evidence to state that the cost of executing All Uses is higher than that of executing Statement Coverage - a result that we expected to find. However, no statistical differences were found as regards the effectiveness of the techniques. <![CDATA[<b>Human Factor Identification in the Tracking Software Process in Academic Environment</b>]]> La identificación del factor humano es importante al momento de conformar equipos de desarrollo de software. Mediante una selección adecuada se tiene un impacto positivo en el logro de los proyectos, además ayuda a que los equipos de desarrollo ya integrados tomen decisiones, referentes a la asignación de responsabilidades de los integrantes en proyectos futuros. En la presente investigación se obtienen algunos resultados sobre la implementación de procesos de desarrollo de software y como el factor humano influye en los mismos. Se hace uso del modelo de Five Factor Model (FFM) para identificar los rasgos de la personalidad y mediante un diseño experimental se conoce como impactan en la adopción de los procesos de desarrollo de software en un ambiente universitario.<hr/>The human factor is important in forming software development teams. A proper selection of human resources has a positive impact on the achievement of projects and helps existing development teams to make decisions concerning allocation of responsibilities of their members in future projects. In this research we present results on the implementation of software development processes using the Five Factor Model (FFM) within a university environment to identify personality traits and an experimental design to learn their impact on the adoption of software development processes. <![CDATA[<b>Wikipedia-based Learning Path Generation</b>]]> We describe a method for automatic generation of a learning path for education or self-education. As a knowledge base, our method uses the semantic structure view from Wikipedia, leveraging on its broad variety of covered concepts. We evaluate our results by comparing them with the learning paths suggested by a group of teachers. Our algorithm is a useful tool for instructional design process. <![CDATA[<b>Wind Flow Analysis of Twisted Savonius Micro-Turbine Array</b>]]> This paper provides a computational analysis of wind impact on different geometric configurations of Savonius turbines proposed and previously studied in specialized literature. As a result of comparative analysis of turbines, we performed a flow analysis over a micro-turbine array, proposed a twisted Savonius turbine respecting its original profile, and subjected it to a comparative analysis of its performance against conventional turbines. Our new proposal of Savonius turbines stands out due to its lower residual turbulence. The turbine dimensions are suited to the geometric relationships previously analyzed, and they are suggested in a way to respect the original profile of each turbine. The size of each turbine is small since its application is proposed for power generation in a low power array which can be placed on any building as part of its outer walls. <![CDATA[<b>Inverse Deconvolution Estimation Filter</b>]]> En este artículo se presenta el filtrado por deconvolución a través de la inversa para conocer la dinámica interna del modelo tipo caja negra con respuesta acotada y con evolución invariante en el tiempo. En vez de utilizar la pseudoinversa en la deconvolución al observar problemas de inversión y de singularidad, se propone la separación por bloques de matrices y usando la inversa para lograr una menor complejidad algorítmica y un error de estimación directo, sin perder de vista la estabilidad del sistema. Es así que se presenta la descripción del filtro aplicando su transformación a una forma diagonal, considerando: a) la diagonalización de matrices, b) el desarrollo del filtro diagonalizado, c) el funcional del error, d) el análisis de la complejidad algorítmica, d) la simulación del filtro de deconvolución de manera diagonal, y e) se dan las conclusiones correspondientes.<hr/>This paper presents a deconvolution filter technique using a diagonal block inverse in order to learn the internal dynamics of a black-box model with bounded response and time-invariant evolution. Instead of using a pseudoinverse in deconvolution on problems of inversion and singularity, we propose a separation by matrix blocks and application of an inverse to achieve a lower algorithmic complexity and less error of direct estimation without losing the stability properties. With this in mind, we present a deconvolution filter applying its transformation into a diagonal form considering matrix diagonalization, diagonal filter description, functional error, algorithm complexity analysis, and diagonal deconvolution applied to filter simulation.