International Journal of Automation and Computing  2018, Vol. 15 Issue (5): 515-524   PDF    
Software for Small-scale Robotics: A Review
Tobias Tiemerding1,2, Sergej Fatikow1     
1 Department of Computing Science, Division Microrobotics and Control Engineering (AMiR), University of Oldenburg, Ammerländer Heerstraße 114-118, Oldenburg D-26129, Germany;
2 OFFIS–Institute for Information Technology, R&D Division Automation and Integration Technology (AIT), Escherweg 2, Oldenburg D-26121, Germany
Abstract: In recent years, a large number of relatively advanced and often ready-to-use robotic hardware components and systems have been developed for small-scale use. As these tools are mature, there is now a shift towards advanced applications. These often require automation and demand reliability, efficiency and decisional autonomy. New software tools and algorithms for artificial intelligence (AI) and machine learning (ML) can help here. However, since there are many software-based control approaches for small-scale robotics, it is rather unclear how these can be integrated and which approach may be used as a starting point. Therefore, this paper attempts to shed light on existing approaches with their advantages and disadvantages compared to established requirements. For this purpose, a survey was conducted in the target group. The software categories presented include vendor-provided software, robotic software frameworks (RSF), scientific software and in-house developed software (IHDS). Typical representatives for each category are described in detail, including SmarAct precision tool commander, MathWorks Matlab and national instruments LabVIEW, as well as the robot operating system (ROS). The identified software categories and their representatives are rated for end user satisfaction based on functional and non-functional requirements, recommendations and learning curves. The paper concludes with a recommendation of ROS as a basis for future work.
Key words: Robotic control     software engineering     micro/nano robotics     artificial intelligence (AI)     machine learning (ML)     open source    
1 Introduction

Matter on the micro-scale to nano-scale (below 100 nm in a least one dimension) has significantly different properties than matter on large scales. These properties, such as the large surface-to-volume ratio, can provide interesting effects beneficial for multiple kinds of applications, ranging from healthcare to photonics[13].

Small-scale robotics (SSR), a relatively young field of research established only in the last decade of the 20th century, is a key enabling technology for exploiting these properties. Defined by Abbott et al.[2], small-scale refers to the manipulation of objects with dimensions in the millimeter to micrometer range (micromanipulation). A similar definition can be applied to larger millirobots (less than a centimeter) and the considerably smaller nanorobots (dimensions at or below 1 micrometer)[4, 5]. Typical applications are microassembly[68], material testing[9], cell manipulation for intracytoplasmic sperm injection (ICSI), or eye surgery using mobile magnetic microrobots[10]. Contact microrobotic manipulation is maturing and industrial demand is growing daily. Mobile microrobots begin their journey of bio-applications with potentially huge impact[1, 11]. At present, most applications are more of prototypical nature. Tasks are executed serially, via telecontrol and/or depend on a large variety of variables. Full automation is rare and industrial applicability can be questioned (at the moment).

Companies or research institutes have already developed quite advanced and often ready-to-use robotic hardware components and systems for these applications. They range from simple micro- and nano- positioners (e.g., Aerotech, Physik Instrumente and SmarAct) to magnetic coil actuators for microwimmer/nanoswimmer, to ready-to-use multi degree of freedom (DOF) microrobots (e.g., Imina technologies miBot). Some components have established themselves as quasi standard, e.g., SmartAct SLC positioners′ series. They can be found in numerous applications and laboratories worldwide[8, 1216].

Succeeding the development of technological fundamentals (especially mechatronically), a focus shift towards software (development) for SSR is indispensable, since all applications require a kind of software-based control. SSR is hungry for methods that enable automation and improve the reliability, efficiency and decisional autonomy. The current boom of artificial intelligence (AI) and machine learning (ML) offers a good selection of suitable tools. These include Tensorflow (Google), Open Neural Network Library (OpenNN, ArteInics), Opencog, Caffee (Facebook) or openEASE[1720]. Integrating SSR software with the AI and ML tools is a promising approach to address the above-mentioned current and future challenges. This is a major task which requires the cooperation of many actors on a common basis. However, this common basis as a starting point is difficult to determine for various reasons, in particular due to the lack of (public) discussion.

The aim of this paper is therefore to shed light on (all) existing approaches with their advantages, disadvantages and to evaluate them. For this purpose, an extensive survey was conducted among the target group (described in Section 2). The identified software categories and their representatives are then described in detail (Section 3) and rated according to various parameters in Section 4. These include functional and non-functional requirements, learning time and recommendations. The paper concludes with a summary and a recommendation for further work (Section 5). This will hopefully help software developers and application engineers to find a suitable starting point. Thus, enabling advanced solutions and furthermore stop constant reinvention[21].

