搜档网
当前位置:搜档网 › 机器人操作系统中的2D SLAM技术

机器人操作系统中的2D SLAM技术

机器人操作系统中的2D SLAM技术
机器人操作系统中的2D SLAM技术

An Evaluation of2D SLAM Techniques Available in Robot Operating System

Jo?a o Machado Santos,David Portugal and Rui P.Rocha

Abstract—In this work,a study of several laser-based2D Simultaneous Localization and Mapping(SLAM)techniques available in Robot Operating System(ROS)is conducted.All the approaches have been evaluated and compared in2D simulations and real world experiments.In order to draw conclusions on the performance of the tested techniques,the experimental results were collected under the same conditions and a generalized performance metric based on the k-nearest neighbors concept was applied.Moreover,the CPU load of each technique is examined.

This work provides insight on the weaknesses and strengths of each solution.Such analysis is fundamental to decide which solution to adopt according to the properties of the intended ?nal application.

I.I NTRODUCTION

Simultaneous Localization and Mapping(SLAM)is one of the most widely researched topics in Robotics.It is useful for building and updating maps within unknown environments, while the robot keeps the information about its location. Proprioceptive sensors are subject to cumulative errors when estimating the mobile robot’s motion,the high di-mensionality of the environment that is being mapped,the problem of determining whether sensor measurements taken at different points in time correspond to the same object in the world,and the fact that the world changes over time, represent the biggest challenges in SLAM[1].

The Robot Operating System(ROS)is the most popular robotics framework nowadays.It provides a set of tools, libraries and drivers in order to help develop robot applica-tions with hardware abstraction[2].ROS enables researchers to quickly and easily perform simulations and real world experiments.

All?ve SLAM techniques analyzed in this work are available in ROS and have been tested in2D simulations through Stage and on a custom Arduino-based Robot[3].The research presented in this article is a?rst step for our ultimate goal,which is to propose a SLAM technique for Urban Search and Rescue(USAR)scenarios,whose environment often contain smoke and dust particles.Therefore,it is necessary to study the most popular and commonly used approaches and this work will serve as guidance to our later technique,as well as to researchers interested in SLAM and in ROS,in general.

This work has been supported by the CHOPIN research project (PTDC/EEA-CRO/119000/2010),by a PhD grant(SFRH/BD/64426/2009) and by the Institute of Systems and Robotics(project Est-C/EEI/UI0048/2011),all of them funded by the Portuguese science agency“Fundac??a o para a Ci?e ncia e a Tecnologia”.J.M.Santos,D.Portugal and R.P.Rocha are with the Institute of Systems and Robotics,Univ.of Coimbra,P′o lo II,3030-290Coimbra,Portugal,email:{jsantos,davidbsp, rprocha}@isr.uc.pt.

II.R ELATED W ORK

Presently,all recognized algorithms for robot mapping have a common feature:they rely in probabilities.The advantage of applying probabilities is the robustness to measurement noise and the ability to formally represent uncertainty in the measurement and estimation process.Most of the probabilistic models used to solve the problem of mapping rely on Bayes rule[1].

Kalman?lters(KF)are one of the most popular imple-mentations of Bayes?lters[1].The KF has two distinct phases:Prediction and Update.The prediction phase esti-mates the state space(prior)from a previous iteration,while in the update phase the estimated state is combined with observations provided by sensors.The result from the update phase is called posterior.Arising from the prior development of the KF,the Extended Kalman Filter(EKF)solves the problem of nonlinearity in the robot pose model.A set of tests on convergence properties and inconsistency issues of the EKF-based solution to the nonlinear2D SLAM problem is conducted in[4].

Particle?lters(PF)are another application of Bayes?lters. The posterior probability is represented by a set of weighted particles and each particle is given an importance factor. It assumes that the next state depends only on the current one,i.e.,Markov assumption[5].PFs have the advantage of representing uncertainty through multi-modal distributions and dealing with non-Gaussian noise.Montemerlo et al.[6] proposed a new approach called FastSLAM.It makes use of a modi?ed PF to estimate the posterior.Afterwards,each particle possesses K Kalman?lters that estimate the K land-mark locations.It was shown that the computational effort to execute this algorithm is lower than EFK approaches.Also, the approach deals with large number of landmarks even with small sets of particles and the results remain appropriate. Also,an approach based on PF is proposed in[7].This work is discussed in more detail in Section III-B.

Equally important are graph-based SLAM algorithms,as they cover some weaknesses of PFs and EKFs techniques[9]. In these SLAM algorithms,the data extracted is used to build a graph.The graph is composed by nodes and arcs.Each arc in the graph represents a constraint between successive poses, which can be a motion event or a measurement event.In order to obtain a map,all the constraints are linearized and a sparse matrix is obtained,representing the sparse graph. This type of algorithms were?rst presented by Lu and Milios [8].In their work,pose constraints were retrieved by the scan matching process.However,due to the optimization process

