Wong, Kai Weng2018-10-232020-08-222018-08-30Wong_cornellgrad_0058F_10755http://dissertations.umi.com/cornellgrad:10755bibid: 10489758https://hdl.handle.net/1813/59662The development of robotic technology has evolved and changed how robots operate next to humans. In the past decades, robots were mainly seen in factories with confined and structured environments. Increasingly, robots are moving out of situated environments and are starting to operate in unstructured and dynamic environments. With the change of operating environment, many more environment events can arise during robot task execution. Robots need to cope with these events, sometimes anticipated and sometimes not, and be able to finish their assigned tasks. In this work, I present three approaches to increase robustness in robot task execution when unexpected situations arise. The approaches span low-level robot controllers and high-level robot controllers, and include both offline and online solutions. The first contribution is an offline approach that automatically adapts and transfers robot programs between robots, leveraging the Robot Operating System (ROS). The approach reduces the time spent on retrofitting existing programs on new robots and speeds up the time from robot software development to execution. The robot programs considered in the first contribution are often referred to as low-level robot controllers, retrieving sensor information from the robot and sending commands to the robot. They are usually executed alongside with high-level controllers, which process commands or specifications from users. The low-level and high-level controllers are inter-connected but their relationships and interactions are rarely inspected. The second contribution is an approach that inspects low-level controllers and proposes changes to the corresponding high-level specification, based on potential conflicts among the low-level controllers. The approach addresses the disconnect between high-level and low-level controllers which can lead to execution errors. The final contribution is an approach that increases robustness when unexpected environment events arise in the execution of high-level robot controllers. These events may involve uncontrolled environment behaviors or other robots operating in the same workspace, resulting in unpredictable robot behaviors during task execution. The approach automatically adapts the robot controller when these environment events occur, such that the robot can finish its task safely. Throughout the work, the approaches demonstrate how to cope with different unexpected situations and increase robustness during robot task execution.en-USAttribution-NonCommercial-ShareAlike 4.0 InternationalRoboticsROBOT CONTROLLERS: ONLINE AND OFFLINE ADAPTION, AND AUTOMATIC CODE TRANSFERdissertation or thesishttps://doi.org/10.7298/X4KK992F