2 Survey questionnaire 2.1 Objective and structure

The conducted survey carried out several goals: 1) examine the end user requirements on SSR software and 2) identify the commonly used software tools in relation to different categories: vendor-provided software, robotic software frameworks (RSF), scientific software and in-house developed software (IHDS). These categories evolved from preliminary discussions and extensive literature research. They were later confirmed by the survey.

The overall questionnaire comprised 53 questions: Nine administrative questions (Sections 1, 3, 4) and eleven questions for each software in Section 2. These sections were optional and only queried when software of the corresponding category was in use. Most interviewees did not have to answer all the questions. Section 2 were split into questions 1) regarding the specifications, 2) ranking in regards to the given requirements, 3) advantages, weaknesses and limitations, as well as 4) usage pattern, learning curves and 5) user opinions.

Questions about preferences used a Likert scale (e.g., very important (4), fairly important (3), not so important (2), not at all important (1)), including a don′t know option. It was decided to omit a mid-point, as it can lead to distortions in results and furthermore urges an interviewee to make a decision due to satisfying, ambivalence, and social desirability bias[22, 23]. Opinionated questions (e.g., What are the weaknesses?) were open-ended instead of providing several options. By avoiding suggestions, we expected unbiased responses and revealing how participants really feel about the software in question.

2.2 Target group and reply rate

The questionnaire was distributed to members and affiliates of the IEEE Robotics & Automation Society Technical Committee on Micro/Nano Robotics and Automation (IEEE-RAS TC MNRA) via mail and published online. Of the 115 people contacted (up to three times using follow-ups), 25 (21.7%) answered the questionnaire. This corresponds to the current trend in online surveys[24]. Therefore, the results presented below are more qualitative than quantitative and may show a non-response bias. Seven respondents came from companies and industry, 14 from higher education and 11 from research institutions (multiple answers were possible here). Respondents have been using SSR in the diverse fields of aeronautics & astronautics, automation, biotechnology & life science, material research, medicine & healthcare, microassembly & nanoassembly, microscopy, military, nanoelectromechanical systems (NEMS) & microelectromechanical systems (MEMS), optics & photonics, physics, and sensing & actuation (multiple answers were possible here).

3 Currently used software

As described in Section 2.1, software from four categories is used with and for SSR. The survey confirmed this assumption and several representatives were found for each category. The reasons for this diversity are manifold and homemade:

First, most setups and applications are highly different, even if they perform similar task (see [25] and Fig. 1). This makes it impossible to simply transfer existing solutions.

Download:
Fig. 1. Precision Tool Commander 2, a GUI for controlling SmarAct positioning systems using mouse and keyboard input (Image courtesy of SmarAct GmbH)

Second, SSR software is little or not at all discussed. If so, the focus is mainly on a certain control algorithm or automation strategy[14, 2628]. A description of the underlying software is extremely rare[2931]. This is clearly opposed to macrorobotics[3235].

Third, the research community is small and scattered all over the world. This complicates both the exchange of solutions and the establishment of (industry) standards. SSR software has no big player, such as the open source robotics foundation (OSRF) for the robot operating system (ROS)[33], which defines a basic strategic course.

Sections 3.1 to 3.4 will describe the categories in detail, including mentioned representatives (overall more than 30). Market shares within the respondents and actual use (time wise), will be given subsequently.

3.1 Vendor-provided software

There is a common basis of components used (see Section 1). These include (without claim of completeness)[25, 29]:

1) Positioners with different accuracies from Aerotech, Physik Instrumente (PI), Thorlabs or SmarAct.

2) Ready-to-use microrobots and assembly stations from Imina technologies, SmarAct and Zyvex.

3) Image acquisition systems, such as microscopes including scanning electron microscopes (SEM), scanning probe microscopes (SPM), magnetic resonance imaging (MRI), or standard/industry cameras.

4) Data acquisition systems, such as National Instrument (NI) DAQ / CompactDAQ.

Generally, these components are delivered as a package with the corresponding software. This software enables basic operations, such as axis movements, system status readout or simple image acquisition and modification.

A frequently mentioned representative is the modular control system (MCS) supplied by SmarAct. It includes the so-called Precision Tool Commander (PTC) (see Fig. 1). The graphical user interface (GUI) can be used to control linear and rotary positioners, goniometers and micro-grippers by mouse or keyboard input. Another representative is IC capture by The Imaging Source Europe. This software allows images acquisition from imaging source video devices (industrial cameras, frame grabbers, and video converters) and changing device properties (e.g., image brightness). Other representatives mentioned were Pointgray FlyCapture, Cognex VisionPro (both machine vision), Beckhoff TwinCat (SPS programmable logic control), PI PIMikroMove (positioner control), or dSPACE control desk (ECU development environment)[36].