,(((

used,the applicability of the algorithm in large scenarios is impracticable.Thrun et al.[9]presented the GraphSLAM algorithm,which is based on[8],and evaluated its behavior in large-scale urban environments.This has been possible due to a reduction process,which removes map variables from the optimization process.In addition,Carlone et al.

[10]also developed a graph-based SLAM approach,which is discussed in Section III-E.

In the last few years,the number of SLAM approaches has increased and the need to compare different approaches grew signi?cantly.Visually inspection of the resulting maps does not allow a correct comparison.So,the need to precisely evaluate the results asks for a more accurate method-a quan-titative scale.For instance,in[12],a metric for comparing SLAM algorithms was developed,wherein the result is not evaluated using a reference,but rather by considering the poses of the robot during data acquisition.This fact allows comparison between algorithms with different outputs.Also, the proposed method is independent on the sensor con?gu-ration of the mobile robot,but it requires manual editing of the dataset before being applied.

All recognized SLAM evaluation methods rely on standard datasets available to the community.However,these are not compatible with ROS framework yet.Conversely,in this work,a study of the main laser-based2D SLAM algorithms that are available in ROS is presented.All the tested tech-niques use occupancy grids as the?nal output,which are analyzed using a metric for map similarities.The focus is put on the map quality instead of the pose estimation errors, since the mapping output is highly affected by localization issues.The main goal is to provide an overview of the strengths and weaknesses of all?ve algorithms implemented in ROS and also to provide a simple,yet accurate quantitative comparison,thus de?ning general guidelines for ROS users to select the algorithm that best?ts their requirements.

III.2D SLAM A LGORITHMS

In this section,a brief description of?ve SLAM tech-niques is conducted,namely:HectorSLAM,Gmapping,Kar-toSLAM,CoreSLAM and LagoSLAM.

A.HectorSLAM

HectorSLAM1combines a2D SLAM system based on robust scan matching and3D navigation technique using an inertial sensing system[11].

The authors have focused on the estimation of the robot movement in real-time,making use of the high update rate and the low distance measurement noise from modern LIDARs.The odometric information is not used,which gives the possibility to implement this approach in aerial robots like,a Quadrotor UA V or in ground robots operating in uneven terrains.On the other hand,it might have prob-lems when only low rate scans are available and it does not leverage when odometry estimates are fairly accurate. The2D pose estimation is based on optimization of the 1https://www.sodocs.net/doc/b81528209.html,/wiki/hector_slam alignment of beam endpoints with the map obtained so far.The endpoints are projected in the actual map and the occupancy probabilities are estimated.Scan matching is solved using a Gaussian-Newton equation,which?nds the rigid transformation that best?ts the laser beams with the map.In addition,a multi-resolution map representation is used,to avoid getting stuck in local minima.Finally,the3D state estimation for the navigation?lter is based on EKF. However,this is only needed when an Inertial Measurement Unit(IMU)is present,such as in the case of aerial robots. Thus,it will not be used in this work.

B.Gmapping

Gmapping2is a laser-based SLAM algorithm as described by[7].Furthermore,it is the most widely used SLAM pack-age in robots worldwide.This algorithm has been proposed by Grisetti et al.and is a Rao-Blackwellized PF SLAM ap-proach.The PF family of algorithms usually requires a high number of particles to obtain good results,which increases its computational complexity.Also,the depletion problem3 associated with the PF resampling process decreases the algorithm accuracy.This happens because the importance weights of particles may become insigni?cant.Hence,this means that there is a small probability that correct hypothesis can be eliminated.

An adaptive resampling technique has been developed in[7],which minimizes the particle depletion problem, since this process is only performed when is needed.The authors also proposed a way to compute an accurate dis-tribution by taking into account not only the movement of the robotic platform,but also the most recent observations. This decreases the uncertainty about the robot’s pose in the prediction step of the PF.As a consequence,the number of particles required is decreased since the uncertainty is lower, due to the scan matching process.In our experiments,the number of particles used by Gmapping was30.

C.KartoSLAM

KartoSLAM4is a graph-based SLAM approach developed by SRI International’s Karto Robotics,which has been extended for ROS by using a highly-optimized and non-iterative Cholesky matrix decomposition for sparse linear systems as its solver[13].A graph-based SLAM algorithm represents the map by means of graphs.In this case,each node represents a pose of the robot along its trajectory and a set of sensor measurements.These are connected by arcs which represent the motion between successive poses.For each new node,the map is computed by?nding the spatial con?guration of the nodes which are consistent with constraints from the arcs.In the KartoSLAM version available for ROS,the Sparse Pose Adjustment(SPA)is responsible for both scan matching and loop-closure proce-dures[14].The higher the number of landmarks,the more 2https://www.sodocs.net/doc/b81528209.html,/wiki/gmapping

3The particle depletion problem consists in the elimination of a large number of particles from the sample set during the resampling stage.

4https://www.sodocs.net/doc/b81528209.html,/wiki/karto

amount of memory is required.However,graph-based SLAM algorithms are usually more ef?cient than other approaches when maintaining a map of a large-scale environments.In the particular case of KartoSLAM,it is extremely ef?cient, since it only maintains a pose graph.

D.CoreSLAM

CoreSLAM5is a ROS wrapper for the original200-lines-of-code tinySLAM algorithm,which was created with the purpose of being simple and easy to understand with minimum loss of performance[15].The algorithm is divided in two different steps:distance calculation and update of the map.In the?rst step,for each incoming scan,it calculates the distance based on a very simple PF algorithm.The PF matches each scan from the LRF with the map and each particle of the?lter represents a possible pose of the robot and has an associated weight,which depends on previous iterations.After the selection of the best hypotheses,the particles with lower weight are eliminated and new particles are generated.In the update step,the lines corresponding to the received scans are drawn in the map.However, of drawing a single point when an obstacle is detected, tinySLAM draws an adjustable set of points surrounding the obstacle.

https://www.sodocs.net/doc/b81528209.html,goSLAM

The basis of graph-based SLAM algorithms is the mini-mization of a nonlinear non-convex cost function[10].More precisely,at each iteration,a local convex approximation of the initial problem is solved in order to update the graph con?guration.The process is repeated until a local minimum of the cost function is reached.However,this optimization process is highly dependent on an initial guess to converge.Carlone et al.[10]developed a new approach called LagoSLAM6(Linear Approximation for Graph Op-timization),in which the optimization process requires no initial guess.In addition,the technique can be used with any standard optimizer.In fact,the algorithm available in ROS has the possibility to choose between three different optimizers:Tree-based netwORk Optimizer(TORO)7,g2o [16]and LAGO[10].In the experiments conducted,the LAGO optimizer was used.Assuming that the relative po-sition and orientation are independent for each node in the graph,the authors solve a system of equations equivalent to the non-convex cost function.To this end,a set of procedures based on graph theory were presented to obtain a?rst order approximation of the non-linear system,by means of a linear orientation and a linear position estimation.

IV.R ESULTS&D ISCUSSION

All?ve SLAM techniques described were tested using2D simulations and real world experiments.Simulations were performed in Stage8,which is a realistic2D robot simulator 5https://www.sodocs.net/doc/b81528209.html,/wiki/coreslam

6https://https://www.sodocs.net/doc/b81528209.html,/rrg-polito/rrg-polito-ros-pkg 7https://www.sodocs.net/doc/b81528209.html,/toro.html

8

https://www.sodocs.net/doc/b81528209.html,/wiki/stage

(a)MRL Arena(4.57×

4.04m)(b)1r5map(12.24×11.67m)

Fig.1:Maps used in the simulation experiments. TABLE I:Error estimation for each algorithm in the MRL Arena(Simulation Experiments).

Simulation Experiments

HectorSLAM Gmapping KartoSLAM CoreSLAM LagoSLAM

0.45630.42000.550911.8393 1.4646 integrated in ROS.Additionally,tests were also conducted with a physical robot in a real world scenario,so as to study the behavior of these SLAM packages in the ab-sence of perfect simulated conditions.Despite having perfect conditions in Stage simulations,like noise free odometric and range sensing information,SLAM algorithms assume measurement uncertainty,which may not lead to perfect results.In all experiments,the robot was teleoperated.Note that the abstraction layer provided by ROS allows to use the same code for both simulation and real experiments. HectorSLAM requires a LRF with high update rates.The update rate of the Hokuyo URG-04LX-UG01LRF used in the experiments is10Hz and Stage uses a similar maximum update rate.In order to deal with this,the robot was driven with low angular and linear speed.In the tests that were conducted,the output of each approach,described previously, was the respective generated2D occupancy grid map.

To evaluate the quality of the maps obtained,an analysis of the error between the generated map and the ground truth was conducted.A performance metric based on the k-nearest neighbor concept was used.To that end,the best?t alignment between the ground truth and the map obtained is computed (see Fig.2),using intensity-based image registration tools. The process works as follows:the resulting map of each algorithm is binarized.The binarized map only contains boundaries and obstacles of the scenario.Afterwards,the binarized map is aligned narrowly with the respective ground truth using a set of Matlab functions available in the Image Processing Toolbox.Since both ground truth map and the generated map are aligned,the distance from each occupied cell of the ground truth map to the nearest cell in the resulting map is determined using knnsearch,which computes the k-nearest neighbor cells(in this case k=1).The sum of all distances obtained is then divided by the number of occupied cells in the ground truth map.This error metric provides a normalized measure of distance(in terms of cells),which can be applied in any generic occupancy grid,as long as the ground truth map is available.

(a)

HectorSLAM(b)

Gmapping(c)

KartoSLAM(d)

CoreSLAM(e)LagoSLAM

Fig.2:Maps obtained through simulation in the MRL arena environment.Red represents the ground truth and blue represents the?nal map.

A.Simulation Tests

Stage simulations were performed using two different maps:the MRL Arena and the1r5map,which are shown in Fig.1.Special focus is given to the former since the MRL arena is used in both simulation and real world experiments. The1r5map enables the analysis of the behavior of the SLAM techniques in a larger scenario and with less features per square foot(cf.Fig.1b).This is particularly important to analyze the dependency on landmarks of each approach. In the simulation experiments,the model of the range sensor was de?ned just like the sensor used in real world experiments:the Hokuyo URG-04LX-UG01,which has a maximum range of about 5.6meters.Teleoperation was executed using the keyboard9.All the sensing and actuator data from the robot(LFR,odometry,velocity commands, etc.)was recorded previously and then played back for each algorithm.Thus,all SLAM packages were tested under the same exact conditions.This was only possible due to the rosbag tool10.

For each algorithm,the resolution of the?nal map was set to0.01meters/pixel.In order to mitigate the low scanning rate,the number of sub-maps used in HectorSLAM was de?ned as5.Since,each sub-map has half resolution of its precedent sub-map,the scan matching process is more accu-rate,i.e.,the scan matching performance is higher in lower resolution maps.In all experiments,the default parameters were used.For example,as mentioned before,the number of particle for the Gmapping algorithm was30. Analyzing the simulations results in the MRL arena,and according to Table I and Fig.2,Gmapping and HectorSLAM generated the map with lowest and similar error.On the other hand,KartoSLAM presented a slightly greater error,while the results of CoreSLAM presented the highest error value. Gmapping is an extremely optimized PF algorithm with an improved resampling process,and this justi?es the quality of the resulting map.Also,the scan matching process of HectorSLAM showed its ef?ciency.Nevertheless,it must be noted that the low speed commands given to the robot,in order to compensate the rate update from the LFR,have 9https://www.sodocs.net/doc/b81528209.html,/wiki/teleop_twist_keyboard

10https://www.sodocs.net/doc/b81528209.html,/wiki/rosbag TABLE II:Error estimation for each algorithm in the 1r5map.

Simulation Experiments

HectorSLAM Gmapping KartoSLAM CoreSLAM LagoSLAM

7.4581 5.3670 5.4380171.52189.3041 some in?uence in the results.Since both KartoSLAM and LagoSLAM are graph-based SLAM approaches,comparing the error between them is interesting.Both mapped success-fully the arena.However,LagoSLAM obtained the greatest error(excluding CoreSLAM).which can be explained by the impressive performance of the SPA solver method that Kar-toSLAM employs.Nevertheless,the quality of the resulting map obtained with LagoSLAM is still appropriate.

In order to compare all the SLAM approaches in a different scenario,a series of simulations using1r5map were also conducted.These results are shown in Table II Fig.3.The1r5map is a relatively large map with a low number of distinctive landmarks.In this case,HectorSLAM obtained a higher error value than Gmapping.One of the reasons is the fact that HectorSLAM relies largely in scan matching between successive measurements.The full po-tential of HectorSLAM could not be observed due to the properties of the sensor used in these simulation experiments. Beyond that,due to the reduced number of landmarks,the error grows continuously,since the scan matching process is not fed with enough information.Additionally,since it is not using odometry information,a few issues arise when traversing long corridors with?xed width.As a consequence, the inferior result obtained with HectorSLAM in this test are not surprising.Once again,the Gmapping algorithm presents exceptional results,which reveal the accuracy of PF approaches.KartoSLAM revealed the robustness of graph-based SLAM approaches,since it obtained the second lowest error value.Once again,LagoSLAM obtained an higher error value than KartoSLAM and CoreSLAM was the worst performing algorithm.Since the error values are obtained via the euclidean distance between points in the ground truth and the nearest point in the map,the errors obtained in the 1r5map map are greater than in the other experiments due to the larger dimensions of the map,this is particularly visible in the case of CoreSLAM.

(a)

HectorSLAM (b)

Gmapping (c)

KartoSLAM (d)

CoreSLAM (e)LagoSLAM

Fig.3:Occupancy Grid Maps obtained through

simulation

in the 1r5map

environment.

(a)HectorSLAM (b)Gmapping (c)KartoSLAM (d)CoreSLAM (e)LagoSLAM

Fig.4:Performance Analysis in the real world.Red represents the ground truth and blue represents the ?nal map.TABLE III:Error estimation for each algorithm in the MRL Arena (Real World Experiments).

Real World Experiments

HectorSLAM Gmapping KartoSLAM CoreSLAM LagoSLAM

1.1972

2.1716 1.031814.75333

3.02640.50940.69450.37427.94630.81811.0656

1.63540.90807.5824

2.5236

B.Real World Tests

In the real world experiments,three runs with different trajectories and initial positions were performed using a Stingbot 11robot [3],equipped with an Hokuyo URG-04LX-UG01and an Asus eeePC 1025C,running Ubuntu 11.10and ROS Fuerte.Once again,all the data was previously recorded and subsequently played back for each algorithm.Tests were conducted at the real-world MRL arena.The algorithm parameters used in the simulation experiments were again adopted.

Fig.4shows that all ?ve techniques were able to map the scenario successfully.The error obtained for each algorithm is shown in Table III.As can be seen,in general all techniques led to worse results than in simulation.This slight performance hit is due to the existence of estimation errors in the robot position and noise on the laser scanning data,while mapping the real world MRL arena.An analysis of the error can give a more accurate information about the performance of the algorithms.

Despite the differences between virtual and real world environments,the results extracted from both setups follow

11https://www.sodocs.net/doc/b81528209.html,/wiki/mrl_robots

some general trends,in particular for HectorSLAM,Gmap-ping and LagoSLAM.According to the authors of [15],CoreSLAM can have great performance in several disparate environments;however this claim is not backed up by the results extracted from our experiments.

In the KartoSLAM algorithm,the error obtained in the real world experiments was not much larger than the error in simulations.In fact,generally KartoSLAM was the best performing technique in the real world,being less affected by noise than the other methods.This can be explained,not only due to the performance of the SPA solver used in KartoSLAM,but also because it is a full SLAM approach,i.e.the map is obtained using the entire path and map and not only the most recent map and pose.The lower results of CoreSLAM in all experiments showed that its loop closure procedure rarely converges.This is clear in the video that shows a real world experiment and all the detailled results 12.Beyond the error analysis conducted,an evaluation of the computational load using each technique was carried out.A comparison of the CPU load in a Laptop equipped with an Intel Core i7-3630QM and 8Gb of RAM running each algorithm is presented in Fig.5and Table IV.

Looking closely at the results,LagoSLAM presented the highest percentages of CPU usage.Moreover,the values obtained are quite distant from the other four algorithms.This can be explained by the process developed to achieve the minimum cost function for the given graph con?guration,as referred in Section III-E.The resources needed by the

12Available

at:http://goo.gl/IMTKmt

Fig.5:Evolution of the CPU load of each SLAM method using a real world dataset.

TABLE IV:CPU Load(%)of the2D SLAM approaches: mean(ˉx),median(?x)and standard deviation(σ)values.

HectorSLAM Gmapping KartoSLAM CoreSLAM LagoSLAM ˉx 6.11077.0873 5.4077 5.521321.0839

?x 5.9250 5.5800 5.3000 5.440021.2250σ 1.993 4.4287 1.3018 1.6311 2.1684

other four approaches during the experiments are similar,as seen in Table IV.This CPU analysis reveals that all?ve algorithms analyzed are quite ef?cient in terms of resources required and can be adopted online,during?eld experiments, to map generic2D scenarios.

C.Discussion

According with our experiments,some ideas can be retained.On one hand HectorSLAM relies only in scan matching and it does not make use of odometry,which could be an advantage or disadvantage depending on the robot and the environment’s characteristics.On the other hand,ideally it should be tested with speci?c hardware such as a high rate LFR.

Gmapping showed its robustness in all experiments,since in every experiment the error and CPU load always remained low.It combines both scan matching and odometry in order to minimize the number of particles.

Both KartoSLAM and LagoSLAM are graph-based SLAM approaches,but their results were distinctively different. KartoSLAM provided accurate maps with lower CPU load, while LagoSLAM generated maps with higher error and CPU load.The reasons behind such discrepancies are related with the distinct processes of graph con?guration and graph optimization of the two techniques.

Lastly,CoreSLAM achieved the less impressive results and it is possible to denote a lack of convergence in its loop closure mechanism.CoreSLAM uses a simple PF which requires more particles,but has a lower computation power associated to each particle.According to[15],CoreSLAM uses a very simple PF to match LFR readings with the map,which could lead to an erroneous position estimation. Additionally,the focus of the original work was to provide a simple SLAM technique with the ability to navigate within long corridors without losing its location,and not the loop closing system.

V.C ONCLUSIONS

In this work,?ve representative2D SLAM algorithms available in ROS were tested through simulations and in real world experiments.A discussion of the weaknesses and strengths of each solution has been done.An accurate overview of each of the2D SLAM techniques available for ROS was provided to shed light on the choice of an approach according to one’s requirements.

In future work,we intend to develop a2D SLAM tech-nique in ROS for low visibility indoor scenarios,e.g.,due to smoke.This new technique will possibly adapt Gmapping or KartoSLAM,due to the observed performance in this article, and extend them with more sensing input information beyond LRFs;e.g.,sonars,IMUs and/or a dust sensor.

R EFERENCES

[1]S.Thrun.,W.Burgard,D.Fox.,Probabilistic Robotics,MIT Press,

2005.

[2]M.Quigley et al.,ROS:an open-source Robot Operating System.In

IEEE International Conference on Robotics and Automation(ICRA), Workshop on Open Source Software,2009.

[3] A.Ara′u jo,D.Portugal,M.Couceiro and R.P.Rocha.Integrating

Arduino-based Educational Mobile Robots in ROS,In Int.Conf.on Autonomous Robot Systems,Lisbon,Portugal,April25-29,2013. [4]S.Huang,G.Dissanayake.Convergence and Consistency Analysis for

Extended Kalman Filter Based SLAM,In IEEE Trans.on Robotics, 2(5),Oct.2007.

[5]S.Thrun, D.Fox,W.Bugard, F.Dellaert,Robust Monte Carlo

Localization for Mobile Robots,In Arti?cial Inteligence,128,2001.

[6]M.Montemerlo,S.Thrun,D.Koller,B.Wegbreit,FastSLAM:A

Factored Solution to the Simultaneous Localization and Mapping Problem,In AAAI National Conference on Arti?cial Intelligence,2002.

[7]G.Grisetti, C.Stachniss,W.Burgard.Improved Techniques for

Grid Mapping With Rao-Blackwellized Particle Filters,In Trans.on Robotics,23(1),Feb.2007.

[8] F.Lu, https://www.sodocs.net/doc/b81528209.html,ios,Globally Consistent Range Scan Alignment for

Environment Mapping,In Autonomous Robots,1997.

[9]S.Thrun,M.Montemerlo.The GraphSLAM Algorithm With Appli-

cations to Large-Scale Mapping of Urban Structures,In Proc.of the Int.Journal on Robotics Research,2005.

[10]L.Carlone,R.Aragues,J.A.Castellanos,and B.Bona.A linear

approximation for graph-based simultaneous localization and mapping, In Proc.of the Int.Conf.Robotics:Science and Systems,2011. [11]S.Kohlbrecher,J.Meyer,O.V on Stryk,U.Klingauf.A Flexible and

Scalable SLAM System with Full3D Motion Estimation,In the Int.

Symp.on Safety,Security and Rescue Robotics(SSRR),Nov.2011.

[12]R.K¨u mmerle, B.Steder, C.Dornhege,M.Ruhnke,G.Grisetti,

C.Stachniss, A.Kleiner.On Measuring the Accuracy of SLAM

Algorithms,Autonomous Robots,27(4),Nov.2009.

[13]R.Vincent,B.Limketkai,https://www.sodocs.net/doc/b81528209.html,parison of indoor robot

localization techniques in the absence of GPS,In Proc.of SPIE: Detection and Sensing of Mines,Explosive Objects,and Obscured Targets XV of Defense,Security,and Sensing Symposium,April2010.

[14]K.Konolige,G.Grisetti,R.K¨u mmerle,B.Limketkai,R.Vincent,

Ef?cient Sparse Pose Adjustment for2D Mapping,In Proc.of Int.

Conf.on Intelligent Robots and Systems(IROS),Oct.2010.

[15] B.Steux,O.El Hamzaoui.tinySLAM:A SLAM algorithm in less than

200lines C-language program,In Proc.of the Int.Conf.on Control Automation Robotics&Vision(ICARCV),Dec.2010.

[16]R.K¨u mmerle,G.Grisetti,H.Strasdat,K.Konolige,W.Burgard:g2o:

A General Framework for Graph Optimization,IEEE International

Conference on Robotics and Automation(ICRA),2011.

利用开源硬件设计抓取机器人

利用开源硬件设计抓取机器人 发表时间:2019-03-26T15:53:46.253Z 来源:《基层建设》2018年第35期作者:陈奇1 陆必云2 [导读] 摘要:抓取机器人在工业生产中成为替代人们开展复杂和危险作业的工具,它能完成简单的传递物料工作,提高生产质量,保证了产品的效率。 1江阴市富仁电力设备安装有限公司;2江阴兴澄特种钢铁有限公司摘要:抓取机器人在工业生产中成为替代人们开展复杂和危险作业的工具,它能完成简单的传递物料工作,提高生产质量,保证了产品的效率。本文就对抓取机器人的组装和工作原理作详细的描述,本文抓取机器人是基于Arduino平台的设计的,近年来开源硬件Arduino设计平台开发了大量消防机器人、智能家电等一些产品。 关键字:抓取机器人;Arduino;开源硬件 1 前言 Arduino是一款非常便捷开发板,并且是开放源程序代码和电路图的电子开发板。硬件使用的是Arduino Uno板,编译程序的软件是Arduino IDE,由意大利和西班牙的设计师首先提出。Arduino的设计主要包含两各部分:硬件部分电路主要使用的是Arduino板,软件编辑Arduino IDE,是由计算机提供。 Arduino的功能强大的原由是因为它可以通过传感器来感知环境,可以有温感,光感,湿感等一些传感器的所测数据来反馈到Arduino板上。通过这些反馈的数据板子就会根据你所需要和设置的数据来执行下一步设计的动作,控制器可以根据你所书写的程序数据来设置,以二进制文件编译,烧写进进微控制器。Arduino的编程是以Arduino的编程语言和电脑中的开发环境所提供的。总而言之,Arduino的使用难度相比单片机程序的设计降低了太多,程序简单易懂,也没有PLC那么高昂的价格,充分满足我们的试验需求和经济能力。 2 抓取机器人总体方案 2.1抓取机器人功能 六舵机自由度抓取机器人,能简单的模仿人手臂的一些动作。做一些简单的动作演示,它的动力由六个伺服舵机组成,可以实现抓取机器人的前后上下及左右抓取搬运的演示。具体动作解析如下,用手部(舵机一)抓持工作的部件,手腕(舵机二)用来旋转调整手部和被抓物体距离的调整,肘部(舵机三,四,五,)用来抬起物品,为下一步的移动做出铺垫,肩部(舵机六)用来移动物。动作覆盖地域要全面,在一定的范围能没有死角。动作指令可更改性,可以根据工作的需要,随时改变动作。程序简单化,不需要有太多程序指令,这样很不容易掌握,出现故障难以排除,动作指令不好更改。经济实用性,价格不能太贵,不管以后工作还是实验,成本节约一般都是首要条件。需要有多种控制方法,不能控制方法单一,出现困难的控制环境难以改变便,比如工作在室内,电脑就可以控制,不需要远程控制,可是在复杂的工作环境,人不可以长时间滞留的工作环境,这时候就需要改变控制方式,用远程来控制。 2.2控制模块和舵机 自由度抓取机器人的控制模块相当于电脑的主机,它是抓取机器人的核心关键,我们选用硬件体积小、价格便宜的Arduino。 本设计的抓取机器人需要用到六个舵机,本次设计不需要非常的高灵敏度和举起物品的重量,所以选择四个MG996型号的模拟舵机和两个DS3115型号的数字舵机,这样搭配着使用,既能可以相对提高抓取机器人的灵敏度,也可以降低价格成本,做上下左右的移动物品的动作。 2.3总体方案设计 控制模块选用简单易懂的Arduino模块和32路舵机控制板,这样既方便抓取机器人的制作,还方便对程序的理解。硬件模块选择DS3115和Mg996两款铁质材料的舵机,抓取机器人的机身,选择铁破质机身,这样方便后期的展示和制作。根据构思好的结构图制作硬件电路, 3 抓取机器人硬件设计 3.1 Arduino开发板 本项目选用Arduino UNO开发板,Arduino的核心芯片是AVR指令集的单片机(ATmega328)。Arduino的控制器最好的地方就是开放源程序代码和原始的电路设计,可以修改,也可以下载。可以电脑直接usb供电也可外部供应电源。支持在线烧写程序,可以直接通过USB更新程序。 3.2JOYSTICK手柄 手柄是我们本项目中必不可少的实现设备,它可以无线异地接收,不过仅限距离内控制抓取机器人。确保在危险施工现场人们可以不到现场并有目的的运用抓取机器人工作,确保工作人员的安全和提供必要的工作效率。手柄的使用和控制系统之间必须建立通信功能,在和控制系统实现通讯之前,必须要先通过Arduino和电脑之间实现通讯调试。因为本设计实现通讯的地方比较多,0、1通讯口下面要和32路舵机控制板实现通讯,所以这里不用这两个通讯口,Arduino的通讯口还有11、12、13、14,为了设计更好的进行定义了13、14口为通讯口,Arduino和手柄的通讯口对反连接,因为两个通讯之间的通讯是一个发送,另一个接收,所以通讯口要对反连接。 3.3舵机控制板 舵机控制板,它有32个通道。舵机控制板接线柱一和接线柱三为舵机供电控制(4-7V),接线柱二为控制部分供电(7-12V),主芯片为单片机,单片机上端的四个插口是通讯口(TXD、RXD、GND、VCC),驱动分辨率为1us/秒,0.09度/秒。本设计通讯的波特率为9600。舵机控制板主要负责给舵机脉宽让舵机转动,以及与Arduino之间互相通讯来给舵机脉宽和选择通道来使多个舵机达到控制的目的。 实现32路舵机控制板的控制,需要和本设计的核心控件相连,两块板子上都有通讯口,需要对反相接,信号的传递是相互的,一个发送一个接收,32路舵机控制板的驱动电源为5V,这个电源刚好可以由Arduino来提供,节省试验资源。 3.4抓取机器人系统 抓取机器人的信号发送系统为JOYSTICK手柄, Arduino为控制系统,主要是负责接收JOYSTICK手柄发送过来的信息,来处理相应的数据,在根据这些数据作出反应,舵机控制板则是等Arduuino的信息,收到Arduino的信息后根据Arduino的给的数据选择通道给舵机信号,让舵机自此转动,因为舵机里有电位器,只要舵机里的电机一但转动,电机的轴就会带动电位器的轴转动,这样电位器的阻值就会改变,根据变化的阻值,就可以知道舵机是否转动到指定的位置。 4 总结

智能制造-机器人的操作系统 精品

机器人的“操作系统”: Microsoft Robotic Studio ――让你的机器人像个人电脑一样 众所周知,微软公司(Microsoft Corp.)的Windows系列操作系统已经在个人电脑领域占据了主导地位。无论您的机器是何种品牌、何种型号、何种配置,Windows操作系统都能够轻松应对并为您提供想要的服务。同时,友好的用户界面也赢得了广大用户的青睐,使Windows成为个人电脑领域最受欢迎的操作系统。如今,这一传统正在进入欣欣发展的机器人行业,而且不仅仅局限于家用机器人领域,在工业机器人领域也已经崭露头角。这就是微软机器人工作室推出的机器人操作系统――Microsoft Robotic Studio。 在目前机器人行业的生产和开发过程中,还没有统一的平台和标准,不同公司按照不同的标准和技术路线生产和开发机器人设备。对于机器人的初学者而言进入的门槛过高,每一个开发人员都要从底层硬件入手再到上层的控制软件,大量的人力物力消耗在了重复的设计中,为了改变这一局面,为机器人开发人员能减少一些麻烦的工作和创建不同类型硬件的标准,简化对机器人的编程,把更多的精力投入机器人智能领域的研究,20XX年6月微软公司推出了“Microsoft Robotic Studio”机器人开发软件,迈出了向机器人行业进军的第一步。 微软公司于20XX年5月19日在匹兹堡举办的 RoboBusiness Conference and Exposition(机器人商业大会暨展览会)上首次发布了其机器人技术编程平台的最新版本 Microsoft Robotics Developer Studio 20XX 的社区技术预览版 (CTP)。Microsoft Robotics Developer Studio 20XX 包含对齐运行时间性能、分布式计算功能以及工具的改进。这个被称为“Microsoft Robotics Studio”(微软机器人技术工作室)的新平台主要用于机器人技术的开发,适合学术、理论和商业研究等领域。 1 Microsoft Robotic Studio的特点 Microsoft Robotic Studio(MSRS)是一个用于机器人项目的软件开发包(SDK),它主要包括可视化编程语言,机器人服务和机器人仿真三个主要部分,运行时环境可以工作在目前的机器人技术中使用的各种8、16和32位处理器上。该软件重点是让用户编写简单的模块化命令程序,并如同服务那样动作。这种程序一般不在目标机器人的有限处理器和存储器上运行,而是通过机器人定义的许多通信协议中的一种与机器人进行交互。 基于MRS开发机器人控制软件是使用“服务”概念的程序,就是将机器人的每一个子功能和任务设计成一个个独立的“服务”,该服务可以通过PC与机器人实体有线或者无线的连结来得到机器人实体上传感器的数据,并进行处理,可以向机器人实体发送控制命令,控制机器人的运动。这样的控制软件结构对应了机器人控制中基于行为的控制方法,其中的“服务”就是“行为”的软件实现。在开发机器人软件时还可以使用Microsoft提供的可视化编程语言,

2018泰雅普积木式开源机器人

2018泰雅普积木式开源机器人 “室内导航挑战赛”竞赛规则/计分表 一、竞赛任务 比赛中,机器人从起点出发,完成倒车入库的任务后找到事先放置在圆形任务区的魔方,将魔方运送到正方形任务区的魔方放置点,之后小车回到到达区。 二、竞赛细则 1、比赛时间和计分方法 每个选手有两轮比赛机会,单轮比赛时间为2分钟。单轮的比赛分=完成任务的分数+时间加成分数。竞赛成绩统计时,取两轮的最好成绩为最终比赛成绩。 2、选手/队伍顺序 单轮比赛中,上一个选手开始比赛时,会通知下一个选手上场准备。在规定时间内(裁判通知后的1分钟内)没有准备好的机器人的队伍将丧失本轮比赛机会,但不影响另一轮的比赛。 3、赛前搭建与调试 参赛队伍机器人可预先搭建和编程,比赛前一天有2小时编程调试时间。每轮比赛开始前,机器人由裁判封存,参赛队员未经允许不得再接触机器人,否则将被取消参赛资格。 4、场地 比赛场地采用彩色写真布,有效尺寸1800mm*1100mm。 从场地上的起点区域出发,各个任务区之间无任何轨迹线引导。 下图是场地图形(该图仅供2017年泰雅普积木式机器人室内导航挑战赛示例参考用,实际场地以泰雅普官方提供或购买为准):

图1.竞赛场地示意图 5、机器人规格和材料标准 (1)尺寸:机器人在起点区的最大尺寸为25cm×20cm×15cm(长×宽×高),离开出发区后,机器人的机构可以自行伸展,但必需确保通过终点区时的尺寸不大于25cm×20cm×15cm(长×宽×高)。 (2)控制器:每台机器人只允许使用一个控制器 (3)电机:机器人使用的直流电机或舵机数量不超过4个(包含4个)。 (4)传感器:机器人禁止使用带危险性传感器,如激光类传感器。相同类型的传感器数量不超过3个(包含3个)。 (5)电源:每台机器人电源类型不限,但电源输出电压不能超过10V。 三、竞赛任务 1、竞赛任务设置 小学组和中学组任务相同。 2、竞赛中每轮比赛终止说明 (1)机器人到达终点区域,该轮比赛结束; (2)竞赛中机器人脱离场地约束区,该轮比赛结束;

机器人操作调节说明书

机器人操作调节说明 1.开启机器人电箱电源,待机器人启动完毕后将将选择开关扭至手动模式,机器人处于手动工作状态;2.程序说明: a.nWheelH1放下高度 b.nWheelH2抓取高度 c.nWheelD扫粉深度(高度) d.wobjCnv1固化线解码器(坐标) e.wobjCnv2喷粉线解码器(坐标) f.tool_Grip机器人坐标 g.phome机器人原点位置 h.pReady1机器人准备位置1 i.pcln1机器人清扫位置1 j.pReady2机器人准备位置2 k.Pick机器人抓取位置 l.pLeave机器人离开位置 m.Dplace机器人放下位置 n.rOpenGripper打开夹爪 o.rCloseGripper放开夹爪 3.机器人启动完毕,按一下左上角ABB,弹出选择目录,可进入不同控制目录; 4.选择程序调试,进入各单元程序,可手动调节及测试各单元程序及位置点; 进入程序调试后选择phome,运行程序为使机器人回原点,修改phome位置为改变原点位置; 选择TSingle为校正追踪固化线输送机及追踪喷粉线输送机,具体操作步骤为: 开启固化线输送机后单步运行程序 DeactUnit CNV1; DropWObj wobjCnv1; ActUnit CNV1; 跳步将PP移至WaitWObj wobjCnv1;时连续执行程序 待出现警报立即停止固化线输送机,停止运行程序可手动操纵机器人到固化线轮毂放下位置,修改相应位置; 再次运行一次该程序,正常后完成放下轮毂位置的设定; 关于追踪喷粉线输送机位置的步骤如上; 注意:同步感应开关位置不能变更!!! 选择ClnWheel为校正清扫位置,设定好相应位置后,修改相应位置;

ABB机器人基本操作说明书书(3)

ABB机器人基本操作说明书一.认识机器人的示教器和电气柜基本按钮作用 图1——机器人示教器 图2——机器人电器柜 电气柜的总电源开关,图示状态为开启,逆时针转 就是关闭。每次断电长时间不是用的话建议关闭此 急停按钮当出现紧急状况时可按下此按钮机器人就会 立刻停止,当需要恢复按钮时只需顺时针转动即可。 上电按钮及上电指示灯,当将机器人切换到自动状态时,在示教器上点击确定后还需要按下这个按钮机器人才会进入自动运行状态 机器人运行状态切换旋钮,左边的为自动运行,中间的为手动限速运行,右侧为手动全速运行(此状态在不允许操作人员选用)。

图3——示教器上的使能按钮 这个示教器侧面的使能按钮是在手动示教时需要机器人动作时要一直按住的。它有三个档分别对应:不握住、适当力度握住、大力握住。其中只有在适当力度握住时才会起作用,此时电器柜上的上电指示灯会常亮,否则会是闪烁状态。 图4——示教器的正确握法

示教器界面上操作人员需要用到的几个按钮 图5——示教器按钮界面 右下角指示的含义 线性增量开 1-3轴增量开 4-6轴增量开 重定位增量开 增量开 增量关 图6 ——示教器右下角图示 紧急停止按钮,同图2 示教器旋钮 切换到线性或重定位状态(回原点必须用线性) 切换到单轴运动时在1-3轴和4-6轴间来回切换 增量开关按钮手动操作时一定要打开增量 手动运行程序时这些按钮分别为上一步、下一步、暂停、自动运行。

如何选择工具坐标工件坐标 1、打开手动操作界面如下 2、点击坐标系 3、选择要用的坐标点击确认

如何调整增量大小和手动状态下的机器人速度1、点击下图箭头标记处 2、点击箭头处设置增量大小

人工智能原理及其应用(王万森)第3版 课后习题答案

第1章人工智能概述课后题答案 1.1什么是智能?智能包含哪几种能力? 解:智能主要是指人类的自然智能。一般认为,智能是是一种认识客观事物和运用知识解决问题的综合能力。 智能包含感知能力,记忆与思维能力,学习和自适应能力,行为能力 1.2人类有哪几种思维方式?各有什么特点? 解:人类思维方式有形象思维、抽象思维和灵感思维 形象思维也称直感思维,是一种基于形象概念,根据感性形象认识材料,对客观对象进行处理的一种思维方式。 抽象思维也称逻辑思维,是一种基于抽象概念,根据逻辑规则对信息或知识进行处理的理性思维形式。 灵感思维也称顿悟思维,是一种显意识与潜意识相互作用的思维方式。 1.3什么是人工智能?它的研究目标是什么? 解:从能力的角度讲,人工智能是指用人工的方法在机器(计算机)上实现智能;从学科的角度看,人工智能是一门研究如何构造智能机器或智能系统,使它能模拟、延伸和扩展人类智能的学科。 研究目标: 对智能行为有效解释的理论分析; 解释人类智能; 构造具有智能的人工产品; 1.4什么是图灵实验?图灵实验说明了什么? 解:图灵实验可描述如下,该实验的参加者由一位测试主持人和两个被测试对象组成。其中,两个被测试对象中一个是人,另一个是机器。测试规则为:测试主持人和每个被测试对象分别位于彼此不能看见的房间中,相互之间只能通过计算机终端进行会话。测试开始后,由测试主持人向被测试对象提出各种具有智能性的问题,但不能询问测试者的物理特征。被测试对象在回答问题时,都应尽量使测试者相信自己是“人”,而另一位是”机器”。在这个前提下,要求测试主持人区分这两个被测试对象中哪个是人,哪个是机器。如果无论如何更换测试主持人和被测试对象的人,测试主持人总能分辨出人和机器的概率都小于50%,则认为该机器具有了智能。 1.5人工智能的发展经历了哪几个阶段? 解:孕育期,形成期,知识应用期,从学派分立走向综合,智能科学技术学科的兴起

机器人系统常用仿真软件介绍

1 主要介绍以下七种仿真平台(侧重移动机器人仿真而非机械臂等工业机器人仿真): 1.1 USARSim-Unified System for Automation and Robot Simulation USARSim是一个基于虚拟竞技场引擎设计高保真多机器人环境仿真平台。主要针对地面机器人,可以被用于研究和教学,除此之外,USARSim是RoboCup救援虚拟机器人竞赛和虚拟制造自动化竞赛的基础平台。使用开放动力学引擎ODE(Open Dynamics Engine),支持三维的渲染和物理模拟,较高可配置性和可扩展性,与Player兼容,采用分层控制系统,开放接口结构模拟功能和工具框架模块。机器人控制可以通过虚拟脚本编程或网络连接使用UDP协议实现。被广泛应用于机器人仿真、训练军队新兵、消防及搜寻和营救任务的研究。机器人和环境可以通过第三方软件进行生成。软件遵循免费GPL条款,多平台支持可以安装并运行在Linux、Windows和MacOS操作系统上。 1.2 Simbad Simbad是基于Java3D的用于科研和教育目的多机器人仿真平台。主要专注于研究人员和编程人员热衷的多机器人系统中人工智能、机器学习和更多通用的人工智能算法一些简单的基本问题。它拥有可编程机器人控制器,可定制环境和自定义配置传感器模块等功能,采用3D虚拟传感技术,支持单或多机器人仿真,提供神经网络和进化算法等工具箱。软件开发容易,开源,基于GNU协议,不支持物理计算,可以运行在任何支持包含Java3D库的Java客户端系统上。 1.3 Webots Webots是一个具备建模、编程和仿真移动机器人开发平台,主要用于地面机器人仿真。用户可以在一个共享的环境中设计多种复杂的异构机器人,可以自定义环境大小,环境中所有物体的属性包括形状、颜色、文字、质量、功能等也都可由用户来进行自由配置,它使用ODE检测物体碰撞和模拟刚性结构的动力学特性,可以精确的模拟物体速度、惯性和摩擦力等物理属性。每个机器人可以装配大量可供选择的仿真传感器和驱动器,机器人的控制器可以通过内部集成化开发环境或者第三方开发环境进行编程,控制器程序可以用C,C++等编写,机器人每个行为都可以在真实世界中测试。支持大量机器人模型如khepera、pioneer2、aibo等,也可以导入自己定义的机器人。全球有超过750个高校和研究中心使用该仿真软件,但需要付费,支持各主流操作系统包括Linux, Windows和MacOS。 1.4 MRDS-Microsoft Robotics Developer Studio MRDS是微软开发的一款基于Windows环境、网络化、基于服务框架结构的机器人控制仿真平台,使用PhysX物理引擎,是目前保真度最高的仿真引擎之一,主要针对学术、爱好者和商业开发,支持大量的机器人软硬件。MRDS是基于实时并发协调同步CCR(Concurrency and Coordination Runtime)和分布式软件服务DSS(Decentralized Software Services),进行异步并行任务管理并允许多种服务协调管理获得复杂的行为,提供可视化编程语言(VPL)和可视化仿真环境(VSE)。支持主流的商业机器人,主要编程语言为C#,非商业应用免费,但只支持在Windows操作系统下进行开发。 1.5 PSG-Player/Stage/Gazebo

机器人操作系统ROS典型功能实现方法详解

机器人操作系统R O S典 型功能实现方法详解 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

机器人操作系统ROS: 典型功能实现方法详解 李宝全ROS体系 版本: Hydro 2013-09-04 Groovy 2012-12-31 Fuerte 2012-04-23 Electric Diamondback ROS是一种分布式的处理框架。 文件系统:在硬盘上查看的ROS源代码的组织形式 包 Package: 含有或 比如下文中的turtlebot_teleop,turtlebot_bringup。 堆:Stack 包的集合 含有 编译方法: catkin:Groovy及以后版本 rosbuild:用于Fuerte及以前版本 常用命令: rostopic list;列出系统中的所有Topic rosdep:安装依赖包,例如 rosdep install rosaria 安装时,需要先建一个工作空间,然后把gitgub网站上相应的包下载到src文件夹下,再执行该语句。具体见“ROSARIA配置与运行”一节。

环境变量设置:export 例如: export ROS_HOSTNAME=marvin export ROS_MASTER_URI= Bulks给的一些有用的命令 rosnode info /rosaria_teleop_key_1 rosrun rqt_robot_steering rqt_robot_steering rosrun rqt_gui rqt_gui rostopic help rosnode help rosnode info /RosAria rosnode info /rosaria_teleop_key_1 rosnode list echo $ROS_HOSTNAME ROS安装 安装教程: 安装keys 安装 使Debian包为最新:sudo apt-get update Full安装:sudo apt-get install ros-hydro-desktop-full 会出现一个界面,利用Tab选择Yes即可 成功则提示:ldconfig deferred processing now taking place 找到可以使用的包: apt-cache search ros-hydro 初始化rosdep sudo rosdep init rosdep update 环境设置 echo "source /opt/ros/hydro/" >> ~/.bashrc source ~/.bashrc 得到rosintall sudo apt-get install python-rosinstall TurtleBot 配置与运行 介绍TurtleBot的主页面(安装&运行): TurtleBot包(Package)的安装过程 安装(/// ):按照Debs Installation按照方法来安装: 1.首先安装:> sudo apt-get install ros-hydro-turtlebot ros-hydro-turtlebot-apps ros-hydro- turtlebot-viz ros-hydro-turtlebot-simulator ros-hydro-kobuki-ftdi 2.之后加入sourse的bash中:> . /opt/ros/hydro/. 说明: a)在终端中输入这一行后很快就结束. b)效果是在.bashrc(Home中的隐藏文件)的最后一行加入了"source /opt/ros/hydro/", c)效果等效于命令> echo "source /opt/ros/hydro/" >> ~/.bashrc. 这样的话就不用每次启 动都输入命令“source /opt/ros/hydro/”了. d)这个好像在安装ROS时已经执行过了,不需要再执行一次吧 3.之后加入kobuki的udev规则:> rosrun kobuki_ftdi create_udev_rules 安装完之后还需要加入网络时间控制(/// ), 否则与kokuki无法通讯. 1.首先安装chrony:sudo apt-get install chrony 问题:我重装系统后再安装turtlebot后,连接不上kokuki,但能正常连接Kinect。在命令

基于开源软件Ardusub的水下机器人ROV控制系统

基于开源软件Ardusub的水下机器人ROV控制系统 摘要:随着海洋资源开发以及水下领域作业任务的增加,水下机器人在水下作 业中发挥着越来越重要的作用。ROV作为水下作业的重要工具,对运动控制算法 要求较高,采用开源软件ArduSub,结合一种模糊串级PID控制算法实现ROV控 制系统的设计,重点对ArduSub的特点、适应配置及PID控制算法原理,包含运 动和姿态方面进行了阐述,能够良好实现ROV的水下控制。 1引言 随着海洋资源开发以及水下领域作业任务的增加,水下机器人在水下作业中 发挥着越来越重要的作用。其中ROV续航持久,成本相对较低,逐渐成为水下作 业的重要工具。ROV工作于水下环境,具有非线性、易受环境影响等特点,对运 动控制算法要求较高,同时要求整个控制系统要有较好的实时性和可靠性。 2开源软件ArduSub简介 ArduSub水下机器人的控制器是一个完整的开源解决方案,提供远程操作控 制(通过智能潜水模式)和全自动的执行任务。作为DroneCode软件平台的一部分,它能够无缝地使用地面控制站的软件,可以监控车辆遥测和执行强大的任务规划 活动。它还受益于DroneCode平台的其他部分,包括模拟器,日志分析工具,为 车辆管理和控制和更高层次的api。 其主要特点在于以下几个方面: 反馈控制和稳定性:ArduSub控制器基于多旋翼自动驾驶系统,具有精确的 反馈控制,可主动维持方向。 深度保持:使用基于压力的深度传感器,ArduSub控制器可以将深度保持在 几厘米内。 航向保持:默认情况下,ArduSub在未命令转动时自动保持其航向。 相机倾斜:通过操纵杆或游戏手柄控制器与伺服或万向节电机进行相机倾斜 控制。 灯光控制:通过操纵杆或游戏手柄控制器控制海底照明。 无需编程:ArduSub控制器适用于各种ROV配置,无需任何自定义编程。大 多数参数可以通过地面控制站轻松更改。 兼容性好:ArduSub兼容许多不同的ROV框架,支持PWM输出。 由于以上特征,使得ArduSub成为一款可以很好适用于水下机器人RPV控制 系统的开源软件。 ArduSub兼容基于串行和以太网的通信接口。使用的硬件自动驾驶仪必须支 持选择的选项。Pixhawk仅支持串行连接,但可以通过配套计算机连接到以太网。其他autopilots原生支持以太网。ArduSub软件主要用于通过ArduSub进行接口,ArduSub是一种开源的跨平台用户界面,适用于所有类型的无人机。该接口通过 系绳连接到ArduSub控制器并显示车辆状态信息,并允许更新参数和设置。最重 要的是,QGC与用于指挥车辆的操纵杆或游戏手柄控制器连接。 ArduSub包含一个高级的电机库,支持多个框架,例如具有6自由度推进器 定位的BlueROV配置(图1所示)、带有并排垂直推进器的矢量ROV(图2所示)、采用单垂直推进器的ROV(图3所示)等等。 在传感器和执行器方面,除了标准的板载传感器(IMU,指南针),ArduSub

机器人操作系统ROS Indigo 入门学习(2)——安装和配置你的ROS环境

这个教程将会带你走过在你的计算机上安装ROS和设置ROS环境变量。 1.安装ROS 请参考前面的教程。 注意:当你用像apt这样的软件包安装管理器安装ROS,那么这些软件包用户是没有权利的去编辑的,当创建一个ROS package和处理一个ROS package时,你应该始终选择一个你有权限工作的目录作为工作目录。 2.管理你的环境 在安装ROS的时候,你会看到提示区source(命令)几个setup.*sh文件,或者甚至添加“sourcing”到你的shell启动脚本中。这是必须的,因为ROS依赖在结合使用shell环境空间的概念上。这使得开发依赖不同版本的ROS或者不同系列的package更加容易。 如果你在寻找或者使用你的ROS package上有问题,请确定的你的ROS环境变量设置好了,检查是否有ROS_ROOT and ROS_PACKAGE_PATH这些环境变量。 export | grep ROS 如果没有你需要使用‘source’一些setup.*sh文件。 环境设置文件时为你产生的,但是可以来自不同的地方: 使用package 管理器安装的ROS package提供setup.*sh文件; rosbuild workspace使用像rosws这样的工具提供setup.*sh文件; setup.*sh文件在编译和安装catkin package时作为副产品创建。 注意:rosbuild和catkin是两种组织和编译ROS代码的方式,前者简单易用,后者更加复杂但是提供更多灵活性尤其是对那些需要去集成外部代码或者想发布自己软件的人。 如果你在ubuntu上使用apt工具安装ROS,那么你会在'/opt/ros//' 目录中有setup.*sh文件,你可以这样‘source’它们: # source /opt/ros//setup.bash 这样的你每次打开你的新的shell都需要运行这个命令,如果你把source /opt/ros/indigo/setup.bash添加进.bashrc文件就不必要每次打开一个新的shell都运行这条命令才能使用ROS的命令了。 3、创建ROS工作环境 对于ROS Groovy和之后的版本可以参考以下方式建立catkin工作环境:

机器人操作系统

机器人操作系统ROS 1.何谓ROS ROS是一个机器人软件操作平台,前身由斯坦福大学(Stanford Artificail Intelligence Laboratory)所研发。它提供一些标准操作系统服务,目前主要支持Ubuntu操作系统。ROS 可分为两层,低层是操作系统层,高层是实现不同功能的软件包。 2.ROS的版本 ROS1.0版本叫做Box Turtle,2010年3月2日发布;ROS 1.1-1.2 C Turtle,2010年8月2日发布;ROS 1.3-1.4 Diamondback,2011年3月2日发布。 3.ROS文件系统的概念和操作 (1)ROS文件系统的概念 Packages: 它位于ROS软件的最底层,可以包含任意的东西: libraries,tools,executables,etc. Manifest: 是package的描述。其最重要的角色是定义packages之间的依赖关系(manifest.xml)。 Stacks: 它是package的集合,是一个更高层的library。 Stack Manifest: stack的描述(stack.xml)。 setup.sh文件设置ROS工作区的环境变量。 source ~/setup.sh:将设置永久化。 此时键入echo $ROS_PACKAGE_PATH 指令,会看到类似于 home/user/ros_workspace:/opt/ros/electric/stacks 的路径。 (2)ROS文件系统的操作 a.rospack find [package name] 返回指定package的路径(rospack提供与package相关的信息)。 b.rosstack find [stack name] 返回指定stack的路径; c.roscd 更改文件夹;

ABB机器人操作培训SCIRB说明书_完整版

S4C IRB 基本操作 培训教材 目录 1、培训教材介绍 2、机器人系统安全及环境保护 3、机器人综述 4、机器人启动 5、用窗口进行工作 6、手动操作机器人 7、机器人自动生产 8、编程与测试 9、输入与输出 10、系统备份与冷启动 11、机器人保养检查表 附录1、机器人安全控制链 附录2、定义工具中心点

附录3、文件管理 1、培训教材介绍 本教材解释ABB机器人的基本操作、运行。 你为了理解其内容不需要任何先前的机器人经验。 本教材被分为十一章,各章分别描述一个特别的工作任务和实现的方法。各章互相间有一定联系。因此应该按他们在书中的顺序阅读。 借助此教材学习操作操作机器人是我们的目的,但是仅仅阅读此教材也应该能帮助你理解机器人的基本的操作。 此教材依照标准的安装而写,具体根据系统的配置会有差异。 机器人的控制柜有两种型号。一种小,一种大。本教材选用小型号的控制柜表示。大的控制柜的柜橱有和大的一个同样的操作面板,但是位于另一个位置。 请注意这教材仅仅描述实现通常的工作作业的某一种方法,如果你是经验丰富的用户,可以有其他的方法。 其他的方法和更详细的信息看下列手册。 《使用指南》提供全部自动操纵功能的描述并详细描述程序设计语言。此手册是操作员和程序编制员的参照手册。 《产品手册》提供安装、机器人故障定位等方面的信息。 如果你仅希望能运行程序,手动操作机器人、由软盘调入程序等,不必要读8-11章。

2、机器人系统安全及环境保护 机器人系统复杂而且危险性大,在训练期间里,或者任何别的操作过程都必须注意安全。无论任何时间进入机器人周围的保护的空间都可能导致严重的伤害。只有经过培训认证的人员才可以进入该区域。请严格注意。 以下的安全守则必须遵守。 万一发生火灾,请使用二氧化碳灭火器。 急停开关(E-Stop)不允许被短接。 机器人处于自动模式时,不允许进入其运动所及的区域。 在任何情况下,不要使用原始盘,用复制盘。 搬运时,机器停止,机器人不应置物,应空机。 意外或不正常情况下,均可使用E-Stop键,停止运行。在编程,测试及维修时必须注意既使在低速时,机器人仍然是非常有力的,其动量很大,必须将机器人置于手动模式。 气路系统中的压力可达0.6MP,任何相关检修都要断开气源。 在不用移动机器人及运行程序时,须及时释放使能器(Enable Device)。 调试人员进入机器人工作区时,须随身携带示教器,以防他人无意误操作。 在得到停电通知时,要预先关断机器人的主电源及气源。 突然停电后,要赶在来电之前预先关闭机器人的主电源开关,并及时取下夹具上的工件。

机器人系统常用仿真软件介绍概要

1 主要介绍以下七种仿真平台 (侧重移动机器人仿真而非机械臂等工业机器人仿真 : 1.1 USARSim-Unified System for Automation and Robot Simulation USARSim 是一个基于虚拟竞技场引擎设计高保真多机器人环境仿真平台。主要针对地面机器人, 可以被用于研究和教学, 除此之外, USARSim 是 RoboCup 救援虚拟机器人竞赛和虚拟制造自动化竞赛的基础平台。使用开放动力学引擎 ODE(Open Dynamics Engine,支持三维的渲染和物理模拟,较高可配置性和可扩展性,与 Player 兼容,采用分层控制系统, 开放接口结构模拟功能和工具框架模块。机器人控制可以通过虚拟脚本编程或网络连接使用 UDP 协议实现。被广泛应用于机器人仿真、训练军队新兵、消防及搜寻和营救任务的研究。机器人和环境可以通过第三方软件进行生成。软件遵循免费 GPL 条款, 多平台支持可以安装并运行在Linux 、 Windows 和 MacOS 操作系统上。 1.2 Simbad Simbad 是基于 Java3D 的用于科研和教育目的多机器人仿真平台。主要专注于研究人员和编程人员热衷的多机器人系统中人工智能、机器学习和更多通用的人工智能算法一些简单的基本问题。它拥有可编程机器人控制器, 可定制环境和自定义配置传感器模块等功能, 采用 3D 虚拟传感技术, 支持单或多机器人仿真,提供神经网络和进化算法等工具箱。软件开发容易,开源,基于 GNU 协议,不支持物理计算,可以运行在任何支持包含 Java3D 库的 Java 客户端系统上。 1.3 Webots Webots 是一个具备建模、编程和仿真移动机器人开发平台, 主要用于地面机器人仿真。用户可以在一个共享的环境中设计多种复杂的异构机器人, 可以自定义环境大小, 环境中所有物体的属性包括形状、颜色、文字、质量、功能等也都可由用户来进行自由配置,它使用 ODE 检测物体碰撞和模拟刚性结构的动力学特性, 可以精确的模拟物体速度、惯性和摩擦力等物理属性。每个机器人可以装配大量可

机器人操作系统.

机器人操作系统 ROS 1. 何谓 ROS ROS 是一个机器人软件操作平台,前身由斯坦福大学 (Stanford Artificail Intelligence Laboratory 所研发。它提供一些标准操作系统服务,目前主要支持Ubuntu 操作系统。 ROS 可分为两层,低层是操作系统层,高层是实现不同功能的软件包。 2.ROS 的版本 ROS1.0版本叫做 Box Turtle,2010年 3月 2日发布; ROS 1.1-1.2 C Turtle, 2010年 8月 2日发布; ROS 1.3-1.4 Diamondback,2011年 3月 2日发布。 3.ROS 文件系统的概念和操作 (1ROS文件系统的概念 Packages: 它位于 ROS 软件的最底层,可以包含任意的东西 : libraries,tools,executables,etc. Manifest: 是 package 的描述。其最重要的角色是定义 packages 之间的依赖关系 (manifest.xml 。 Stacks: 它是 package 的集合,是一个更高层的 library 。 Stack Manifest: stack的描述(stack.xml 。 setup.sh 文件设置 ROS 工作区的环境变量。 source ~/setup.sh:将设置永久化。 此时键入 echo $ROS_PACKAGE_PATH 指令,会看到类似于 home/user/ros_workspace:/opt/ros/electric/stacks

的路径。 (2 ROS 文件系统的操作 a.rospack find [package name] 返回指定 package 的路径 (rospack 提供与 package 相关的信息。 b.rosstack find [stack name] 返回指定 stack 的路径; c.roscd 更改文件夹; d.rosls 允许根据名字而不是 package 路径直接列出 package 、 stack 等的内容。 e.TAB 键可以在前边有提示的情况下,代替后面的字符。 4. 在工作区中创建一个新的 package 的方法 $ cd ~/ros_workspace //挺像 dos 的 $ roscreate-pkg beginner_tutorials std_msgs rospy roscpp 5. 建立一个 ROS package rosdep = ros+dep(endencies : a tool to install package dependencies rosmake = ros+make : makes (compiles a ROS package ROS (机器人操作系统, Robot Operating System , 是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统(后操作系统 ,提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。

人工智能及其应用 习题参考答案 第1章

第一章绪论 1 什么是人工智能?试从学科和能力两方面加以说明。 答:人工智能(学科):人工智能(学科)是计算机科学中涉及研究、设计和应用智能机器的一个分支。其近期的主要目标在于研究用机器来模仿和执行人脑的某些智力功能,并开发相关理论和技术。 人工智能(能力):人工智能(能力)是智能机器所执行的通常与人类智能有关的智能行为,如判断、推理、证明、识别、感知、理解、通信、设计、思考、规划、学习和问题求解等思维活动。 2 为什么能够用机器(计算机)模仿人的智能? 答:物理符号系统假设:任何一个系统,如果它能够表现出智能,那么它就必定能够执行上述 6 种功能。反之,任何系统如果具有这6种功能,那么它就能够表现出智能;这种智能指的是人类所具有的那种智能。 推论:既然人是一个物理符号系统,计算机也是一个物理符号系统,那么就能够用计算 机来模拟人的活动。 因此,计算机可以模拟人类的智能活动过程。 3.现在人工智能有哪些学派?它们的认知观是什么? 答:符号主义,又称为逻辑主义、心理学派或计算机学派。认为人工智能源于数理逻辑。连接主义,又称为仿生学派或生理学派。认为人工智能源于仿生学,特别是人脑模型的研究。

行为主义,又称为进化主义或控制论学派。认为人工智能源于控制论。 4.你认为应从哪些层次对认知行为进行研究? 答:应从下面4个层次对谁知行为进行研究: (1)认知生理学:研究认知行为的生理过程,主要研究人的神经系统(神经元、中枢神经系统和大脑)的活动。 (2)认知心理学:研究认知行为的心理活动,主要研究人的思维策略。 (3)认知信息学:研究人的认知行为在人体内的初级信息处理,主要研究人的认知行为如何通过初级信息自然处理,由生理活动变为心理活动及其逆过程 (4)认知工程学:研究认知行为的信息加工处理,主要研究如何通过以计算机为中心的人工信息处理系统,对人的各种认知行为(如知觉、思维、记忆、语言、学习、理解、推理、识别等)进行信息处理。 5.人工智能的主要研究和应用领域是什么? 答:问题求解,逻辑推理与定理证明,自然语言理解,自动程序设计,专家系统,机器学习,神经网络,机器人学,模式识别,机器视觉,智能控制,智能检索,智能调度与指挥,分布式人工智能与 Agent,计算智能与进化计算,数据挖掘与知识发现,人工生命。 6、人工智能的发展对人类有哪些方面的影响?试结合自己了解的情况何理解,从经济、社会何文化等方面加以说明?

开源机器人软件基于DDS扩展了通讯和运动功能

开源机器人软件基于DDS扩展了通讯和运动功能 发布时间:2016-09-28 来源:控制工程网 ROS-I是一个由美国西南研究所(SwRI)创立的开源工业机器人软件框架和工作组。ROS 代表机器人运行系统,ROS-I将ROS进行了扩展,对那些从工人和技术人员角度寻求提高工厂车间效率的生产制造公司提供了帮助。2015年的进展包括在扩展通讯总线支持方面发展的显著进步,支持包括Profinet协议、以及其他工业以太网协议和软件等。 目前位于美国和欧洲的ROS-I联盟在2015年取得巨大的进步。“看上去,欧洲的中小企业是科技创新的主力军,特别是在机器人领域,大的企业相对更加保守。”SwRI的ROS 工业联盟美国项目经理Paul Hvass讲到。 德国弗劳恩霍夫制造技术与自动化研究所(Fraunhofer IPA)的资深研究科学家Mirko Bordignon提供了两个关于在欧洲以不同方式实施ROS-I的例子。 “通过与Fraunhofer IPA的合作,Br自动化公司开发的无人搬运车(AGV)被用于一家汽车制造厂。AGV借助ROS-I可以在不借助地面轨道或墙面反射的情况下自主导航。”他讲道,“另外,像意大利的系统集成商IT+Robotics也在扩大ROS-I科技的使用,不仅用于将更多性能(例如可以通过ROS信息自然地控制运动控制器)装备到工业自动化部件上,并且在将不同的机器集成到生产线上时利用机器人友好的ROS中间件。” 据Hvass介绍,在美国,大的最终用户已经成为使用ROS-I的最强大的力量。系统集成商显示出来的兴趣也越来越浓,而设备制造商的反响各种各样。“很多反响都是积极的,”Hvass谈道,“不过目前只有ROS-I的用户团体才支持一些频繁使用的设备软件接口,我们将继续寻求来自设备制造商的最强的支持。” 不仅获得了企业方面的积极响应,ROS-I来自教育机构的支持很很多。德州大学奥斯汀分校、德州大学阿灵顿分校以及伦斯勒理工学院(RPI)都是ROS-I联盟成员,而乔治亚理工大学和意大利理工学院是ROS-I的参与者。 2016年, ROS-I正在设定另一个巨大的快速发展的目标市场:亚洲。“我们正处于寻求来自RIC-Asia的感兴趣合作伙伴的过程中。”Havass谈道,“我们正在寻求一个SwRI 姊妹机构:一个具有独立的、应用研发能力,具备工厂自动化经验和ROS经验的组织。”Hvass 补充道,他们已经收到来自多家有兴趣在亚洲扩大ROS-I联盟的同行的申请。 软件开发与升级 2015年ROS组织的一个主要活动是来推出来自于开源机器人基金会(OSRF)的ROS2.0内核的阿尔法版本,这使得内核ROS软件与苹果、Linux以及微软Windows相兼容,这让ROS 软件使用范围更广。2015年的另一个大的进展是将ROS-I与Profinet兼容。这让ROS-I与标准的以太网特性相兼容,并可以更加广泛的用于自动化应用。这意味着可以让工业现场总线用于开源ROS项目中,包括EtherNet/IP、EtherCAT以及CANopen。 “放到一起来看,这些项目现在为ROS-I开发人员提供了多种读取传感器数据和在现代通讯网络上控制执行器的选项。”Hvass讲到。 Hvass说在他们2016年的Profinet项目中的预期进展会集中在为标准以太网设备创建

相关主题