Ulrik SchultzUniversity of Southern Denmark | SDU · Maersk Mc-Kinney Moller Institute
Ulrik Schultz
Ph.D.
About
142
Publications
51,871
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,819
Citations
Introduction
Additional affiliations
September 2000 - August 2005
September 2005 - present
Publications
Publications (142)
In this paper, we present an online planning-scheduling approach for battery-powered autonomous aerial robots. The approach consists of simultaneously planning a coverage path and scheduling onboard computational tasks. We further derive a novel variable coverage motion robust to airborne constraints and an empirically motivated energy model. The m...
The Arctic is one of the least developed and most under-invested regions in the world, primarily due to its harsh environment and remoteness. However, with the current retreat of Arctic sea ice, the pristine Arctic region is gradually open for economic activities and has been of great interest for Arctic council members. For example, the European U...
In the experiment for this paper we test a methodology for measuring interference in communication signals between a flight controller and peripheral devices of a UAV during a flight operation where the UAV is interacting with a 400 kV power line. Maintenance and inspection of power lines are vital for delivering energy supporting our modern societ...
Reversible computation is a computing paradigm where execution can progress backward as well as in the usual, forward direction. It has found applications in many areas of computer science, such as circuit design, programing languages, simulation, modeling of biochemical reactions, debugging, and robotics. In this article, we give an overview of re...
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challe...
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challe...
The development of Unmanned Aerial Systems (UASs) continuously improves and advances the technology, which is a key enabler for many new applications, such as autonomous Beyond Visual Line of Sight (BVLOS) operations. However, ensuring a sufficient level of safety and performance of an UAS can be a challenging task, since it requires systematic exp...
Reversible computation is a computing paradigm where execution can progress backward as well as in the usual, forward direction. It has found applications in many areas of computer science, such as circuit design, programming languages, simulation, modeling of chemical reactions, debugging, and robotics. In this article, we give an overview of reve...
Limited energy availability is among the most challenging considerations developers face for heterogeneous systems and is critical for battery-powered devices. For complex systems composed of mechanical and computational units, such as drones and mobile robots, more than half of the power consumption can be due to the computational operations. Crit...
In this paper, we present a case study on the energy estimation of drones and derive a general modeling approach that estimates computational and mechanical energy separately. The mechanical energy model can easily be extended to other drones and is built using a Fourier series from a number of training flights. The computational energy model is mo...
In this paper, we present the design and evaluation of a vision-based algorithm for autonomous tracking and landing on a moving platform in varying environmental conditions. We use an energy-aware approach, where the design of the algorithm is based on an evaluation of the energy consumption and Quality of Service (QoS) of each computational compon...
Software plays a central role in all aspects of reversible computing. We survey the breadth of topics and recent activities on reversible software and systems including behavioural types, recovery, debugging, concurrency, and object-oriented programming. These have the potential to provide linguistic abstractions and tools that will lead to safer a...
Programming industrial robots is challenging due to the difficulty of precisely specifying general yet robust operations. As the complexity of these operations increases, so does the likelihood of errors. Certain classes of errors during industrial robot operations can however be addressed using reverse execution, allowing the robot to temporarily...
This open access State-of-the-Art Survey presents the main recent scientific outcomes in the area of reversible computation, focusing on those that have emerged during COST Action IC1405 "Reversible Computation - Extending Horizons of Computing", a European research network that operated from May 2015 to April 2019.
Reversible computation is a new...
Computational energy-efficiency is a critical aspect of many modern embedded devices as it impacts the level of autonomy for numerous scenarios. We present a component-based energy modeling approach to abstract per-component energy in a dataflow computational network executed according to a given scheduling policy. The approach is based on a modeli...
Advanced cyber-physical systems such as mobile, networked robots are increasingly finding use in everyday society. A critical aspect of mobile robotics is the ability to react to a dynamically changing environment, which imposes significant requirements on the robot perception system. The perception system is key to maintaining safe navigation and...
The current disruptive innovation in civilian drone (UAV) applications has led to an increased need for research and development in UAV technology. The key challenges currently being addressed are related to UAV platform properties such as functionality, reliability, fault tolerance, and endurance, which are all tightly linked to the UAV flight con...
Domain-specific languages (DSLs) are commonly expected to improve communication with domain experts compared to general-purpose programming languages (GPLs). However, there is a huge gap in the literature concerning how evidence can be given for this expected improvement---a phenomenon that is not only known from DSLs, but also from GPLs in general...
Programming robotic assembly for industrial small-batch production is challenging; hence, it is vital to increase robustness and reduce development effort in order to achieve flexible robotic automation. A human who has made an assembly error will often simply undo the process until the error is undone and then restart the assembly. Conceptually, r...
Mobile robots are used across many domains from personal care to agriculture. Working in dynamic open-ended environments puts high constraints on the robot perception system, which is critical for the safety of the system as a whole. To achieve the required safety levels the perception system needs to be certified, but no specific standards exist f...
Since the early days of software engineering, a number of methods, processes, and practices to design and develop software systems have been proposed and applied in industry, e.g., the Rational Unified Process, Agile Software Development, etc. However, since no silver bullet exists, organizations use rich combinations of agile and/or traditional me...
Robotic systems blend hardware and software in a holistic way that intrinsically raises many crosscutting concerns such as concurrency, uncertainty, and time constraints. These concerns make programming robotic systems challenging as expertise from multiple domains needs to be integrated conceptually and technically. Programming languages play a ce...
Mobile robots are used across many domains from personal care to agriculture. Working in dynamic open-ended environments puts high constraints on the robot perception system, which is critical for the safety of the system as a whole. To achieve the required safety levels the perception system needs to be certified, but no specific standards exist f...
This paper presents the concept, development and testing of RoboTrainer-Light, a low-cost yet effective and usable training robot designed for use in the home. Although designed for simplicity and economic mass production, it is believed to enable a large section of patients with partial paralysis to perform effective neurological training in their...
Computer vision has applications in a wide range of areas from surveillance to safety-critical control of autonomous robots. Despite the potentially critical nature of the applications and a continuous progress, the focus on safety in relation to compliance with standards has been limited. As an example, field robots are typically dependent on a re...
Mobile robots often use a distributed architecture in which software components are deployed to heterogeneous hardware modules. Ensuring the consistency with the designed architecture is a complex task, notably if functional safety requirements have to be fulfilled. We propose to use a domain-specific language to specify those requirements and to a...
Mobile robots often use a distributed architecture in which software components are deployed to heterogeneous hardware modules. Ensuring the consistency with the designed architecture is a complex task, notably if functional safety requirements have to be fulfilled. We propose to use a domain-specific language to specify those requirements and to a...
New advances in drone technology have sparked an enormous interest in commercial , public and private use of drones. This may become very beneficial to society in many aspects, however at the same time the drones are aircrafts operating in a complex airspace, and the large number of new drones and pilots are expected to become an increasing challen...
Mobile robots are advanced systems that often need to operate in unstructured environments, which increases software complexity. Many components are key to the overall reliability and safety of a robot, yet reducing the risk of errors by making the software resilient is both complicated and expensive. A commercially successful robot has to remain s...
This paper presents initial ideas for the design and implementation of a reversible object-oriented language based on extending Janus with object-oriented concepts such as classes that encapsulate behavior and state, inheritance, virtual dispatching, as well as constructors. We show that virtual dispatching is a reversible decision mechanism easily...
Safety is a key challenge in robotics, in particular for mobile robots operating in an open and unpredictable environment. Safety certification is desired for commercial robots, but no existing approaches for addressing the safety challenge provide a clearly specified and isolated safety layer, defined in an easily understandable way for facilitati...
This paper presents the concept, development and testing of RoboTrainer-Light, a low-cost yet effective and usable training robot designed for use in the home. Although designed for simplicity and economic mass production, it is believed to enable a large section of patients with partial paralysis to perform effective neurological training in their...
Robotics has recently seen an increasing development, and the areas addressed within robotics has extended into domains we consider safety-critical, fostering the development of standards that facilitate the development of safe robots. Safety standards describe concepts to maintain desired reactions or performance in malfunctioning systems, and inf...
Spreadsheets are commonly used by non-programmers to store data in a structured form, this data can in some cases be considered to be a program in a domain-specific language (DSL). Unlike ordinary text-based domain-specific languages, there is however currently no formalism for expressing the syntax of such spreadsheet-based DSLs (SDSLs), and there...
Spreadsheets are commonly used by non-programmers to store data in a structured form, this data can in some cases be considered to be a program in a domain-specific language (DSL). Unlike ordinary text-based domain-specific languages, there is however currently no formalism for expressing the syntax of such spreadsheet-based DSLs (SDSLs), and there...
Agriculture traditionally employs a large labour force, but suffers from a high number of fatalities compared to other blue collar fields, and is challenged by the labour force decrease in rural areas. These issues have resulted in increased focus on improving efficiency of and introducing autonomy in agriculture. Field robots are an increasingly p...
This paper is an extension to an early presented programming language, called a domain specific language. This paper extends the proposed concept with new sensors and behaviours to address real-life situations. The functionality was tested in lab experiments, and an extension to the earlier concepts is proposed.
Programming industrial robots for small-sized batch production of assembly operations is challenging due to the difficulty of precisely specifying general yet robust assembly operations. We observe that as the complexity of assembly increases, so does the likelihood of errors. We propose that certain classes of errors during assembly operations can...
Writing software for controlling robots is a complex task, usually demanding
command of many programming languages and requiring significant
experimentation. We believe that a bottom-up development process that
complements traditional component- and MDSD-based approaches can facilitate
experimentation. We propose the use of an internal DSL providin...
This work-in-progress paper presents our work with a domain specific language
(DSL) for tackling the issue of programming robots for small-sized batch
production. We observe that as the complexity of assembly increases so does the
likelihood of errors, and these errors need to be addressed. Nevertheless, it
is essential that programming and setting...
In this paper, we present the status of ongoing research aimed at tackling the issues of programming robots for small-size productions where fast set-up times, quick changeovers and easy adjustments are essential. We use a probabilistic approach where uncertainties are taken into account, making the deterministic requirements of an assembly process...
Safety is a key challenge in robotics, in particular for mobile robots operating in an open and unpredictable environment. To address the safety challenge, various software-based approaches have been proposed, but none of them provide a clearly specified and isolated safety layer. In this paper, we propose that safety-critical concerns regarding th...
The use of the ROS middleware is a growing trend in robotics in general, ROS
and hard real-time embedded systems have however not been easily uniteable
while retaining the same overall communication and processing methodology at
all levels. In this paper we present an approach aimed at tackling the schism
between high-level, flexible software and l...
In this paper, we demonstrate how a generic industrial robot can be used as a training partner, for upper limb training. The motion path and human/robot interaction of a non-generic upper-arm training robot is transferred to a generic industrial robot arm, and we demonstrate that the robot arm can implement the same type of interaction, but can exp...
The Fourth International Workshop on Domain-Specific Languages and Models for
Robotic Systems (DSLRob'13) was held in conjunction with the 2013 IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS 2013),
November 2013 in Tokyo, Japan.
The main topics of the workshop were Domain-Specific Languages (DSLs) and
Model-driven Softwar...
In experimental robotics, we are often faced with differing requirements between projects and as a project evolves, making the initial choice of technology difficult, often requiring a continuous and tedious development of the low-level parts of the robotic system. We propose the use of FPGAs as a flexible solution to these low-level issues; We her...
Power and energy constraints are now the driving force in devices from smartphones to servers. Quantitative power, performance, and energy measurements suggest that hardware heterogeneity to match software diversity has the potential to deliver energy ...
In this paper, we present a distributed reinforcement learning strategy for morphology-independent life-long gait learning for modular robots. All modules run identical controllers that locally and independently optimize their action selection based on the robot's velocity as a global, shared reward signal. We evaluate the strategy experimentally m...
This paper explores the role of operating system and high-level languages in
the development of software and domain-specific languages (DSLs) for
self-reconfigurable robotics. We review some of the current trends in
self-reconfigurable robotics and describe the development of a software system
for ATRON II which utilizes Linux and Python to signifi...
Proceedings of the Second International Workshop on Domain-Specific Languages
and Models for Robotic Systems (DSLRob'11), held in conjunction with the 2011
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS
2011), September 2011 in San Francisco, USA.
The main topics of the workshop were Domain-Specific Languages (DSLs) and
M...
Self-reconfigurable, modular robots are distributed mechatronic devices that can change their physical shape; modules are programmed individually but must coordinate across the robot. We present dynamic distributed scope as a programming language abstraction for modular robots, and show how it provides a unified abstraction for the domain.
Self-reconfigurable, modular robots are distributed mechatronic devices that can change their physical shape; modules are programmed individually but must coordinate across the robot. Programming modular robots is difficult due to the complexity of programming a distributed embedded system with a dynamically evolving topology. We are currently expe...
Self-reconfigurable, modular robots are distributed mechatronic devices that can autonomously change their physical shape. Self-reconfiguration from one shape to another is typically achieved through a specific sequence of actuation operations distributed across the modules of the robot. Automatically reversing the sequence of operations brings the...
This paper introduces HartOS, a hardware-implemented, micro-kernel- structured RTOS targeted for hard real-time embedded applications running on FPGA based platforms. Historically hardware RTOSs have been too inflexible and have had limited features and resources. HartOS is designed to be flexible and supports most of the features normally found in...
The distinctive feature of modular robots consists in their reconfigurable mechanical structure, as they are assem- bled on-demand from basic mechatronic units. This implies that kinematic models of the robots need to be computed on a case- by-case basis for each specific assembly, which is a manual and hence time-consuming and error-prone procedur...
Various articles focusing on current research in spatial computing are compiled. The article 'Gabriel graphs in arbitrary metric space and their cellular automaton for many grids,' by Maignan and Gruau, addresses the challenge of modeling a spatial system. The article 'Detecting locally distributed predicates,' by de Rosa et al., addresses the issu...
The First International Workshop on Domain-Specific Languages and models for
ROBotic systems (DSLRob'10) was held at the 2010 IEEE/RSJ International
Conference on Intelligent Robots and Systems (IROS'10), October 2010 in Taipei,
Taiwan.
The main topics of the workshop were domain-specific languages and models. A
domain-specific language (DSL) is a...
Modular, self-reconfigurable robots are robotic systems that can change their own shape by autonomously rearranging the physical modules from which they are built. In this work, we are interested in how to distributedly execute a specified self-reconfiguration sequence. The sequence is specified using a simple and centralized scripting language, wh...
Modular robots are mechatronic devices that enable the construction of highly versatile and flexible robotic systems whose mechanical structure can be dynamically modified. The key feature that enables this dynamic modification is the capability of the individual modules to connect to each other in multiple ways and thus generate a number of differ...
Designing controllers for modular robots is difficult due to the distributed and dynamic nature of the robots. In this paper
fractal gene regulatory networks are evolved to control modular robots in a distributed way. Experiments with different morphologies
of modular robot are performed and the results show good performance compared to previous re...
In this paper we study online gait optimization for modular robots. The learning strategy we apply is distributed, independent on robot morphology, and easy to implement. First we demonstrate how the strategy allows an ATRON robot to adapt to faults and changes in its morphology and we study the strategy's scalability. Second we extend the strategy...
As exchange of information is essential to modular robots, deciding between local or global communication is a common design choice. This choice, however, still lacks theoretical support. In this paper we analyse the efficiency of local and global communication in modular robots. To this end, we use parameters to describe the topology of modular ro...
Modular, self-reconfigurable robots are robots that can change their own shape by physically rearranging the modules from which they are built. Self-reconfiguration can be controlled by e.g. an off-line planner, but numerous implementation issues hamper the actual self-reconfiguration process: the continuous evolution of the communication topology...
Modular robot programming spans a number of issues ranging from high-level coordination to controller distribution and update in individual modules. The latter issue has received little attention from the research community though in our experience it is one of the main factors hindering agile development and experimentation with physical robots: r...
Hand-coding locomotion controllers for modular robots is difficult due to their polymorphic nature. Instead, we propose to use a simple and distributed reinforcement learning strategy. ATRON modules with identical controllers can be assembled in any configuration. To optimize the robot’s locomotion speed its modules independently and in parallel ad...