These packages often include plugins for scientific software (see Section 3.3) and application programming interfaces (API). These APIs can be used for integration with RSFs or IHDSs (see Sections 3.2 and 3.4). Common used APIs are Aerotech Ensemble, PI general command set (GCS) or SmarAct MCS.

3.2 Robot software frameworks

An RSF, also known as robotic middleware, is a collection of programs, algorithms and user interfaces that allow the user to easily operate robots. RSFs originate from the field of macrorobotics. They are optimized for the typical tasks such as path planning, navigation and kinematic solving. They offer support for some popular robots out of the box and significantly reduce development times[12].

Overall, the ROS is the most popular RSF – not just within SSR (57.2%). As the term operation system (OS) suggests, ROS provides general OS services. These include hardware abstraction, low-level device control, message passing between processes and package management. ROS re-uses code from other open source projects[33], such as the driver, navigation system, and simulators from the Player project[37], vision algorithms from OpenCV[38], and path-planning algorithms from OpenRAVE. Overall, ROS is relatively low-level. A GUI is not provided by default, but can be retrofitted using libraries such as ROS visualization (RVIZ)[39] (see Fig. 2). In addition, most other RSFs integrate with ROS.

Download:
Fig. 2. Since ROS does not offer a GUI by default, it is often operated with RVIZ, as shown here in a cart pushing simulation (Image courtesy of the Open Source Robotics Foundation)

Other representatives were virtual robot experimental platform (V-REP)[40] (14.3%) and the visual servoing platform (ViSP)[41, 42] (28.6%). The use of the open robot control software (Orocos) and the robotic construction kit (Rock) for SSR has also been reported in literature[30, 43, 44].

3.3 Scientific software

Scientific software provides an environment for engineers, researchers and scientist to design, model, simulate, prototype, test and deploy new technologies[45]. In general, scientific software was not developed for (small-scale) robotic tasks. However, since many people are already familiar with these softwares, they were misused and extended (e.g., with hardware control). There are two dominant representatives for SSR in this category: MathWorks Matlab (Matrix laboratory) (71.4%) and NI LabVIEW (laboratory virtual instrument engineering workbench) (23.8%).

3.3.1 MathWorks Matlab

Matlab is an integrated development environment (IDE) for technical and mathematical computing. Originally designed for matrix calculations, it now offers a wide variety of mathematical functions and toolboxes for specific problems (e.g., curve fitting or robot interaction, see Fig. 3). However, the strength of Matlab remains in data processing. Thus, it mainly interfaces with data acquisition devices and measuring instruments, such as oscilloscopes, using the instrument control toolbox and standard commands for programmable instruments (SCPI)[46].

Download:
Fig. 3. Overview of the Matlab robotic system toolbox which provides an interface between Matlab, Simulink and ROS (Image courtesy of MathWorks)

3.3.2 National instruments LabVIEW

LabVIEW is an IDE for the graphical dataflow programming language G[47]. Common applications are data acquisition, instrument control and (industrial) automation. The latter are enabled by the (nowadays) extensive hardware interfacing support. This applies in particular to all NI hardware, such as CompactDAQ, but also includes almost any laboratory hardware. Drivers are available either through the instrument driver network (IDNet) or from the hardware vendor as part of the supplied software package (compare Section 3.1).

3.4 In-house developed software

Due to the peculiarities of SSR, using off-the-shelf software from the previous categories is difficult for multiple reasons (see Section 3). Thus, a common approach, chosen by multiple respondents (48%) and described in literature, is the development of IHDS[30, 4850]. These solutions are often closed-source (applies to over 90% of the mentioned representatives). Free-text responses and reports reveal this is a result of corporate policies, the use of proprietary algorithms, missing documentation and legal, licensing or security issues[51].

One of the few, well-documented representatives is the open source institute for information technology (OFFIS) Automation Framework (OAF), which originates from the authors research group[29] (see Fig. 4). The OAF is an IDE for rapid prototyping of vision-based control and automation sequences. It offers many features known from RSFs such as hardware abstraction, telecontrol, and process monitoring. Image processing based on OpenCV is accessible via a drag-and-drop interface. Automation sequences can be created in the Python. They can access image processing and hardware, thus perform e.g., visual servoing. Other IHDS named were APROS3[52] and ViSP[42]. ViSP has also been mentioned at the RSFs.

Download:
Fig. 4. GUI of the OFFIS Automation Framework, a software for development of vision-based control and automation sequences

3.5 Market shares

Looking at the questioned categories, the following market shares resulted (Fig. 5): 44% of the respondents use vendor-provided software, 32% RSFs, 96% scientific software, and about the half (48%) IHDS. 76% use software from more than one category (Average (AVG): 2.2; Standard deviation (SD): 0.84). The most common combination is scientific software with IHDS.

