Mobile Robot Programming Toolkit
   HOME





Mobile Robot Programming Toolkit
The Mobile Robot Programming Toolkit (MRPT) is a cross-platform software C++ library for helping robotics researchers design and implement algorithms related to simultaneous localization and mapping (SLAM), computer vision, and motion planning (obstacle avoidance). Different research groups have employed MRPT to implement projects reported in some of the major robotics journals and conferences. MRPT is free and open-source software released under the BSD 3-clause license; pre-1.0.0 versions were released under the GNU General Public License (GPL). Some features included in the project as user-applications: * Visualization and manipulation of large datasets. * SLAM algorithms: incremental mapping with ICP, Extended Kalman filtering, Rao-Blackwellized particle filters and GraphSLAM. * Grabbing datasets from robotic sensors. Upon a selection of the individual libraries provided by MRPT, users can develop new applications. MRPT participated in Google Summer of Code in 2016–20 ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Robotics Suite
A robotics suite is a visual environment for robot control and simulation. They are typically an end-to-end platform for robotics development and include tools for visual programming and creating and debugging robot applications. Developers can often interact with robots through web-based or visual interfaces. One objective of a robotics suite is to support a variety of different robot platforms through a common programming interface. The key point about a robotics suite is that the same code will run either with a simulated robot or the corresponding real robot without modification. Some robotic suites are based in free software, free hardware and both free software and hardware. Suites * Fedora Robotics See also * AnyKode Marilou * ArduPilot * Debian Science * Evolution Robotics * Lego Mindstorms * Microsoft Robotics Studio * Player Project (formerly the Player/Stage Project or Player/Stage/Gazebo Project) * Robot software * Robot Operating System * Simbad ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Kalman Filter
In statistics and control theory, Kalman filtering (also known as linear quadratic estimation) is an algorithm that uses a series of measurements observed over time, including statistical noise and other inaccuracies, to produce estimates of unknown variables that tend to be more accurate than those based on a single measurement, by estimating a joint probability distribution over the variables for each time-step. The filter is constructed as a mean squared error minimiser, but an alternative derivation of the filter is also provided showing how the filter relates to maximum likelihood statistics. The filter is named after Rudolf E. Kálmán. Kalman filtering has numerous technological applications. A common application is for guidance, navigation, and control of vehicles, particularly aircraft, spacecraft and ships Dynamic positioning, positioned dynamically. Furthermore, Kalman filtering is much applied in time series analysis tasks such as signal processing and econometrics. K ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Robotics Suites
Robotics is the interdisciplinary study and practice of the design, construction, operation, and use of robots. Within mechanical engineering, robotics is the design and construction of the physical structures of robots, while in computer science, robotics focuses on robotic automation algorithms. Other disciplines contributing to robotics include electrical engineering, electrical, control engineering, control, software engineering, software, Information engineering (field), information, electronics, electronic, telecommunications engineering, telecommunication, computer engineering, computer, mechatronic, and materials engineering, materials engineering. The goal of most robotics is to design machines that can help and assist humans. Many robots are built to do jobs that are hazardous to people, such as finding survivors in unstable ruins, and exploring space, mines and shipwrecks. Others replace people in jobs that are boring, repetitive, or unpleasant, such as cleaning, ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

