Mobile Robot Programming Toolkit: Difference between revisions

Content deleted Content added
Sharpen category
Template:Infobox software, WP:REFerence WP:CITation parameters: cut whitespace characters to standardize, aid work on small screens, add, fill, author > last + first, reorder, needless underscores > spaces, update-standardize-conform. WP:LINKs: update-standardize, adds, needless WP:PIPE > WP:NOPIPE. Nonlead-word proper + nonproper noun MOS:CAPS > WP:LOWERCASE sentence case. Small WP:COPYEDITs WP:EoS: WP:TERSE, cut needless word repeats.
 
(58 intermediate revisions by 41 users not shown)
Line 1:
{{Infobox software|
| name = Mobile Robot Programming Toolkit (MRPT)
| screenshot = [[Image:SENALogo robotof navigationthe demoMRPT mlg2007project.jpg|200px]]png
| screenshot size = 150px
| caption = Obstacle avoidance on a robotic wheelchair.
| latest_release_versioncaption = MRPT 0.6.5logo
| developer = [https://w3.ual.es/~jlblanco/ José Luis Blanco Claraco], [https://github.com/MRPT/mrpt/blob/master/AUTHORS contributors]
| latest_release_date = February 9, 2009
| genre = [[Robotics suite]]
| developer = The [http://babel.isa.uma.es/mapir/ MAPIR] group
| license = [[BSD licenses#3-clause|BSD 3-clause]]
| operating_system = [[Linux]], [[Microsoft Windows|Windows]]
| latest release version = 2.11.5
| programming_language = [[C++]]
| latest release date = {{Start date and age|2023|12|21}}<ref>{{cite web |url=https://github.com/MRPT/mrpt |title=Releases: MRPT |website=[[GitHub]].com |access-date=2024-01-13}}</ref>
| genre = [[Robotics suite]]
| operating_systemoperating system = [[Linux]], [[Microsoft Windows|Windows]], [[macOS]]
| license = [[GNU General Public License]]
| programming language = [[C++]]
| website = [http://www.mrpt.org/ Official Webpage]
| platform = [[Cross-platform]]
| repo = {{URL|https://github.com/MRPT/mrpt}}
| website = [http://{{URL|www.mrpt.org/ Official Webpage]}}
}}
 
The '''Mobile Robot Programming Toolkit''' ('''MRPT)''') is a [[cross-platform and open sourcesoftware]] [[C++]] [[Library (computing)|library]] aimedfor to helphelping [[robotics]] researchers to design and implement algorithms[[algorithm]]s related to [[Simultaneoussimultaneous localization and mapping|Simultaneous Localization and Mapping]] (SLAM), [[computer vision]], and [[motion planning]] (obstacle avoidance). ResultsDifferent obtainedresearch fromgroups thishave projectemployed haveMRPT to implement projects appearedreported in some of the major robotics journals and conferences.<ref>{{cite conference |citeseerx=10.1.1.127.3097 |title=Consistent observation grouping for generating metric-topological maps that improves robot localization |last1=Blanco |first1=J. L. |last2=Gonzalez |first2=J. |last3=Fernández-Madrigal |first3=J. and J.A. |year=2006 |book-title=IEEE International Conference on Robotics and Automation (ICRA) |pages=818–823 |doi=10.1109/ROBOT.2006.1641810}}</ref><ref>{{cite conference |title=Survey of popular robotics simulators, frameworks, and toolkits |last1=Harris |first1=A. |last2=Conrad |first2=J.M. |date=March 2011 |book-title=Proceedings of IEEE Southeastcon |pages=243–249 |doi=10.1109/SECON.2011.5752942}}</ref><ref>{{cite journal |last1=Ryde |first1=J. |last2=Hu |first2=H. |year=2010 |title=3D mapping with multi-resolution occupied voxel lists |journal=Autonomous Robots |volume=28 |issue=2 |pages=169–185 |publisher=Springer |doi=10.1007/s10514-009-9158-3 |citeseerx=10.1.1.153.5916 |s2cid=6659876}}</ref><ref>{{cite conference |last1=Tuza |first1=Z. |last2=Rudan |first2=J. |last3=Szederkényi |first3=G |date=October 2010 |chapter=Developing an integrated software environment for mobile robot navigation and control |title=International Conference on Indoor Positioning and Indoor Navigation |pages=1–6 |doi=10.1109/IPIN.2010.5647506}}</ref><ref>[http://www.mrpt.org/Papers A list of scientific papers] in which MRPT has been used for producing the results.</ref>.
 
MRPT is [[free and open-source software]] released under the [[BSD licenses#3-clause|BSD 3-clause]] license; pre-1.0.0 versions were released under the [[GNU General Public License]] (GPL).
MRPT is [[open source]] and distributed under the [[GPL]].
 
Some features included in the project as user-applications:
* Visualization and manipulation of large datasets.
* Off-lineSLAM [[Simultaneousalgorithms: localization andincremental mapping|SLAM]] algorithms, usingwith [[Iterative Closest Point|ICP]], Extended [[Kalman filter]]ing, or a [[Rao-Blackwellized particle filterfilters and [[GraphSLAM]].
* Grabbing datasets from [[robotic sensors]].
 
Upon a selection of the individual libraries provided by MRPT,<ref>{{cite usersweb can develop|author=MRPT.org new applications|url=http://www.mrpt.org/Libraries This|title=List isof aMRPT summarylibraries of|date=2013-10-08 the|access-date=2014-04-19}}</ref> topicsusers coveredcan bydevelop thesenew libraries:applications.
 
MRPT participated in [[Google Summer of Code]] in 2016–2018.<ref>{{cite web |author=GSOC |url=https://summerofcode.withgoogle.com/archive/2016/organizations/5644101080842240/ |title=MRPT page in GSOC 2016 |date=2018-08-07 |access-date=2018-08-07 |archive-date=2020-10-26 |archive-url=https://web.archive.org/web/20201026071254/https://summerofcode.withgoogle.com/archive/2016/organizations/5644101080842240/ |url-status=dead}}</ref><ref>{{cite web |author=GSOC |url=https://summerofcode.withgoogle.com/archive/2017/organizations/5289044053327872/ |title=MRPT page in GSOC 2017|date=2018-08-07 |access-date=2018-08-07}}</ref>
* ''mrpt-core'': [[Linear algebra]], statistics, SLAM algorithms, 3D geometry, GUI classes for 2D and 3D visualization, [[Serialization (computing)|serialization]], etc.
* ''mrpt-hwdrivers'': Interfaces to robotic sensors: [http://robots.mobilerobots.com/ARIA/ ARIA]-compatible robots, GPS, Hokuyo [[LIDAR|laser scanners]], etc.
* ''mrpt-reactivenav'': An implementation of [[Motion planning|obstacle avoidance]].
* ''mrpt-hmtslam'': An implementation of Hybrid Metric-Topological SLAM.
 
The relation between the different libraries is sketched in the following diagram:
 
<center>
[[Image:Mrpt libs schematic.png]]
</center>
 
== Representation of metric maps ==
Through [[Polymorphism in(computer object-oriented programmingscience)|polymorphism]] in the design of metric-map classes, observations (such as a laser scans) can be inserted into a [[Occupancy grid mapping|grid-map]] or a map of points , or both simultaneously, transparently to the user.
 
Through [[Polymorphism in object-oriented programming|polymorphism]] in the design of metric-map classes, observations (such as a laser scans) can be inserted into a [[Occupancy grid mapping|grid-map]] or a map of points , or both simultaneously, transparently to the user.
 
The following representations of metric maps are implemented:
* [[Occupancy grid mapping|Occupancy grid maps]].
 
* Point maps.
* [[Occupancy grid mapping|Occupancy grid maps]].
* Landmark maps: discrete elements are 3D points sensed through range and bearing; for example, [[Interest point detection|visual landmarks]]
* Point maps.
* LandmarkBeacon maps: discrete elements are also 3D points, but sensed throughby rangemeans andof bearing. For example, [[Interest point detection|visualrange-only landmarks]].devices
* Coloured point maps
* Beacon maps: elements are also 3D points, but sensed by means of range-only devices.
* ColouredGas pointconcentration maps.
* A "''multi map"'', collections of any of the other maps, behaving as a singleone map.
* Gas concentration maps.
* A "multi map", collections of any of the other maps, behaving as a single map.
 
== See also ==
{{Portal|Free and open-source software}}
* [[Webots]] - professional commercial mobile robot simulator
 
* [[Webots]] - A Professional Mobile Robot Simulator (Commercial)
* [[Microsoft Robotics Studio]]
* [[Player Project]]
* [[Robot software]]
* [http://openslam.org/ openslam.org] - A good collection of open source code and explanations of SLAM.
* [[Arduino]]
 
==References==
{{Reflist}}
<references/>
 
==External links==
* Project{{Official [http://website|www.mrpt.org main website].}}
 
[[Category:Free software programmed in C++ libraries]]
[[Category:Robotics suites]]
[[Category:Software that uses wxWidgets]]
 
[[Category:Software using the BSD license]]
{{Free-software-stub}}
{{robot-stub}}
 
[[eo:Mobile Robot Programming Toolkit]]