Download:
Fig. 5. Market shares of software for SSR. Due to the clear subcategories, scientific software was split (Matlab (64%), LabVIEW (20%), and others (8%))

3.6 Effective usage

As shown in Fig. 6, the use of vendor-provided software, scientific software, and IHDS is almost identical (weekly). Only the category RSF deviates with a mean biweekly usage.

Download:
Fig. 6. Mean usage of software for SSR from different categories. Overall, most representatives are used at least biweekly.

4 End user satisfaction 4.1 Requirements

In order to establish a ranking of the individual software solutions, the overall rating was first queried. For more details, the satisfaction was investigated based on functional (FR) and non-functional requirements (NFR). FR describe specific behaviors of a software system (what), while NFR describe how a system should work. These requirements directly affect the perceived software quality[53].

In order to simplify the survey design, some established requirements were given (see Table 1) and the interviewee only had to select his or her preferences. FR were taken from literature and preliminary interviews, NFR come from the ISO/IEC 9126 and ISO/IEC 25010: 2011 guidelines[54, 55]. Further requirements could be specified as free text responses. However, no responses were given here.

Table 1
Functional and non-functional requirements

In order to allow for a later weighting, the significance of the given requirements was first questioned. As shown in Fig. 7 (a), most FR were ranked at least fairly important. Within the target group, extensive hardware integration as well as data inport and export are the most important features (AVG: 3.75, 3.66; SD: 0.43, 0.74). Simulation and telecontrol were rated less important (AVG: 2.75, 2.67; SD: 1.01, 0.89). Regarding NFR (see Fig. 7 (b)), the situation is similar as before: Most requirements were ranked fairly important. Reliability, robustness and usability are the most important (AVG: 3.76, 3.8, 3.76; SD: 0.41, 0.4, 0.43) and open-source availability is the least important (AVG: 2.8; SD: 0.97).

Download:
Fig. 7. Importance of (a) functional and (b) non-functional requirements for SSR software

Second, the individual representatives were assessed with regard to the specified weighted requirements. As is evident, not all representatives meet all requirements of Table 1. For instance, the ROS has no GUI by default and the OAF has no simulation component. Thus, representatives were assigned an average functional and non-functional rating. As it would be beyond the scope of this article to present all ratings in detail, only mean ratings for the given categories and particularities will be discussed below.

In general, respondents were fairly satisfied with their mentioned representatives, both functional and non-functional (see Fig. 8). For the FR, most mean results were quite close: vendor-provided software (AVG: 3.03; SD: 0.577), RSF (AVG: 3.11; SD: 0.74), scientific software (AVG: 3.15; SD: 0.58) and IHDS (AVG: 3.1; SD: 0.56). This is as expected, as most representatives were created for the respective purpose or chosen due to suitable functionality.

Download:
Fig. 8. Mean overall, functional, and non-functional ratings for SSR software from different categories

When looking at the results for the individual FR (Fig. 9), the ratings between the individual categories are often quite close (e.g., automation or image processing). For some features, however, software from individual categories seems to be more suitable. Regarding hardware integration, localization & mapping, as well as path planning & navigation, RSFs stand out. The good performance in the latter is certainly due to the origin of RSFs (see Section 3.2). When it comes to data inport & export, data processing & visualization and simulation, scientific software is preferred. The good results in data-related tasks are again due to their origin, while the latter can be attributed to good plugins, such as MathWorks Simulink for Matlab or the NI LabVIEW control design and simulation module.

Download:
Fig. 9. Individual ratings for functional requirements

Regarding NFR, as shown in Fig. 8, RSFs have the highest (AVG: 3.44; SD: 0.67) and vendor-provided software has the lowest value (AVG: 2.71; SD: 0.51). In average (across all categories, see Fig. 10), performance, reliability and usability were rated the best NFR and documentation was the worst. The performance of the latter rating is also reflected in the free-text responses and influences the learning curve (see Section 4.3). In comparison to FR, the ratings between the different categories are spread wider, e.g., looking at the user community. Here, vendor-provided software scores 2.14 and scientific software/RSF was at least 3.5, influenced by the large number of users and associated with the open source thoughts (RSFs).

Download:
Fig. 10. Individual ratings for non-functional requirements

Looking at the overall rating (Fig. 8), scientific software achieved the highest (mean) ranking (AVG: 3.32; SD: 0.61) followed by IHDS, RSF, and vendor-provided software (AVG: 3.13, 3.04, 2.65; SD: 0.74, 0.94, 0.56). As shown, the overall rating corresponds (with only slight deviations) to the FR and NFR rating.

