Abstract
Manual and powered wheelchairs are widely used around the world by people with motor, sensory, or cognitive impairments for their everyday mobility needs. While the needs of many individuals with disabilities are satisfied with traditional manual or powered wheelchairs, a segment of the disabled community finds it difficult or impossible to use wheelchairs independently. To accommodate this population, researchers have leveraged technology developed for mobile robots to design smarter drive assist technologies for both manual and powered chairs. Increased autonomy in mobile robotic systems, however, has created increased complexity in software design and engineering. In this chapter, we discuss these complexities and present some model-driven engineering tools that we have developed and used for software engineering of embedded devices for complex rehabilitation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Benveniste, A., & Berry, G. (1991). The synchronous approach to reactive and real-time systems. Proceedings of the IEEE, 79(9), 1270–1282.
Beom, H. R., & Cho, H. S. (1995). A sensor-based navigation for a mobile robot using fuzzy logic and reinforcement learning. IEEE Transactions on Systems, Man, and Cybernetics, 25(3), 464–477.
BlueGiga. (2017). BGScript from Silicon Labs/BlueGiga. https://bluegiga.com. Accessed July 2018.
Bruyninckx, H. (2001). Open robot control software: The OROCOS project. In Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation, 2001 (Vol. 3, pp. 2523–2528). Piscataway: IEEE.
Bruyninckx, H., Soetens, P., & Koninckx, B. (2003). The real-time motion control core of the OROCOS project. In Proceedings. ICRA’03. IEEE International Conference on Robotics and Automation, 2003 (Vol. 2, pp. 2766–2771). Piscataway: IEEE.
Bruyninckx, H., Klotzbücher, M., Hochgeschwender, N., Kraetzschmar, G., Gherardi, L., & Brugali, D. (2013). The BRICS component model: A model-based development paradigm for complex robotics software systems. In Proceedings of the 28th Annual ACM Symposium on Applied Computing (pp. 1758–1764). New York: ACM.
Chen, H., Lee, A. S., Swift, M., & Tang, J. C. (2015). 3D collaboration method over HoloLens and Skype end points. In Proceedings of the 3rd International Workshop on Immersive Media Experiences (pp. 27–30). New York: ACM.
Clemens, S., Dominik, G., & Stephan, M. (1998). Component software: Beyond object-oriented programming. Boston, MA: Addison-Wesley.
Creighton, R. H. (2010). Unity 3D game development by example: A seat-of-your-pants manual for building fun, groovy little games quickly. Birmingham: Packt Publishing Ltd.
Davies, M., Read, H., Xynos, K., & Sutherland, I. (2015). Forensic analysis of a Sony playstation 4: A first look. Digital Investigation, 12, S81–S89.
des Riviêres, J., & Wiegand, J. (2004). Eclipse: A platform for integrating development tools. IBM Systems Journal, 43(2), 371–383.
Dhouib, S., Kchir, S., Stinckwich, S., Ziadi, T., & Ziane, M. (2012). RobotML, a domain-specific language to design, simulate and deploy robotic applications. In International Conference on Simulation, Modeling, and Programming for Autonomous Robots (pp. 149–160). Berlin: Springer.
Diego, A., Cristina, V. C., Francisco, O., Juan, P., & Bárbara, Á. (2010). V3cmm: A 3-view component meta-model for model-driven robotic software development. Journal of Software Engineering in Robotics, 1(1), 3–17.
Ding, D., & Cooper, R. A. (2005). Electric powered wheelchairs. IEEE Control Systems, 25(2), 22–34.
Dubey, A., Emfinger, W., Gokhale, A., Karsai, G., Otte, W. R., Parsons, J., et al. (2012). A software platform for fractionated spacecraft. In 2012 IEEE Aerospace Conference (pp. 1–20). Piscataway: IEEE.
Dumas, M., & Ter Hofstede, A. H. (2001). UML activity diagrams as a workflow specification language. In International Conference on the Unified Modeling Language (pp. 76–90). Berlin: Springer.
Emanuelsson, P., & Nilsson, U. (2008). A comparative study of industrial static analysis tools. Electronic Notes in Theoretical Computer Science, 217, 5–21.
Emfinger, W. (2018). HFSM design studio. https://cps-vo.org/group/hfsm.
Emfinger, W. (2018). HFSM design studio on github. https://github.com/finger563/webgme-hfsm.
Emfinger, W. (2018). ROSMOD design studio. https://cps-vo.org/group/rosmod.
Emfinger, W. (2018). ROSMOD github. https://github.com/rosmod.
Emfinger, W., Karsai, G., Dubey, A., & Gokhale, A. (2014). Analysis, verification, and management toolsuite for cyber-physical applications on time-varying networks. In Proceedings of the 4th ACM SIGBED International Workshop on Design, Modeling, and Evaluation of Cyber-Physical Systems (pp. 44–47). New York: ACM.
Emmerich, W., & Kaveh, N. (2001). Component technologies: Java Beans, COM, CORBA, RMI, EJB and the CORBA Component Model. In ACM SIGSOFT Software Engineering Notes (Vol. 26, pp. 311–312). New York: ACM.
Erdogan, A., & Argall, B. D. (2017). The effect of robotic wheelchair control paradigm and interface on user performance, effort and preference: An experimental assessment. Robotics and Autonomous Systems, 94, 282–297.
Etschberger, K. (2001). Controller area network: Basics, protocols, chips and applications. Weingarten: IXXAT Automation GmbH.
Eugster, P. T., Felber, P. A., Guerraoui, R., & Kermarrec, A. M. (2003). The many faces of publish/subscribe. ACM Computing Surveys (CSUR), 35(2), 114–131.
Ezeh, C., Trautman, P., Devigne, L., Bureau, V., Babel, M., & Carlson, T. (2017). Probabilistic vs linear blending approaches to shared control for wheelchair driving. In 2017 International Conference on Rehabilitation Robotics (ICORR) (pp. 835–840). Piscataway: IEEE.
Fehr, L., Langbein, W. E., Skaar, S. B. (2000). Adequacy of power wheelchair control interfaces for persons with severe disabilities: A clinical survey. Journal of Rehabilitation Research and Development, 37(3), 353–360.
Flaticon. (2018). Flaticon. https://www.flaticon.com.
Flaticon. (2018). Vectors market. https://www.flaticon.com/authors/vectors-market.
Gamatié, A., Yu, H., Delaval, G., & Rutten, É. (2009). A case study on controller synthesis for data-intensive embedded systems. In 2009 International Conference on Embedded Software and Systems (pp. 75–82). Piscataway: IEEE.
Gill, A. (1962). Introduction to the theory of finite-state machines. New York: McGraw-Hill.
Gomez, M. (2004). Embedded state machine implementation: Turning a state machine into a program can be straightforward if you follow the advice of a skilled practitioner. In The firmware handbook (pp. 101–109). Burlington: Elsevier.
Harel, D. (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3), 231–274.
Hart, P. E., Nilsson, N. J., & Raphael, B. (1968). A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems Science and Cybernetics, 4(2), 100–107. https://doi.org/10.1109/TSSC.1968.300136.
Heineman, G. T., & Councill, W. T. (2001). Component-based software engineering. Putting the pieces together (p. 5). London: Addison-Wesley.
IAR. (2017). Embedded Workbench from IAR. https://iar.com/products/iar-embedded-workbench. Accessed July 2018.
ISDE. (2018). Systems engineering and assurance modeling. https://modelbasedassurance.org/.
Ishikawa, R., Oishi, T., & Ikeuchi, K. (2018, preprint). Offline and online calibration of mobile robot and slam device for navigation. arXiv:180404817.
Kaelbling, L. P., Littman, M. L., & Moore, A. W. (1996). Reinforcement learning: A survey. Journal of Artificial Intelligence Research, 4, 237–285.
Katz, G., Barrett, C., Dill, D. L., Julian, K., & Kochenderfer, M. J. (2017). Reluplex: An efficient SMT solver for verifying deep neural networks. In International Conference on Computer Aided Verification (pp. 97–117). Berlin: Springer.
Katz, G., Barrett, C., Dill, D. L., Julian, K., & Kochenderfer, M. J. (2017, preprint). Towards proving the adversarial robustness of deep neural networks. arXiv:170902802.
Kelly, T., & Weaver, R. (2004). The goal structuring notation–A safety argument notation. In Proceedings of the Dependable Systems and Networks 2004 Workshop on Assurance Cases, Citeseer (p. 6).
Koenig, N. P., & Howard, A. (2004). Design and use paradigms for Gazebo, an open-source multi-robot simulator. In IROS, Citeseer (Vol. 4, pp. 2149–2154).
Kumar, P. S. (2016). Integrated Timing Analysis and Verification of Component-Based Distributed Real-Time Systems. PhD thesis, Vanderbilt University.
Kumar, P. S., Emfinger, W., & Karsai, G. (2015). A testbed to simulate and analyze resilient cyber-physical systems. In 2015 International Symposium on Rapid System Prototyping (RSP) (pp. 97–103). Piscataway: IEEE.
Kumar, P. S., Emfinger, W., Karsai, G., Watkins, D., Gasser, B., & Anilkumar, A. (2016). ROSMOD: A toolsuite for modeling, generating, deploying, and managing distributed real-time component-based software using ROS. Electronics, 5(3), 53.
Lilius, J., & Paltor, I. P. (1999). The semantics of UML state machines. Turku: Turku Centre for Computer Science.
Makarenko, A., Brooks, A., & Kaupp, T. (2006). Orca: Components for robotics. In International Conference on Intelligent Robots and Systems (IROS) (pp. 163–168).
Maraninchi, F. (1991). The Argos language: Graphical representation of automata and description of reactive systems. In IEEE Workshop on Visual Languages, Citeseer (Vol. 3).
Maraninchi, F. (1992). Operational and compositional semantics of synchronous automaton compositions. In International Conference on Concurrency Theory (pp. 550–564). Berlin: Springer.
Maróti, M., Kecskés, T., Kereskényi, R., Broll, B., Völgyesi, P., Jurácz, L., et al. (2014). Next generation (meta) modeling: Web-and cloud-based collaborative tool infrastructure. MPM@ MoDELS, 1237, 41–60.
MARTE, O. (2007). Profile for modeling and analysis of real-time and embedded systems (MARTE). Beta1 Google Scholar.
Martinet, P., & Patin, B. (2008). PROTEUS: A platform to organise transfer inside French robotic community. In 3rd National Conference on Control Architectures of Robots (CAR).
Matarić, M. J. (1997). Reinforcement learning in the multi-robot domain. In Robot colonies (pp. 73–83). New York: Springer.
Mazumder, O., Kundu, A. S., Chattaraj, R., & Bhaumik, S. (2014). Holonomic wheelchair control using EMG signal and joystick interface. In 2014 Recent Advances in Engineering and Computational Sciences (RAECS) (pp. 1–6). https://doi.org/10.1109/RAECS.2014.6799574.
Otte, W. R., Dubey, A., Pradhan, S., Patil, P., Gokhale, A., Karsai, G., et al. (2013). F6COM: A component model for resource-constrained and dynamic space-based computing environments. In 2013 IEEE 16th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC) (pp. 1–8). Piscataway: IEEE.
Padır, T. (2015). Towards personalized smart wheelchairs: Lessons learned from discovery interviews. In 2015 37th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC) (pp. 5016–5019). Piscataway: IEEE.
Pasteau, F., Krupa, A., & Babel, M. (2014). Vision-based assistance for wheelchair navigation along corridors. In 2014 IEEE International Conference on Robotics and Automation (ICRA) (pp. 4430–4435). Piscataway: IEEE.
Pastor, O., España, S., Panach, J. I., & Aquino, N. (2008). Model-driven development. Informatik-Spektrum, 31(5), 394–407.
Pi, R. (2015). Raspberry Pi model B.
Prochnow, S., Schaefer, G., Bell, K., & von Hanxleden, R. (2006). Analyzing robustness of UML state machines. In MARTES 2006 at MoDELS 2006, LCAV-CONF-2006-030 (pp. 61–80).
Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., et al. (2009). ROS: An open-source robot operating system. In ICRA Workshop on Open Source Software, Kobe (Vol. 3, p. 5).
Rong, G., & Tan, T. S. (2006). Jump flooding in GPU with applications to Voronoi diagram and distance transform. In Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games (pp. 109–116). New York: ACM.
Schlegel, C., Haßler, T., Lotz, A., & Steck, A. (2009). Robotic software systems: From code-driven to model-driven designs. In International Conference on Advanced Robotics, 2009. ICAR 2009 (pp. 1–8). Piscataway: IEEE.
Schmidt, D. C. (2006). Model-driven engineering. Computer IEEE Computer Society, 39(2), 25.
Siegel, J., & Frantz, D. (2000). CORBA 3 fundamentals and programming (Vol. 2). New York, NY: Wiley.
Simpson, R. C., LoPresti, E. F., & Cooper, R. A. (2008). How many people would benefit from a smart wheelchair? Journal of Rehabilitation Research & Development 45(1), 53–71.
Simulink, M., & Natick, M. (1993). The mathworks.
Sun, W., Liu, J., & Zhang, H. (2017). When smart wearables meet intelligent vehicles: Challenges and future directions. IEEE Wireless Communications, 24(3), 58–65.
Szegedy, C., Toshev, A., & Erhan, D. (2013). Deep neural networks for object detection. In Advances in neural information processing systems (pp. 2553–2561).
Tellex, S., Kollar, T., Dickerson, S., Walter, M. R., Banerjee, A. G., Teller, S. J., et al. (2011). Understanding natural language commands for robotic navigation and mobile manipulation. In AAAI (Vol. 1, p. 2).
Torkia, C., Reid, D., Korner-Bitensky, N., Kairy, D., Rushton, P. W., Demers, L., et al. (2015). Power wheelchair driving challenges in the community: A user’s perspective. Disability and Rehabilitation: Assistive Technology, 10(3), 211–215.
von der Beeck, M. (1994). A comparison of statecharts variants. In International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems (pp. 128–148). Berlin: Springer.
Yang, F., & Paindavoine, M. (2003). Implementation of an RBF neural network on embedded systems: Real-time face tracking and identity verification. IEEE Transactions on Neural Networks, 14(5), 1162–1175.
ZeroC I. (2003). The Internet communications engine.
Acknowledgements
ROSMOD was partly supported by DARPA under contract NNA11AB14C and USAF/AFRL under Cooperative Agreement FA8750-13-2-0050, and by the National Science Foundation (CNS-1035655). The authors would like to thank Ben Hemkens, Liyun Guo, Kennth Shafer, Dexter Watkins, and Devon Doebele for their work on the projects mentioned in this chapter.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Kumar, P.S., Emfinger, W. (2019). Model-Driven Software Design Automation for Complex Rehabilitation. In: Al Faruque, M., Canedo, A. (eds) Design Automation of Cyber-Physical Systems. Springer, Cham. https://doi.org/10.1007/978-3-030-13050-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-13050-3_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-13049-7
Online ISBN: 978-3-030-13050-3
eBook Packages: EngineeringEngineering (R0)