C++ Libraries
C++ (, pronounced "C plus plus" and sometimes abbreviated as CPP or CXX) is a high-level programming language, high-level, general-purpose programming language created by Danish computer scientist Bjarne Stroustrup. First released in 1985 as an extension of the C (programming language), C programming language, adding object-oriented programming, object-oriented (OOP) features, it has since expanded significantly over time adding more OOP and other features; /C++98 standardization, C++ has added functional programming, functional features, in addition to facilities for low-level programming language, low-level memory (computing), memory manipulation for systems like microcomputers or to make operating systems like Linux or Microsoft Windows, Windows, and even later came features like generic programming, generic (template (C++), template) programming. C++ is usually implemented as a compiled language, and many vendors provide List of compilers#C.2B.2B compilers, C++ compilers, i ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Arduino
Arduino () is an Italian open-source hardware and open-source software, software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under a Creative Commons license, CC BY-SA license, while the software is licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), permitting the manufacture of Arduino boards and software distribution by anyone. Arduino boards are available commercially from the official website or through authorized distributors. Arduino board designs use a variety of microprocessors and controllers. The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards ('shields') or breadboards (for prototyping) and other circuits. The boards feature serial communications interfaces, including Universal Serial Bus (USB) on som ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Robot Software
Robot software is the set of coded commands or instructions that tell a mechanical device and electronic system, known together as a robot, what tasks to perform. Robot software is used to perform autonomous tasks. Many software systems and frameworks have been proposed to make programming robots easier. Some robot software aims at developing intelligent mechanical devices. Common tasks include feedback loops, control, pathfinding, data filtering, locating and sharing data. Introduction While it is a specific type of software, it is still quite diverse. Each manufacturer has their own robot software. While the vast majority of software is about manipulation of data and seeing the result on-screen, robot software is for the manipulation of objects or tools in the real world. Industrial robot software Software for industrial robots consists of data objects and lists of instructions, known as program flow (list of instructions). For example, Go to Jig1 It is an instruction to ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Player Project
The Player Project (formerly Player/Stage Project) creates free and open-source software for research into robotics and sensor systems. Its components include the ''Player'' Computer network, network Server (computing), server and the ''Stage'' platform robotics simulators. Although accurate statistics are hard to obtain, Player is one of the most popular open-source robot interfaces in research and post-secondary education. Overview The Player Project is an umbrella under which two robotics-related software projects are currently developed. These include the Player networked robotics server, and the Stage 2D robot simulation environment. The project was founded in 2000 by Brian Gerkey, Richard Vaughan (robotics), Richard Vaughan and Andrew Howard at the University of Southern California at Los Angeles, and is widely used in robotics research and education. It releases its software under the GNU General Public License with documentation under the GNU Free Documentation License. T ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Microsoft Robotics Studio
Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) is a discontinued Windows-based environment for robot control and simulation that was aimed at academic, hobbyist, and commercial developers and handled a wide variety of robot hardware. It requires a Microsoft Windows 7 operating system or later. RDS is based on Concurrency and Coordination Runtime (CCR): a .NET Framework-based concurrent library implementation for managing asynchronous parallel tasks. This technique involves using message-passing and a lightweight services-oriented runtime, Decentralized Software Services (DSS), which allows orchestrating multiple services to achieve complex behaviors. Features include: a visual programming tool, Microsoft Visual Programming Language (VPL) to create and debug robot applications, web-based and windows-based interfaces, 3D simulation (including hardware acceleration), easy access to a robot's sensors and actuators. The primary programming language is C#. Microsoft Rob ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Webots
Webots is a free and open-source 3D robot simulator used in industry, education and research. The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology (EPFL) in Lausanne, Switzerland and then from 1998 by Cyberbotics Ltd. as a proprietary licensed software. Since December 2018, it is released under the free and open-source Apache License#Version 2.0, Apache 2 license. Webots includes a large collection of freely modifiable models of robots, sensors, actuators and objects. In addition, it is also possible to build new models from scratch or import them from 3D CAD software. When designing a robot model, the user specifies both the graphical and the physical properties of the objects. The graphical properties include the shape, dimensions, position and orientation, colors, and texture of the object. The physical properties include the mass, friction factor, as well as the spring and Damping ratio, damping constants. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Interest Point Detection
In computer vision and image processing, a feature is a piece of information about the content of an image; typically about whether a certain region of the image has certain properties. Features may be specific structures in the image such as points, edges or objects. Features may also be the result of a general neighborhood operation or feature detection applied to the image. Other examples of features are related to motion in image sequences, or to shapes defined in terms of curves or boundaries between different image regions. More broadly a ''feature'' is any piece of information that is relevant for solving the computational task related to a certain application. This is the same sense as feature in machine learning and pattern recognition generally, though image processing has a very sophisticated collection of features. The feature concept is very general and the choice of features in a particular computer vision system may be highly dependent on the specific problem a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Occupancy Grid Mapping
Occupancy Grid Mapping refers to a family of computer algorithms in probabilistic robotics for mobile robots which address the problem of generating maps from noisy and uncertain sensor measurement data, with the assumption that the robot pose is known. Occupancy grids were first proposed by H. Moravec and A. Elfes in 1985. The basic idea of the occupancy grid is to represent a map of the environment as an evenly spaced field of binary random variables each representing the presence of an obstacle at that location in the environment. Occupancy grid algorithms compute approximate posterior estimates for these random variables. Algorithm outline There are four major components of occupancy grid mapping approach. They are: * Interpretation * Integration * Position estimation * Exploration Occupancy grid mapping algorithm The goal of an occupancy mapping algorithm is to estimate the posterior probability over maps given the data: p(m\mid z_, x_), where m is the map, z_ is the set of m ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Polymorphism (computer Science)
In programming language theory and type theory, polymorphism is the use of one symbol to represent multiple different types.: "Polymorphic types are types whose operations are applicable to values of more than one type." In object-oriented programming, polymorphism is the provision of one Interface (object-oriented programming), interface to entities of different data types. The concept is borrowed from a principle in biology where an organism or species can have many different forms or stages. The most commonly recognized major forms of polymorphism are: * ''Ad hoc polymorphism'': defines a common interface for an arbitrary set of individually specified types. * ''Parametric polymorphism'': not specifying concrete types and instead use abstract symbols that can substitute for any type. * ''Subtyping'' (also called ''subtype polymorphism'' or ''inclusion polymorphism''): when a name denotes instances of many different classes related by some common superclass. History Interest ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]