4.2 Recommendation

A further indicator for end user satisfaction is the recommendation rate (e.g., How likely will you recommend this software to a colleague?). Here, RSF and scientific software performed best (see Fig. 11). They both achieved mean scores of 4.1 on the scale of not at all likely (1) to extremely likely (5). The far-off value of IHDS (AVG: 2.9; SD: 1.31) should not be given full attention. Due to policies (see Section 3.4), IHDS can often not be recommended at all. Thus, the achieved mean score is relatively low.

Download:
Fig. 11. Mean recommendation rate for SSR software categories

4.3 Learning curve

Another important factor in terms of software satisfaction is the learning curve. Here, no category performs well in average – most of them need at least a few weeks to get acquainted (see Fig. 12). IHDS show the best results (a few weeks), which came as no surprise, as they are often used by the developers (or colleagues) themselves. The worst value is assigned to RSFs (up to six months). As the name suggests, these are often not immediately operational and generally require at least some programming. In addition, as in the case of ROS, they often do not provide a GUI by default. Other reasons for a long learning curve were found in the free text responses (not limited to RSFs): missing or weak documentation, unintuitive user interface as well as crashes, stability and performance issues.

Download:
Fig. 12. Required familiarization and learning time for the different software categories. No category performs well in average.

5 Summary

This paper presented current approaches for SSR software. A large and diverse variety of different representatives was found (over 30) and sorted into four predefined categories: Vendor-provided software, robotic software frameworks (RSF), scientific software and in-house developed software (IHDS). Each representative was evaluated in a survey with regards to multiple parameters and queried for advantages and disadvantages. As expected, the results are not clear and there is no clear winner. Depending on the requirements, one or the other approach, i.e., software of a category, is more suitable.

5.1 Factors for AI/ML integration

Assuming that SSR is hungry for methods that enable automation and improve the reliability, efficiency and decisional autonomy, it is therefore difficult to determine a starting point for the integration of AI/ML. However, there are two decisive factors for further development.

1) The integration of different software solutions requires that there are compatible interfaces on both sides. If these do not exist, they must be retrofitted by making changes to the source code. Therefore, the source code should be (publicly) accessible, relatively state-of-the-art and ideally good documented.

2) In addition, the new basis should already be used by a larger number of users. A large, well-connected community helps with the first steps and provides existing solutions. These may include hardware drivers, image-processing filters or automation sequences.

All of the above speaks in favor of using existing open-source available solutions for SSR software. Vendor-provided software, IHDS and scientific software can be excluded for future work. The first two are generally closed source and thus hard to modify. This disadvantage also applies to scientific software, even though the extremely large community and the sheer number of available plugins speak for Matlab or LabVIEW.

5.2 Recommendation

Our recommendation is to use RSFs as a starting point, especially ROS, and to further develop them for the requirements of SSR. As described in Section 3.2, ROS is open source, in active development, sufficiently documented and offers a large community. ROS is the quasi-standard for macrorobots (especially in research and SMEs (small and medium enterprises)). Existing robots can be integrated via well-defined interfaces (see Section 3.1). For some cameras and measuring devices (e.g., from NI) or interfacing with image processing (OpenCV), the work has already been completed.

A disadvantage may be the focus on Linux (Ubuntu) as the required operating system. Here, hardware manufacturers must be obliged to provide drivers if they are not available. However, using the Windows subsystem for Linux (WSL), ROS can run experimentally on Windows 10 with the Windows subsystem for Linux (WSL) (future improvements are expected).

Overall, SSR can only benefit from the use of ROS. In addition to a large community, easy access to existing AI and ML solutions will be made available. Software such as Tensorflow and others have been successfully used with ROS and are available for the new challenges of SSR.

1RAS TC MNRA. http://rastc-mnra.uni-oldenburg.de, March, 2018

2OSRF. http://www.osrfoundation.org, March, 2018

3SmarAct MCS Control System. http://www.smaract.com/products/control-systems/mcs, March, 2018

4SmarAct Software. http://www.smaract.com/products/control-systems/software/, March, 2018

5Imaging Source IC Capture. https://www.theimagingsource.com/products/software/end-user-software/ic-capture, March, 2018

6ROS Introduction. http://wiki.ros.org/ROS/Introduction, March, 2018

7LabView Instrument Driver Network (IDNet). http://www.ni.com/downloads/instrument-drivers/d, March, 2018

8Tyner Blain – Software usability and learning curves. http://tynerblain.com/blog/2007/03/12/software-usability-learning-curves/, March, 2018

9ROS wiki, vision_opencv. http://wiki.ros.org/vision_opencv, March, 2018

10ROS on Windows installation. http://wiki.ros.org/Installation/Windows, March, 2018

References
[1]
M. Sitti. Mobile Microrobotics, Cambridge, Massachusetts, London, UK: The MIT Press, 2017.
[2]
J. J. Abbott, Z. Nagy, F. Beyeler, B. J. Nelson. Robotics in the small, Part I: microbotics. IEEE Robotics & Automation Magazine, vol.14, no.2, pp.92-103, 2007. DOI:10.1109/MRA.2007.380641
[3]
B. J. Nelson, I. K. Kaliakatsos, J. J. Abbott. Microrobots for minimally invasive medicine. Annual Review of Biomedical Engineering, vol.12, pp.55-85, 2010. DOI:10.1146/annurev-bioeng-010510-103409
[4]
S. Fatikow. Automated Nanohandling by Microrobots, London, UK: Springer, 2008. DOI: 10.1007/978-1-84628-978-1.
[5]
M. Sitti, H. Ceylan, W. Q. Hu, J. Giltinan, M. Turan, S. Yim, E. Diller. Biomedical applications of untethered mobile milli/microrobots. Proceedings of the IEEE, vol.103, no.2, pp.205-224, 2015. DOI:10.1109/JPROC.2014.2385105
[6]
M. Probst, C. Hürzeler, R. Borer, B. J. Nelson. A microassembly system for the flexible assembly of hybrid robotic mems devices. International Journal of Optomechatronics, vol.3, no.2, pp.69-90, 2009. DOI:10.1080/15599610902894592
[7]
B. Tamadazte, N. L. F. Piat, S. Dembélé. Robotic micromanipulation and microassembly using monoview and multiscale visual servoing. IEEE/ASME Transactions on Mechatronics, vol.16, no.2, pp.277-287, 2011. DOI:10.1109/TMECH.2010.2040900
[8]
C. Diederichs, M. Mikczinski, T. Tiemerding. A flexible and compact high precision micro-factory for low volume production and lab-automation. In Proceedings of the 41st International Symposium on Robotics, IEEE, Munich, Germany, pp. 461–467, 2014.
[9]
S. Zimmermann, T. Tiemerding, T. Li, W. R. Wang, Y. L. Wang, S. Fatikow. Automated mechanical characterization of 2-D materials using SEM based visual servoing. International Journal of Optomechatronics, vol.7, no.4, pp.283-295, 2013. DOI:10.1080/15599612.2013.879501
[10]
B. J. Nelson, I. K. Kaliakatsos, J. J. Abbott. Microrobots for minimally invasive medicine. Annual Review of Biomedical Engineering, vol.12, pp.55-85, 2010. DOI:10.1146/annurev-bioeng-010510-103409
[11]
H. Ceylan, J. Giltinan, K. Kozielski, M. Sitti. Mobile microrobots for bioengineering applications. Lab on a Chip, vol.17, no.10, pp.1705-1724, 2017. DOI:10.1039/C7LC00064B
[12]
M. von Essen, J. Hirvonen, S. Kuikka, P. Kallio. Towards fully automated pick and place operations of individual natural fibers. In Proceedings of International Conference on Manipulation, Manufacturing and Measurement on the Nanoscale, IEEE, Suzhou, China, pp. 21–26, 2013. DOI: 10.1109/3M-NANO.2013.6737419.
[13]
D. Heriban, M. Gauthier. Robotic micro-assembly of microparts using a piezogripper. In Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, IEEE, Nice, France, pp. 4042–4047, 2008. DOI: 10.1109/IROS.2008.4650932.
[14]
Q. Shi, Z. Yang, Y. N. Guo, H. P. Wang, L. N. Sun, Q. Huang, T. Fukuda. A vision-based automated manipulation system for the pick-up of carbon nanotubes. IEEE/ASME Transactions on Mechatronics, vol.22, no.2, pp.845-854, 2017. DOI:10.1109/TMECH.2017.2649681
[15]
Y. Sun, X. Y. Liu, Micro- and Nanomanipulation Tools. Weinhem, Germany: Wiley-VCH, 2015.
[16]
S. van Petegem, A. Guitton, M. Dupraz, A. Bollhalder, K. Sofinowski, M. V. Upadhyay, H. van Swygenhoven. A miniaturized biaxial deformation rig for in situ mechanical testing. Experimental Mechanics, vol.57, no.4, pp.569-580, 2017. DOI:10.1007/s11340-016-0244-0
[17]
M. Abadi, P. Barham, J. M. Chen, Z. F. Chen, A. Davis, J. Dean, M. Devin, S. Ghemawat, G. Irving, M. Isard, M. Kudlur, J. Levenberg, R. Monga, S. Moore, D. G. Murray, B. Steiner, P. Tucker, V. Vasudevan, P. Warden, M. Wicke, Y. Yu, X. Q. Zheng. Tensorflow: A system for large-scale machine learning. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation, USENIX Association, Savannah, USA, 2016.
[18]
R. Lopez. Open NN: An open source neural networks C++ library [software], [Online], Available: www.cimne.com/flood, May, 2014.
[19]
D. Hart, B. Goertzel. OpenCog: A software framework for integrative artificial general intelligence. In Proceedings of the 1st Conference on Artificial General Intelligence, Memphis, USA, pp. 468–472, 2008.
[20]
M. Tenorth, J. Winkler, D. Beßler, M. Beetz. Open-ease: a cloud-based knowledge service for autonomous learning. KI-Künstliche Intelligenz, vol.29, no.4, pp.407-411, 2015. DOI:10.1007/s13218-015-0364-1
[21]
T. Tiemerding, M. von Essen, C. Diederichs, P. Kallio, S. Fatikow. Integrating robotic software frameworks for convenient software component exchange in micro- and nanoscale applications. In Proceedings of IEEE/ASME International Conference on Advanced Intelligent Mechatronics, IEEE, Besacon, France, pp. 978–983, 2014.
[22]
G. F. Bishop. Experiments with the middle response alternative in survey questions. Public Opinion Quarterly, vol.51, no.2, pp.220-232, 1987. DOI:10.1086/269030
[23]
R. Garland. The mid-point on a rating scale: Is it desirable? Marketing Bulletin, vol. 2, pp. 66–70, 1991.
[24]
G. W. Yun, C. W. Trumbo. Comparative response to a survey executed by post, e-mail, & web form. Journal of Computer-Mediated Communication, vol.6, no.1, 2000. DOI:10.1111/j.1083-6101.2000.tb00112.x
[25]
C. Y. Shi, D. K. Luu, Q. M. Yang, J. Liu, J. Chen, C. H. Ru, S. R. Xie, J. Luo, J. Ge, Y. Sun. Recent advances in nanorobotic manipulation inside scanning electron microscopes. Microsystems & Nanoengineering, vol. 2, Article number 16024, 2016. DOI: 10.1038/micronano.2016.24.
[26]
C. Cassier, A. Ferreira, S. Hirai. Combination of vision servoing techniques and VR-based simulation for semi-autonomous microassembly workstation. In Proceedings of IEEE International Conference on Robotics and Automation, IEEE, Washington DC, USA, pp. 1501–1506, 2002.
[27]
Q. Zhou, P. Korhonen, Q. Zhou, J. Laitinen, S. Sjövall. Automatic dextrous microhandling based on a 6-DOF microgripper. Journal of Micromechatronics, vol.3, no.3, pp.359-387, 2006. DOI:10.1163/156856306777924662
[28]
M. Bartenwerfer, C. Diederichs, S. Fatikow. Automated robotic assembly for a micro-cartridge system inside the scanning electron microscope. In Proceedings of IEEE International Conference on Robotics and Automation, IEEE, Hong Kong, China, pp. 5197–5202, 2014.
[29]
C. Diederichs, M. Bartenwerfer, M. Mikczinski, S. Zimmermann, T. Tiemerding, C. Geldmann, H. Nguyen, C. Dahmen, S. Fatikow. A rapid automation framework for applications on the micro- and nanoscale. In Proceedings of Australasian Conference on Robotics and Automation, Sydney, Australia, 2013.
[30]
M. von Essen, J. Hirvonen, S. Kuikka, P. Kallio. Robotic software frameworks and software component models in the development of automated handling of individual natural fibers. Journal of Micro-Bio Robotics, vol.9, no.1–2, pp.29-45, 2014. DOI:10.1007/s12213-014-0078-8
[31]
A. V. Kudryavtsev, G. J. Laurent, C. Clévy, B. Tamadazte, P. Lutz. Characterization of model-based visual tracking techniques for moems using a new block set for MATLAB/simulink. In Proceedings of International Symposium on Optomechatronic Technologies, IEEE, Seattle, USA, pp. 163–168, 2014.
[32]
D. Brugali. Software Engineering for Experimental Robotics, Berlin Heidelberg, Germany: Springer, 2007. DOI: 10.1007/978-3-540-68951-5.
[33]
M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, A. Ng. Ros: an open-source robot operating system. In Proceedings of ICRA Workshop on Open Source Software, Kobe, Japan, 2009.
[34]
J. Jackson. Microsoft robotics studio: a technical introduction. IEEE Robotics & Automation Magazine, vol.14, no.4, pp.82-87, 2007. DOI:10.1109/M-RA.2007.905745
[35]
P. I. Corke. A robotics toolbox for Matlab. IEEE Robotics & Automation Magazine, vol.3, no.1, pp.24-32, 1996. DOI:10.1109/100.486658
[36]
N. Quijano, K. Passino, S. Jogi. A tutorial introduction to control systems development and implementation with dSPACE, Tutorial, 2002.
[37]
B. P. Gerkey, R. T. Vaughan, A. Howard. The Player/stage project: tools for multi-robot and distributed sensor systems. In Proceedings of the 11th International Conference on Advanced Robotics, Coimbra, Portugal, pp. 317–323, 2003.
[38]
G. Bradski. The Opencv library. Dr. Dobb′s Journal of Software Tools, 2000.
[39]
H. R. Kam, S. H. Lee, T. Park, C. H. Kim. RViz: A toolkit for real domain data visualization. Telecommunication Systems, vol.60, no.2, pp.337-345, 2015. DOI:10.1007/s11235-015-0034-5
[40]
E. Rohmer, S. P. N. Singh, M. Freese. V-REP: A versatile and scalable robot simulation framework. In Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, IEEE, Tokyo, Japan, pp. 1321–1326, 2013. DOI: 10.1109/IROS.2013.6696520.
[41]
É. Marchand, F. Spindler, F. Chaumette. VISP for visual servoing: a generic software platform with a wide class of robot control skills. IEEE Robotics & Automation Magazine, vol.12, no.4, pp.40-52, 2005. DOI:10.1109/MRA.2005.1577023
[42]
É. Marchand. VISP: a software environment for eye-in-hand visual servoing. In Proceedings of IEEE International Conference on Robotics and Automation, IEEE, Detroit, USA, pp. 3224–3229, 1999. DOI: 10.1109/ROBOT.1999.774089.
[43]
H. Bruyninckx. Open robot control software: The orocos project. In Proceedings of IEEE International Conference on Robotics and Automation, IEEE, Seoul, South Korea, pp. 2523–2528, 2001.
[44]
S. Joyeux, J. Albiez. Robot development: From components to systems. In Proceedings of the 6th National Conference on Control Architectures of Robots, Grenoble, France, 2011.
[45]
T. Tašner, D. Lovrec, F. Tašner, J. Edler. Comparison of LabVIEW and MATLAB for scientific research. In Proceedings of Annals of the Faculty of Engineering Hunedoara, Hunedoara, Romania, pp. 389–394, 2012.
[46]
P. Elfert, T. Tiemerding, S. Fatikow. Integration of different hardware interfacing protocols into a robotic software framework. In Proceedings of International Conference on Manipulation, Automation and Robotics at Small Scales, IEEE, Paris, France, 2016. DOI: 10.1109/MARSS.2016.7561723.
[47]
J. Travis, J. Kring, LabVIEW for Everyone : Graphical Programming Made Easy and Fun, 3rd ed., Upper Saddle River, USA: Prentice Hall, 2006.
[48]
V. Sariola. Droplet self-alignment: high-precision robotic microassembly and self-assembly; Pisaran itsekohdistus: Tarkkuusmikrokokoonpano hyōdyntäen robotiikkaa ja itsekokoonpanoa, 2012, [Online], Available: http://urn.fi/URN:ISBN:978-952-60-4641-9, 2012.
[49]
D. Gendreau, M. Gauthier, D. Hériban, P. Lutz. Modular architecture of the microfactories for automatic micro-assembly. Robotics and Computer-integrated Manufacturing, vol.26, no.4, pp.354-360, 2010. DOI:10.1016/j.rcim.2009.11.013
[50]
M. Gauthier, D. Heriban, D. Gendreau, S. Regnier, N. Chaillet, P. Lutz. Micro-factory for submerged assembly: interests and architectures. In Proceedings of the 5th International Workshop on MicroFactories, Besancon, France, 2006.
[51]
R. Cope. Seven reasons why closed source is better than open source, or so it seems, 2013, [Online], Available: https://opensource.com/business/13/10/seven-reasons-closed-better-than-open-source, October 31, 2013.
[52]
N. Marturi. Vision and Visual Servoing for Nanomanipulation and Nanocharacterization in Scanning Electron Microscope, Ph. D. dissertation, University of Frachche-Comte, France, 2013.
[53]
H. W. Jung, S. G. Kim, C. S. Chung. Measuring software product quality: A survey of ISO/IEC 9126. IEEE Software, vol.21, no.5, pp.88-92, 2004. DOI:10.1109/MS.2004.1331309
[54]
Software engineering – Product quality, Part 1: Quality model, ISO/IEC 9126-1, 2001.
[55]
Systems and software engineering-systems and software quality requirements and evaluation (SQuaRE)–system and software quality models, ISO25010-2011, 2011. (in Chinese)