<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://murray.cds.caltech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abadithe</id>
	<title>Murray Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://murray.cds.caltech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abadithe"/>
	<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/Special:Contributions/Abadithe"/>
	<updated>2026-05-25T10:20:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Nok_Wongpiromsarn,_May_2024&amp;diff=26450</id>
		<title>Nok Wongpiromsarn, May 2024</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Nok_Wongpiromsarn,_May_2024&amp;diff=26450"/>
		<updated>2024-05-13T17:45:28Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nok Wongpiromsarn, an Assistant Professor at Iowa State, will visit Caltech on 20-21 May 2024.&lt;br /&gt;
&lt;br /&gt;
20 May 2024&lt;br /&gt;
* 9:15a: Richard, 109 Steele Lab&lt;br /&gt;
* 10:00a: Apurva&lt;br /&gt;
* 10:45a: Open&lt;br /&gt;
* 11:30a: Open&lt;br /&gt;
* 12p-1:15p: Lunch&lt;br /&gt;
* 1:15p: Open&lt;br /&gt;
* 2:00p: Open&lt;br /&gt;
* 2:45p: Open&lt;br /&gt;
* 3:30p: Open&lt;br /&gt;
* 4:15p: Open&lt;br /&gt;
* ~6 pm: dinner with Richard&lt;br /&gt;
&lt;br /&gt;
21 May 2024&lt;br /&gt;
* 10:15a: Open&lt;br /&gt;
* 10:30a: Open&lt;br /&gt;
* 11:15a: Open&lt;br /&gt;
* 12-1p: Lunch&lt;br /&gt;
* 1-3 pm: Apurva Badithela thesis defense&lt;br /&gt;
* 3:00 pm: Open&lt;br /&gt;
* 3:45 pm: Open&lt;br /&gt;
* 4:30 pm: Open&lt;br /&gt;
* 5:00 pm: Richard, 109 Steele Lab&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024&amp;diff=25950</id>
		<title>SURF 2024</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024&amp;diff=25950"/>
		<updated>2023-12-18T00:24:58Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
This page is intended for students interested in working on SURF projects in the Summer of 2024.  It contains information about how to apply for a SURF project in my group along with a list of project areas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Projects will be posted here starting after finals week and up to the start of classes.  Please check back after that time for more information.&lt;br /&gt;
&lt;br /&gt;
=== Applying for a SURF project in my group ===&lt;br /&gt;
&lt;br /&gt;
Because I get many students interested in doing SURFs in my group and because we have several projects available, we use the first few weeks in January to sort out who we will work with in writing proposals.  We only submit one proposal per project area and so we often can&#039;t accommodate everyone who wants to work in my group over the summer.&lt;br /&gt;
&lt;br /&gt;
# A list of SURF project descriptions is given in the table below.  Due to the number of SURF projects that we support, we are only able to support students who select from among these projects.  Please make sure to read the project descriptions, required skills (if any)  and skim a few of the listed references before contacting me about doing a SURF project.  &lt;br /&gt;
# Students interested in writing proposals for SURF projects should contact me via e-mail by 10 Jan (Wed) and provide the following information:&lt;br /&gt;
#* A list of up to three SURF projects from the list below that you are interested in working on&lt;br /&gt;
#* A one page resume listing relevant experience and coursework&lt;br /&gt;
#* If you are not a Caltech student, I will also need the following additional information:&lt;br /&gt;
#** An unofficial copy of your academic transcript&lt;br /&gt;
#** Names of two faculty members at your current institution that I can contact for a reference &lt;br /&gt;
# Starting on 11 January, I will go through all applications and work with my group to identify who is a possible fit for each project.  We will then contact you and ask for you to meet (or talk with) possible co-mentors so that we can eventually work out who we will work with in writing up a proposal.&lt;br /&gt;
# We hope to make final decisions on projects by about 1 Jan, at which point we will start working with students on writing up proposals.&lt;br /&gt;
# All applications should go through the normal SURF application process, described at www.surf.caltech.edu.  SURF applications are due on ~22 Feb&amp;lt;!-- (Amgen applications are due a week earlier)--&amp;gt;.&lt;br /&gt;
# If you are selected for a SURF, please be aware of the following information&lt;br /&gt;
#* All SURF projects in my group will start on 18 Jun (Tue).  If you can&#039;t start on that date, please make sure that you indicate this when you contact me&lt;br /&gt;
#* All SURF projects are for a minimum of 10 weeks, although I usually recommend that you try to stay for 12 weeks if possible.  It&#039;s hard to complete a project in just 10 weeks and spending a few extra weeks can greatly improve the project.&lt;br /&gt;
#* All SURF students in my group will be expected to devote full-time effort to their SURF project, so you cannot have a second job in addition to your SURF.&lt;br /&gt;
#* Additional information on SURF available here: https://sfp.caltech.edu/undergraduate-research/programs/surf&lt;br /&gt;
&lt;br /&gt;
=== List of available projects ===&lt;br /&gt;
&lt;br /&gt;
Projects will be posted as they come available.  I recommend waiting until near the deadline submission before submitting your project preferences.&lt;br /&gt;
&lt;br /&gt;
{| border=1 width=100%&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Title&#039;&#039;&#039; || &#039;&#039;&#039;Grant/Project&#039;&#039;&#039; || &#039;&#039;&#039;Co-Mentors&#039;&#039;&#039; || &#039;&#039;&#039;Comments&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|  {{SURF|2024|Task-Relevant Metrics for Perception}}&lt;br /&gt;
| TBD&lt;br /&gt;
| Apurva Badithela&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  {{SURF|2024|Establish synthetic biology toolkits for Steinernema nematode transgene expression}}&lt;br /&gt;
| Carnegie Institution for Science&lt;br /&gt;
| TBD&lt;br /&gt;
| Mentor: Mengyi Cao (PI)&lt;br /&gt;
|-&lt;br /&gt;
|  {{SURF|2024|Bioengineering toolkit development for genetic alterations in the entomopathogenic nematode symbiont Xenorhabdus griffiniae}}&lt;br /&gt;
| TBD&lt;br /&gt;
| Elin Larsson&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| {{SURF|2023|Genetically-Programmed Synthetic Cells and Multi-Cellular Machines}}&lt;br /&gt;
| [[NSF Cell Free]]&lt;br /&gt;
| TBD&lt;br /&gt;
| Multiple projects may be available; competitive selection&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25941</id>
		<title>SURF 2024: Task-Relevant Metrics for Perception</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25941"/>
		<updated>2023-12-16T00:11:33Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Task-Relevant Metrics for Perception&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
In autonomous cyber-physical systems, oftentimes, perception and control modules are designed under different paradigms. Perception modules feature deep learning heavily while planning and control still incorporate traditional methods to a large extent. Oftentimes, we don’t do perception for the sake of perception but to aid in correct decision-making. Typically, perception and control modules are designed under different paradigms. This work identifies evaluation metrics of perception tasks that are useful in providing probabilistic guarantees on system-level behavior. For example, confusion matrices are popularly used in computer vision to compare and evaluate models for detection tasks, and a wide-variety of metrics such as accuracy, precision, recall, among others, can be derived from the confusion matrix. In prior work [2], we showed how confusion matrices can be used as a model of sensor error to provide probabilistic guarantees on system-level safety. However, not all perception errors are equally safety-critical. In [3], we leveraged knowledge of the controller as well as the system-level requirement to introduce task-relevant metrics for object detection and classification tasks. In this work, we seek to study other perception functionalities such as tracking objects across multiple frames, and find corresponding metrics to evaluate tracking in learned perception models in a manner that is aligned with system-level safety requirements.&lt;br /&gt;
&lt;br /&gt;
==Problem== &lt;br /&gt;
In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to trigger a different decision from the planner. Therefore, we need to incorporate a notion of tracking objects across multiple frames to make system-level evaluations less conservative. This will require identifying new metrics beyond confusion matrices to capture detection performance across multiple frames. While there exist metrics to evaluate tracking, these metrics are not informed by the system-level task [1].&lt;br /&gt;
&lt;br /&gt;
Goals for this SURF include:&lt;br /&gt;
* Proposing new metrics for tracking or other perception tasks, and rigorously connecting these metrics to system-level evaluations of safety.&lt;br /&gt;
* Evaluating state-of-the-art perception models on the nuScenes dataset with respect to tracking metrics derived from system-level specifications&lt;br /&gt;
* Time permitting, to validate theoretical results on a hardware platform such as Duckietown.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python, ROS, OpenCV.&lt;br /&gt;
* Coursework in control, robotics, computer vision.&lt;br /&gt;
* Interest in theoretical research, robotics, and working with hardware, and industry datasets such as nuScenes.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
* [1] Luiten, Jonathon, et al. &amp;quot;Hota: A higher order metric for evaluating multi-object tracking.&amp;quot; International journal of computer vision 129 (2021): 548-578.&lt;br /&gt;
* [2] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Leveraging classification metrics for quantitative system-level analysis with temporal logic specifications.&amp;quot; 2021 60th IEEE Conference on Decision and Control (CDC). IEEE, 2021.&lt;br /&gt;
* [3] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Evaluation Metrics for Object Detection for Autonomous Systems.&amp;quot; arXiv preprint arXiv:2210.10298 (2022).&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25940</id>
		<title>SURF 2024: Task-Relevant Metrics for Perception</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25940"/>
		<updated>2023-12-15T23:37:35Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Task-Relevant Metrics for Perception&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
 In autonomous cyber-physical systems, oftentimes, perception and control modules are designed under different paradigms. Perception modules feature deep learning heavily while planning and control still incorporate traditional methods to a large extent. Oftentimes, we don’t do perception for the sake of perception but to aid in correct decision-making. Typically, perception and control modules are designed under different paradigms. This work identifies evaluation metrics of perception tasks that are useful in providing probabilistic guarantees on system-level behavior. For example, confusion matrices are popularly used in computer vision to compare and evaluate models for detection tasks, and a wide-variety of metrics such as accuracy, precision, recall, among others, can be derived from the confusion matrix. In prior work (2), we showed how confusion matrices can be used as a model of sensor error to provide probabilistic guarantees on system-level safety. However, not all perception errors are equally safety-critical. In (3), we leveraged knowledge of the controller as well as the system-level requirement to introduce task-relevant metrics for object detection and classification tasks. In this work, we seek to study other perception functionalities such as tracking objects across multiple frames, and find corresponding metrics to evaluate tracking in learned perception models in a manner that is aligned with system-level safety requirements.&lt;br /&gt;
&lt;br /&gt;
==Problem== &lt;br /&gt;
In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to trigger a different decision from the planner. Therefore, we need to incorporate a notion of tracking objects across multiple frames to make system-level evaluations less conservative. This will require identifying new metrics beyond confusion matrices to capture detection performance across multiple frames. While there exist metrics to evaluate tracking, these metrics are not informed by the system-level task [1].&lt;br /&gt;
&lt;br /&gt;
Goals for this SURF include:&lt;br /&gt;
* Proposing new metrics for tracking or other perception tasks, and rigorously connecting these metrics to system-level evaluations of safety.&lt;br /&gt;
* Evaluating state-of-the-art perception models on the nuScenes dataset with respect to tracking metrics derived from system-level specifications&lt;br /&gt;
* Time permitting, to validate theoretical results on a hardware platform such as Duckietown.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python, ROS, OpenCV.&lt;br /&gt;
* Coursework in control, robotics, computer vision.&lt;br /&gt;
* Interest in theoretical research, robotics, and working with hardware, and industry datasets such as nuScenes.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
* [1] Luiten, Jonathon, et al. &amp;quot;Hota: A higher order metric for evaluating multi-object tracking.&amp;quot; International journal of computer vision 129 (2021): 548-578.&lt;br /&gt;
* [2] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Leveraging classification metrics for quantitative system-level analysis with temporal logic specifications.&amp;quot; 2021 60th IEEE Conference on Decision and Control (CDC). IEEE, 2021.&lt;br /&gt;
* [3] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Evaluation Metrics for Object Detection for Autonomous Systems.&amp;quot; arXiv preprint arXiv:2210.10298 (2022).&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25939</id>
		<title>SURF 2024: Task-Relevant Metrics for Perception</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25939"/>
		<updated>2023-12-15T23:35:48Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Task-Relevant Metrics for Perception&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
 In autonomous cyber-physical systems, oftentimes, perception and control modules are designed under different paradigms. Perception modules feature deep learning heavily while planning and control still incorporate traditional methods to a large extent. Oftentimes, we don’t do perception for the sake of perception but to aid in correct decision-making. Typically, perception and control modules are designed under different paradigms. This work identifies evaluation metrics of perception tasks that are useful in providing probabilistic guarantees on system-level behavior. For example, confusion matrices are popularly used in computer vision to compare and evaluate models for detection tasks, and a wide-variety of metrics such as accuracy, precision, recall, among others, can be derived from the confusion matrix. In prior work [2], we showed how confusion matrices can be used as a model of sensor error to provide probabilistic guarantees on system-level safety. However, not all perception errors are equally safety-critical. In [3], we leveraged knowledge of the controller as well as the system-level requirement to introduce task-relevant metrics for object detection and classification tasks. In this work, we seek to study other perception functionalities such as tracking objects across multiple frames, and find corresponding metrics to evaluate tracking in learned perception models in a manner that is aligned with system-level safety requirements.&lt;br /&gt;
&lt;br /&gt;
==Problem== &lt;br /&gt;
In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to trigger a different decision from the planner. Therefore, we need to incorporate a notion of tracking objects across multiple frames to make system-level evaluations less conservative. This will require identifying new metrics beyond confusion matrices to capture detection performance across multiple frames. While there exist metrics to evaluate tracking, these metrics are not informed by the system-level task [1].&lt;br /&gt;
&lt;br /&gt;
Goals for this SURF include:&lt;br /&gt;
* Proposing new metrics for tracking or other perception tasks, and rigorously connecting these metrics to system-level evaluations of safety.&lt;br /&gt;
* Evaluating state-of-the-art perception models on the nuScenes dataset with respect to tracking metrics derived from system-level specifications&lt;br /&gt;
* Time permitting, to validate theoretical results on a hardware platform such as Duckietown.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python, ROS, OpenCV.&lt;br /&gt;
* Coursework in control, robotics, computer vision.&lt;br /&gt;
* Interest in theoretical research, robotics, and working with hardware, and industry datasets such as nuScenes.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
* [1] Luiten, Jonathon, et al. &amp;quot;Hota: A higher order metric for evaluating multi-object tracking.&amp;quot; International journal of computer vision 129 (2021): 548-578.&lt;br /&gt;
* [2] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Leveraging classification metrics for quantitative system-level analysis with temporal logic specifications.&amp;quot; 2021 60th IEEE Conference on Decision and Control (CDC). IEEE, 2021.&lt;br /&gt;
* [3] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Evaluation Metrics for Object Detection for Autonomous Systems.&amp;quot; arXiv preprint arXiv:2210.10298 (2022).&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25938</id>
		<title>SURF 2024: Task-Relevant Metrics for Perception</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25938"/>
		<updated>2023-12-15T23:35:36Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Task-Relevant Metrics for Perception&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
 In autonomous cyber-physical systems, oftentimes, perception and control modules are designed under different paradigms. Perception modules feature deep learning heavily while planning and control still incorporate traditional methods to a large extent. Oftentimes, we don’t do perception for the sake of perception but to aid in correct decision-making. Typically, perception and control modules are designed under different paradigms. This work identifies evaluation metrics of perception tasks that are useful in providing probabilistic guarantees on system-level behavior. For example, confusion matrices are popularly used in computer vision to compare and evaluate models for detection tasks, and a wide-variety of metrics such as accuracy, precision, recall, among others, can be derived from the confusion matrix. In prior work [2], we showed how confusion matrices can be used as a model of sensor error to provide probabilistic guarantees on system-level safety. However, not all perception errors are equally safety-critical. In [3], we leveraged knowledge of the controller as well as the system-level requirement to introduce task-relevant metrics for object detection and classification tasks. In this work, we seek to study other perception functionalities such as tracking objects across multiple frames, and find corresponding metrics to evaluate tracking in learned perception models in a manner that is aligned with system-level safety requirements.&lt;br /&gt;
&lt;br /&gt;
==Problem== &lt;br /&gt;
In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to trigger a different decision from the planner. Therefore, we need to incorporate a notion of tracking objects across multiple frames to make system-level evaluations less conservative. This will require identifying new metrics beyond confusion matrices to capture detection performance across multiple frames. While there exist metrics to evaluate tracking, these metrics are not informed by the system-level task [1].&lt;br /&gt;
&lt;br /&gt;
Goals for this SURF include:&lt;br /&gt;
* Proposing new metrics for tracking or other perception tasks, and rigorously connecting these metrics to system-level evaluations of safety.&lt;br /&gt;
* Evaluating state-of-the-art perception models on the nuScenes dataset with respect to tracking metrics derived from system-level specifications&lt;br /&gt;
* Time permitting, to validate theoretical results on a hardware platform such as Duckietown.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python, ROS, OpenCV.&lt;br /&gt;
* Coursework in control, robotics, computer vision.&lt;br /&gt;
* Interest in theoretical research, robotics, and working with hardware, and industry datasets such as nuScenes.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
* [1] Luiten, Jonathon, et al. &amp;quot;Hota: A higher order metric for evaluating multi-object tracking.&amp;quot; International journal of computer vision 129 (2021): 548-578.&lt;br /&gt;
* [2] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Leveraging classification metrics for quantitative system-level analysis with temporal logic specifications.&amp;quot; 2021 60th IEEE Conference on Decision and Control (CDC). IEEE, 2021.&lt;br /&gt;
* [3] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Evaluation Metrics for Object Detection for Autonomous Systems.&amp;quot; arXiv preprint arXiv:2210.10298 (2022).&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25937</id>
		<title>SURF 2024: Task-Relevant Metrics for Perception</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25937"/>
		<updated>2023-12-15T23:25:26Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* References: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Task-Relevant Metrics for Perception&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:classical_autonomy_stack.png|right|800px|Caption: System-level requirements are easier to formalize than requirements on perception tasks.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem== &lt;br /&gt;
In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to trigger a different decision from the planner. Therefore, we need to incorporate a notion of tracking objects across multiple frames to make system-level evaluations less conservative. This will require identifying new metrics beyond confusion matrices to capture detection performance across multiple frames. While there exist metrics to evaluate tracking, these metrics are not informed by the system-level task [1].&lt;br /&gt;
&lt;br /&gt;
Goals for this SURF include:&lt;br /&gt;
* Proposing new metrics for tracking or other perception tasks, and rigorously connecting these metrics to system-level evaluations of safety.&lt;br /&gt;
* Evaluating state-of-the-art perception models on the nuScenes dataset with respect to tracking metrics derived from system-level specifications&lt;br /&gt;
* Time permitting, to validate theoretical results on a hardware platform such as Duckietown.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python, ROS, OpenCV.&lt;br /&gt;
* Coursework in control, robotics, computer vision.&lt;br /&gt;
* Interest in theoretical research, robotics, and working with hardware, and industry datasets such as nuScenes.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
* [1] Luiten, Jonathon, et al. &amp;quot;Hota: A higher order metric for evaluating multi-object tracking.&amp;quot; International journal of computer vision 129 (2021): 548-578.&lt;br /&gt;
* [2] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Leveraging classification metrics for quantitative system-level analysis with temporal logic specifications.&amp;quot; 2021 60th IEEE Conference on Decision and Control (CDC). IEEE, 2021.&lt;br /&gt;
* [3] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Evaluation Metrics for Object Detection for Autonomous Systems.&amp;quot; arXiv preprint arXiv:2210.10298 (2022).&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25936</id>
		<title>SURF 2024: Task-Relevant Metrics for Perception</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25936"/>
		<updated>2023-12-15T23:25:06Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* References: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Task-Relevant Metrics for Perception&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:classical_autonomy_stack.png|right|800px|Caption: System-level requirements are easier to formalize than requirements on perception tasks.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem== &lt;br /&gt;
In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to trigger a different decision from the planner. Therefore, we need to incorporate a notion of tracking objects across multiple frames to make system-level evaluations less conservative. This will require identifying new metrics beyond confusion matrices to capture detection performance across multiple frames. While there exist metrics to evaluate tracking, these metrics are not informed by the system-level task [1].&lt;br /&gt;
&lt;br /&gt;
Goals for this SURF include:&lt;br /&gt;
* Proposing new metrics for tracking or other perception tasks, and rigorously connecting these metrics to system-level evaluations of safety.&lt;br /&gt;
* Evaluating state-of-the-art perception models on the nuScenes dataset with respect to tracking metrics derived from system-level specifications&lt;br /&gt;
* Time permitting, to validate theoretical results on a hardware platform such as Duckietown.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python, ROS, OpenCV.&lt;br /&gt;
* Coursework in control, robotics, computer vision.&lt;br /&gt;
* Interest in theoretical research, robotics, and working with hardware, and industry datasets such as nuScenes.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
[1] Luiten, Jonathon, et al. &amp;quot;Hota: A higher order metric for evaluating multi-object tracking.&amp;quot; International journal of computer vision 129 (2021): 548-578.&lt;br /&gt;
[2] Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Leveraging classification metrics for quantitative system-level analysis with temporal logic specifications.&amp;quot; 2021 60th IEEE Conference on Decision and Control (CDC). IEEE, 2021.&lt;br /&gt;
[3]Badithela, Apurva, Tichakorn Wongpiromsarn, and Richard M. Murray. &amp;quot;Evaluation Metrics for Object Detection for Autonomous Systems.&amp;quot; arXiv preprint arXiv:2210.10298 (2022).&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25935</id>
		<title>SURF 2024: Task-Relevant Metrics for Perception</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25935"/>
		<updated>2023-12-15T23:00:39Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Problem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Task-Relevant Metrics for Perception&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:classical_autonomy_stack.png|right|800px|Caption: System-level requirements are easier to formalize than requirements on perception tasks.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem== &lt;br /&gt;
In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to trigger a different decision from the planner. Therefore, we need to incorporate a notion of tracking objects across multiple frames to make system-level evaluations less conservative. This will require identifying new metrics beyond confusion matrices to capture detection performance across multiple frames. While there exist metrics to evaluate tracking, these metrics are not informed by the system-level task [1].&lt;br /&gt;
&lt;br /&gt;
Goals for this SURF include:&lt;br /&gt;
* Proposing new metrics for tracking or other perception tasks, and rigorously connecting these metrics to system-level evaluations of safety.&lt;br /&gt;
* Evaluating state-of-the-art perception models on the nuScenes dataset with respect to tracking metrics derived from system-level specifications&lt;br /&gt;
* Time permitting, to validate theoretical results on a hardware platform such as Duckietown.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python, ROS, OpenCV.&lt;br /&gt;
* Coursework in control, robotics, computer vision.&lt;br /&gt;
* Interest in theoretical research, robotics, and working with hardware, and industry datasets such as nuScenes.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
[1]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25934</id>
		<title>SURF 2024: Task-Relevant Metrics for Perception</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25934"/>
		<updated>2023-12-15T22:51:33Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Problem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Task-Relevant Metrics for Perception&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:classical_autonomy_stack.png|right|800px|Caption: System-level requirements are easier to formalize than requirements on perception tasks.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem== &lt;br /&gt;
In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to trigger a different decision from the planner. Therefore, tracking objects across multiple frames needs to be accounted &lt;br /&gt;
&lt;br /&gt;
Goals for this SURF include:&lt;br /&gt;
* Proposing new metrics for tracking or other perception tasks, and rigorously connecting these metrics to system-level evaluations of safety.&lt;br /&gt;
* Evaluating state-of-the-art perception models on the nuScenes dataset with respect to tracking metrics derived from system-level specifications&lt;br /&gt;
* Time permitting, to validate theoretical results on a hardware platform such as Duckietown.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python, ROS, OpenCV.&lt;br /&gt;
* Coursework in control, robotics, computer vision.&lt;br /&gt;
* Interest in theoretical research, robotics, and working with hardware, and industry datasets such as nuScenes.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
[1]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25933</id>
		<title>SURF 2024: Task-Relevant Metrics for Perception</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Task-Relevant_Metrics_for_Perception&amp;diff=25933"/>
		<updated>2023-12-15T22:51:13Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;2024 SURF Task-Relevant Metrics for Perception&amp;#039;&amp;#039;&amp;#039; * Mentor: Richard Murray * Co-mentor: Apurva Badithela  ==Project Description==    Caption: System-level requirements are easier to formalize than requirements on perception tasks.   ==Problem==  In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to tr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Task-Relevant Metrics for Perception&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:classical_autonomy_stack.png|right|800px|Caption: System-level requirements are easier to formalize than requirements on perception tasks.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem== &lt;br /&gt;
In this SURF, we will explore the interface between perception and planning more carefully. Misclassification or misdetection in a single frame is unlikely to trigger a different decision from the planner. Therefore, tracking objects across multiple frames needs to be accounted &lt;br /&gt;
&lt;br /&gt;
Goals for this SURF include:&lt;br /&gt;
1. Proposing new metrics for tracking or other perception tasks, and rigorously connecting these metrics to system-level evaluations of safety.&lt;br /&gt;
2. Evaluating state-of-the-art perception models on the nuScenes dataset with respect to tracking metrics derived from system-level specifications&lt;br /&gt;
3. Time permitting, to validate theoretical results on a hardware platform such as Duckietown.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python, ROS, OpenCV.&lt;br /&gt;
* Coursework in control, robotics, computer vision.&lt;br /&gt;
* Interest in theoretical research, robotics, and working with hardware, and industry datasets such as nuScenes.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
[1]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024&amp;diff=25932</id>
		<title>SURF 2024</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024&amp;diff=25932"/>
		<updated>2023-12-15T22:15:48Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* List of available projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
This page is intended for students interested in working on SURF projects in the Summer of 2024.  It contains information about how to apply for a SURF project in my group along with a list of project areas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Projects will be posted here starting after finals week and up to the start of classes.  Please check back after that time for more information.&lt;br /&gt;
&lt;br /&gt;
=== Applying for a SURF project in my group ===&lt;br /&gt;
&lt;br /&gt;
Because I get many students interested in doing SURFs in my group and because we have several projects available, we use the first few weeks in January to sort out who we will work with in writing proposals.  We only submit one proposal per project area and so we often can&#039;t accommodate everyone who wants to work in my group over the summer.&lt;br /&gt;
&lt;br /&gt;
# A list of SURF project descriptions is given in the table below.  Due to the number of SURF projects that we support, we are only able to support students who select from among these projects.  Please make sure to read the project descriptions, required skills (if any)  and skim a few of the listed references before contacting me about doing a SURF project.  &lt;br /&gt;
# Students interested in writing proposals for SURF projects should contact me via e-mail by 10 Jan (Wed) and provide the following information:&lt;br /&gt;
#* A list of up to three SURF projects from the list below that you are interested in working on&lt;br /&gt;
#* A one page resume listing relevant experience and coursework&lt;br /&gt;
#* If you are not a Caltech student, I will also need the following additional information:&lt;br /&gt;
#** An unofficial copy of your academic transcript&lt;br /&gt;
#** Names of two faculty members at your current institution that I can contact for a reference &lt;br /&gt;
# Starting on 11 January, I will go through all applications and work with my group to identify who is a possible fit for each project.  We will then contact you and ask for you to meet (or talk with) possible co-mentors so that we can eventually work out who we will work with in writing up a proposal.&lt;br /&gt;
# We hope to make final decisions on projects by about 1 Jan, at which point we will start working with students on writing up proposals.&lt;br /&gt;
# All applications should go through the normal SURF application process, described at www.surf.caltech.edu.  SURF applications are due on ~22 Feb&amp;lt;!-- (Amgen applications are due a week earlier)--&amp;gt;.&lt;br /&gt;
# If you are selected for a SURF, please be aware of the following information&lt;br /&gt;
#* All SURF projects in my group will start on 18 Jun (Tue).  If you can&#039;t start on that date, please make sure that you indicate this when you contact me&lt;br /&gt;
#* All SURF projects are for a minimum of 10 weeks, although I usually recommend that you try to stay for 12 weeks if possible.  It&#039;s hard to complete a project in just 10 weeks and spending a few extra weeks can greatly improve the project.&lt;br /&gt;
#* All SURF students in my group will be expected to devote full-time effort to their SURF project, so you cannot have a second job in addition to your SURF.&lt;br /&gt;
#* Additional information on SURF available here: https://sfp.caltech.edu/undergraduate-research/programs/surf&lt;br /&gt;
&lt;br /&gt;
=== List of available projects ===&lt;br /&gt;
&lt;br /&gt;
Projects will be posted as they come available.  I recommend waiting until near the deadline submission before submitting your project preferences.&lt;br /&gt;
&lt;br /&gt;
{| border=1 width=100%&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Title&#039;&#039;&#039; || &#039;&#039;&#039;Grant/Project&#039;&#039;&#039; || &#039;&#039;&#039;Co-Mentors&#039;&#039;&#039; || &#039;&#039;&#039;Comments&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|  {{SURF|2024|Task-Relevant Metrics for Perception}}&lt;br /&gt;
| TBD&lt;br /&gt;
| Apurva Badithela&lt;br /&gt;
|-&lt;br /&gt;
|  {{SURF|2024|Hierarchical Testing for Safety-Critical Autonomous Systems}}&lt;br /&gt;
| TBD&lt;br /&gt;
| Apurva Badithela&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  {{SURF|2024|Bioengineering toolkit development for genetic alterations in the entomopathogenic nematode symbiont Xenorhabdus griffiniae}}&lt;br /&gt;
| TBD&lt;br /&gt;
| Elin Larsson&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| {{SURF|2023|Genetically-Programmed Synthetic Cells and Multi-Cellular Machines}}&lt;br /&gt;
| [[NSF Cell Free]]&lt;br /&gt;
| TBD&lt;br /&gt;
| Multiple projects may be available; competitive selection&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25931</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25931"/>
		<updated>2023-12-15T22:12:01Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;br /&gt;
&lt;br /&gt;
==Problem Motivated via a Simple Example:==&lt;br /&gt;
For example, consider a simple 2D double integrator system illustrated as a blue point mass as seen in the following .mp4 files. This system has two operating modes: north-south oscillating mode and east-west oscillating mode. The N-S and E-W poles are illustrated in red. When an external &amp;quot;switch&amp;quot; command is given to the system, it needs to safely switch to the other operating mode without entering the unsafe regions (shaded in blue). &lt;br /&gt;
&lt;br /&gt;
The following video illustrates the system responding to a switch command. The system safely transitions from oscillating in the N-S mode to the E-W mode without entering the blue regions. Using black-box optimization, the time of the switch commanded is optimized to result in the worst-case possible trajectory (which is still far from the unsafe region). Observe that the switch is commanded when the system has gained a lot of momentum in transitioning to the other pole.&lt;br /&gt;
    &lt;br /&gt;
[[File:single_switch.mp4|right|800px|Caption: Single switch commanded results in safe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
In the video below, two switches are commanded in quick succession, and once again, the time of the switches is optimized to result in the worst-case possible trajectory. In this run, however, the system enters the unsafe region, thus demonstrating a failure in the control design. Fundamentally, the decision to switch twice (and similarly three times, four times etc.) is a discrete variable. Currently, identifying these discrete inputs in combination with continuous inputs is not well-studied in the literature. &lt;br /&gt;
&lt;br /&gt;
[[File:double_switch.mp4 |right|800px|Caption: Two switch commands in quick succession shows unsafe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
Therefore, we seek to identify a sequence of discrete inputs, that together with worst-case low-level inputs, leads to a violating system trajectory.&lt;br /&gt;
&lt;br /&gt;
==Desired:==&lt;br /&gt;
* Experience programming in Python&lt;br /&gt;
* Coursework: CDS 110 &lt;br /&gt;
* Interest in theoretical and computational research in topics such as: safety-critical systems, autonomous robotic systems, control theory, and optimization.&lt;br /&gt;
&lt;br /&gt;
==References:==&lt;br /&gt;
[1] Annpureddy, Yashwanth, et al. &amp;quot;S-taliro: A tool for temporal logic falsification for hybrid systems.&amp;quot; International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011.&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25930</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25930"/>
		<updated>2023-12-15T21:31:56Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Problem Motivated via a Simple Example: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;br /&gt;
&lt;br /&gt;
==Problem Motivated via a Simple Example:==&lt;br /&gt;
For example, consider a simple 2D double integrator system illustrated as a blue point mass as seen in the following .mp4 files. This system has two operating modes: north-south oscillating mode and east-west oscillating mode. The N-S and E-W poles are illustrated in red. When an external &amp;quot;switch&amp;quot; command is given to the system, it needs to safely switch to the other operating mode without entering the unsafe regions (shaded in blue). &lt;br /&gt;
&lt;br /&gt;
The following video illustrates the system responding to a switch command. The system safely transitions from oscillating in the N-S mode to the E-W mode without entering the blue regions. Using black-box optimization, the time of the switch commanded is optimized to result in the worst-case possible trajectory (which is still far from the unsafe region). Observe that the switch is commanded when the system has gained a lot of momentum in transitioning to the other pole.&lt;br /&gt;
    &lt;br /&gt;
[[File:single_switch.mp4|right|800px|Caption: Single switch commanded results in safe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
In the video below, two switches are commanded in quick succession, and once again, the time of the switches is optimized to result in the worst-case possible trajectory. In this run, however, the system enters the unsafe region, thus demonstrating a failure in the control design. Fundamentally, the decision to switch twice (and similarly three times, four times etc.) is a discrete variable. Currently, identifying these discrete inputs in combination with continuous inputs is not well-studied in the literature. &lt;br /&gt;
&lt;br /&gt;
[[File:double_switch.mp4 |right|800px|Caption: Two switch commands in quick succession shows unsafe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
Therefore, we seek to identify a sequence of discrete inputs, that together with worst-case low-level inputs, leads to a violating system trajectory.&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25929</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25929"/>
		<updated>2023-12-15T21:31:44Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Problem Motivated via a Simple Example: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;br /&gt;
&lt;br /&gt;
==Problem Motivated via a Simple Example:==&lt;br /&gt;
For example, consider a simple 2D double integrator system illustrated as a blue point mass as seen in the following .mp4 files. This system has two operating modes: north-south oscillating mode and east-west oscillating mode. The N-S and E-W poles are illustrated in red. When an external &amp;quot;switch&amp;quot; command is given to the system, it needs to safely switch to the other operating mode without entering the unsafe regions (shaded in blue). &lt;br /&gt;
&lt;br /&gt;
The following video illustrates the system responding to a switch command. The system safely transitions from oscillating in the N-S mode to the E-W mode without entering the blue regions. Using black-box optimization, the time of the switch commanded is optimized to result in the worst-case possible trajectory (which is still far from the unsafe region). Observe that the switch is commanded when the system has gained a lot of momentum in transitioning to the other pole.&lt;br /&gt;
    &lt;br /&gt;
[[File:single_switch.mp4|right|800px|Caption: Single switch commanded results in safe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
In the video below, two switches are commanded in quick succession, and once again, the time of the switches is optimized to result in the worst-case possible trajectory. In this run, however, the system enters the unsafe region, thus demonstrating a failure in the control design. Fundamentally, the decision to switch twice (and similarly three times, four times etc.) is a discrete variable. Currently, identifying these discrete inputs in combination with continuous inputs is not well-studied in the literature. &lt;br /&gt;
&lt;br /&gt;
[[File:double_switch.mp4 |right|800px|Caption: Two switch commands in quick succession shows unsafe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
Therefore, we seek to identify a sequence of discrete inputs, that together with worst-case low-level inputs, leads to a violating system trajectory&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25928</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25928"/>
		<updated>2023-12-15T21:22:21Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;br /&gt;
&lt;br /&gt;
==Problem Motivated via a Simple Example:==&lt;br /&gt;
For example, consider a simple 2D double integrator system illustrated as a blue point mass as seen in the following .mp4 files. This system has two operating modes: north-south oscillating mode and east-west oscillating mode. The N-S and E-W poles are illustrated in red. When an external &amp;quot;switch&amp;quot; command is given to the system, it needs to safely switch to the other operating mode without entering the unsafe regions (shaded in blue). &lt;br /&gt;
&lt;br /&gt;
The following video illustrates the system responding to a switch command. The system safely transitions from oscillating in the N-S mode to the E-W mode without entering the blue regions. Using black-box optimization, the time of the switch commanded is optimized to result in the worst-case possible trajectory (which is still far from the unsafe region). Observe that the switch is commanded when the system has gained a lot of momentum in transitioning to the other pole.&lt;br /&gt;
    &lt;br /&gt;
[[File:single_switch.mp4|right|800px|Caption: Single switch commanded results in safe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
In the video below, two switches are commanded in quick succession, and once again, the time of the switches is optimized to result in the worst-case possible trajectory. In this run, however, the system enters the unsafe region, thus demonstrating a failure in the control design. Fundamentally, the decision to switch twice (and similarly three times, four times etc.) is a discrete variable. Currently, identifying these discrete inputs in combination with continuous inputs is not well-studied in the literature. &lt;br /&gt;
&lt;br /&gt;
[[File:double_switch.mp4 |right|800px|Caption: Two switch commands in quick succession shows unsafe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
In this project, we aim to&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25927</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25927"/>
		<updated>2023-12-15T21:22:08Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;br /&gt;
&lt;br /&gt;
==Problem Motivated via a Simple Example:&lt;br /&gt;
For example, consider a simple 2D double integrator system illustrated as a blue point mass as seen in the following .mp4 files. This system has two operating modes: north-south oscillating mode and east-west oscillating mode. The N-S and E-W poles are illustrated in red. When an external &amp;quot;switch&amp;quot; command is given to the system, it needs to safely switch to the other operating mode without entering the unsafe regions (shaded in blue). &lt;br /&gt;
&lt;br /&gt;
The following video illustrates the system responding to a switch command. The system safely transitions from oscillating in the N-S mode to the E-W mode without entering the blue regions. Using black-box optimization, the time of the switch commanded is optimized to result in the worst-case possible trajectory (which is still far from the unsafe region). Observe that the switch is commanded when the system has gained a lot of momentum in transitioning to the other pole.&lt;br /&gt;
    &lt;br /&gt;
[[File:single_switch.mp4|right|800px|Caption: Single switch commanded results in safe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
In the video below, two switches are commanded in quick succession, and once again, the time of the switches is optimized to result in the worst-case possible trajectory. In this run, however, the system enters the unsafe region, thus demonstrating a failure in the control design. Fundamentally, the decision to switch twice (and similarly three times, four times etc.) is a discrete variable. Currently, identifying these discrete inputs in combination with continuous inputs is not well-studied in the literature. &lt;br /&gt;
&lt;br /&gt;
[[File:double_switch.mp4 |right|800px|Caption: Two switch commands in quick succession shows unsafe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
In this project, we aim to&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25926</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25926"/>
		<updated>2023-12-15T21:13:14Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;br /&gt;
&lt;br /&gt;
Problem Motivated via a Simple Example:&lt;br /&gt;
For example, consider a simple 2D double integrator system illustrated as a blue point mass as seen in the following .mp4 files. This system has two operating modes: north-south oscillating mode and east-west oscillating mode. The N-S and E-W poles are illustrated in red. When an external &amp;quot;switch&amp;quot; command is given to the system, it needs to safely switch to the other operating mode without entering the unsafe regions (shaded in blue). &lt;br /&gt;
&lt;br /&gt;
The following video illustrates the system responding to a switch command. The system safely transitions from oscillating in the N-S mode to the E-W mode without entering the blue regions. Using black-box optimization, the time of the switch commanded is optimized to result in the worst-case possible trajectory (which is still far from the unsafe region). Observe that the switch is commanded when the system has gained a lot of momentum in transitioning to the other pole.&lt;br /&gt;
    &lt;br /&gt;
[[File:single_switch.mp4|right|800px|Caption: Single switch commanded results in safe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
In the video below, two switches are commanded in quick succession, and once again, the time of the switches is optimized to result in the worst-case possible trajectory. In this run, however, the system enters the unsafe region, thus demonstrating a failure in the control design. Fundamentally, the decision to switch twice (and similarly three times, four times etc.) is a discrete variable. Currently, identifying these discrete inputs in combination with continuous inputs is not well-studied in the literature. &lt;br /&gt;
&lt;br /&gt;
[[File:double_switch.mp4 |right|800px|Caption: Two switch commands in quick succession shows unsafe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
In this project, we aim to&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25925</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25925"/>
		<updated>2023-12-15T21:06:17Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;br /&gt;
&lt;br /&gt;
For example, consider a simple 2D double integrator system illustrated as a blue point mass as seen in the following .mp4 files. This system has two operating modes: north-south oscillating mode and east-west oscillating mode. The N-S and E-W poles are illustrated in red. When an external &amp;quot;switch&amp;quot; command is given to the system, it needs to safely switch to the other operating mode without entering the unsafe regions (shaded in blue). &lt;br /&gt;
&lt;br /&gt;
The following video illustrates the system responding to a switch command. The system safely transitions from oscillating in the N-S mode to the E-W mode without entering the blue regions. In fact, the time of the switch command  &lt;br /&gt;
[[File:single_switch.mp4|right|800px|Caption: Single switch commanded results in safe trajectory.]]&lt;br /&gt;
&lt;br /&gt;
[[File:double_switch.mp4 |right|800px|Caption: Two switch commands in quick succession shows unsafe trajectory.]]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25924</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25924"/>
		<updated>2023-12-15T21:01:05Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;br /&gt;
&lt;br /&gt;
For example, consider a simple 2D double integrator system illustrated as a blue point mass as seen in the following .mp4 files. This system has two operating modes: north-south oscillating mode and east-west oscillating mode. The N-S and E-W poles are illustrated in red. When an external &amp;quot;switch&amp;quot; command is given to the system, it needs to safely switch to the other operating mode without entering the unsafe regions (shaded in blue). &lt;br /&gt;
[[File:single_switch.mp4|right|800px|Caption: Single switch commanded results in safe trajectory.]]&lt;br /&gt;
[[File:double_switch.mp4 |right|800px|Caption: Two switch commands in quick succession shows unsafe trajectory.]]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=File:Double_switch.mp4&amp;diff=25923</id>
		<title>File:Double switch.mp4</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=File:Double_switch.mp4&amp;diff=25923"/>
		<updated>2023-12-15T20:54:00Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=File:Single_switch.mp4&amp;diff=25922</id>
		<title>File:Single switch.mp4</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=File:Single_switch.mp4&amp;diff=25922"/>
		<updated>2023-12-15T20:26:11Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25921</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25921"/>
		<updated>2023-12-15T20:24:32Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;br /&gt;
&lt;br /&gt;
[[File:single_switch.mp4|right|800px|Caption: Single switch commanded results in safe trajectory.]]&lt;br /&gt;
[[File:double_switch.mp4 |right|800px|Caption: Two switch commands in quick succession shows unsafe trajectory.]]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25920</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25920"/>
		<updated>2023-12-15T18:51:24Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;br /&gt;
&lt;br /&gt;
State of the art methods include simulation-based falsification in which a simulator of the system (whose model is black-box) is queried with inputs until a failing trace is found. Current research in this area is in developing novel black-box optimization algorithms to query inputs in identifying these failing traces. However, most of these algorithms require the input vector to be continuous valued. Furthermore, these test inputs are often parameters that remain constant throughout the test, and are not reactive to system behavior. We wish to research the applicability of these methods to discrete-valued as well as mixed discrete-continuous inputs, and to reactive settings.&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25915</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25915"/>
		<updated>2023-12-13T19:09:31Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters. &lt;br /&gt;
&lt;br /&gt;
Current methods to identifying failures: Simulation-based falsification is the primary method of identifying failures.&lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25914</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25914"/>
		<updated>2023-12-13T19:04:00Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters.&lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|800px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25913</id>
		<title>SURF 2024: Hierarchical Testing for Safety-Critical Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024:_Hierarchical_Testing_for_Safety-Critical_Autonomous_Systems&amp;diff=25913"/>
		<updated>2023-12-13T19:03:20Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;2024 SURF Hierarchical Testing for Safety-Critical Autonomous Systems&amp;#039;&amp;#039;&amp;#039; * Mentor: Richard Murray * Co-mentor: Apurva Badithela  ==Project Description==   Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very l...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2024|2024 SURF]] Hierarchical Testing for Safety-Critical Autonomous Systems&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Automatically identifying failure cases of safety-critical autonomous systems is important for mainstream deployment of these systems. A few examples of such safety-critical robotic systems is illustrated on the right. Since autonomous robotic systems are complex and their domain of operation is very large, it is not possible to exhaustively verify correctness of the autonomous system with respect to safety specifications. Oftentimes, these systems need to reason over both discrete as well as continuous inputs and parameters.&lt;br /&gt;
&lt;br /&gt;
[[Image:autonomous_robotic_systems.png|right|400px|Caption:Examples of autonomous robotic systems and their complexity.]]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=File:Autonomous_robotic_systems.png&amp;diff=25912</id>
		<title>File:Autonomous robotic systems.png</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=File:Autonomous_robotic_systems.png&amp;diff=25912"/>
		<updated>2023-12-13T19:02:04Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2024&amp;diff=25911</id>
		<title>SURF 2024</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2024&amp;diff=25911"/>
		<updated>2023-12-13T18:55:14Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* List of available projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
This page is intended for students interested in working on SURF projects in the Summer of 2024.  It contains information about how to apply for a SURF project in my group along with a list of project areas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Projects will be posted here starting after finals week and up to the start of classes.  Please check back after that time for more information.&lt;br /&gt;
&lt;br /&gt;
=== Applying for a SURF project in my group ===&lt;br /&gt;
&lt;br /&gt;
Because I get many students interested in doing SURFs in my group and because we have several projects available, we use the first few weeks in January to sort out who we will work with in writing proposals.  We only submit one proposal per project area and so we often can&#039;t accommodate everyone who wants to work in my group over the summer.&lt;br /&gt;
&lt;br /&gt;
# A list of SURF project descriptions is given in the table below.  Due to the number of SURF projects that we support, we are only able to support students who select from among these projects.  Please make sure to read the project descriptions, required skills (if any)  and skim a few of the listed references before contacting me about doing a SURF project.  &lt;br /&gt;
# Students interested in writing proposals for SURF projects should contact me via e-mail by 10 Jan (Wed) and provide the following information:&lt;br /&gt;
#* A list of up to three SURF projects from the list below that you are interested in working on&lt;br /&gt;
#* A one page resume listing relevant experience and coursework&lt;br /&gt;
#* If you are not a Caltech student, I will also need the following additional information:&lt;br /&gt;
#** An unofficial copy of your academic transcript&lt;br /&gt;
#** Names of two faculty members at your current institution that I can contact for a reference &lt;br /&gt;
# Starting on 11 January, I will go through all applications and work with my group to identify who is a possible fit for each project.  We will then contact you and ask for you to meet (or talk with) possible co-mentors so that we can eventually work out who we will work with in writing up a proposal.&lt;br /&gt;
# We hope to make final decisions on projects by about 1 Jan, at which point we will start working with students on writing up proposals.&lt;br /&gt;
# All applications should go through the normal SURF application process, described at www.surf.caltech.edu.  SURF applications are due on ~22 Feb&amp;lt;!-- (Amgen applications are due a week earlier)--&amp;gt;.&lt;br /&gt;
# If you are selected for a SURF, please be aware of the following information&lt;br /&gt;
#* All SURF projects in my group will start on 18 Jun (Tue).  If you can&#039;t start on that date, please make sure that you indicate this when you contact me&lt;br /&gt;
#* All SURF projects are for a minimum of 10 weeks, although I usually recommend that you try to stay for 12 weeks if possible.  It&#039;s hard to complete a project in just 10 weeks and spending a few extra weeks can greatly improve the project.&lt;br /&gt;
#* All SURF students in my group will be expected to devote full-time effort to their SURF project, so you cannot have a second job in addition to your SURF.&lt;br /&gt;
#* Additional information on SURF available here: https://sfp.caltech.edu/undergraduate-research/programs/surf&lt;br /&gt;
&lt;br /&gt;
=== List of available projects ===&lt;br /&gt;
&lt;br /&gt;
Projects will be posted as they come available.  I recommend waiting until near the deadline submission before submitting your project preferences.&lt;br /&gt;
&lt;br /&gt;
{| border=1 width=100%&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Title&#039;&#039;&#039; || &#039;&#039;&#039;Grant/Project&#039;&#039;&#039; || &#039;&#039;&#039;Co-Mentors&#039;&#039;&#039; || &#039;&#039;&#039;Comments&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|  {{SURF|2024|Hierarchical Testing for Safety-Critical Autonomous Systems}}&lt;br /&gt;
| TBD&lt;br /&gt;
| Apurva Badithela&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  {{SURF|2024|Bioengineering toolkit development for genetic alterations in the entomopathogenic nematode symbiont Xenorhabdus griffiniae}}&lt;br /&gt;
| TBD&lt;br /&gt;
| Elin Larsson&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| {{SURF|2023|Genetically-Programmed Synthetic Cells and Multi-Cellular Machines}}&lt;br /&gt;
| [[NSF Cell Free]]&lt;br /&gt;
| TBD&lt;br /&gt;
| Multiple projects may be available; competitive selection&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Marta_Kwiatkowska,_Jul_2023&amp;diff=25673</id>
		<title>Marta Kwiatkowska, Jul 2023</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Marta_Kwiatkowska,_Jul_2023&amp;diff=25673"/>
		<updated>2023-07-17T19:05:58Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Marta Kwiatkowska from the University of Oxford will be visiting on 21 Jul (Fri).&lt;br /&gt;
&lt;br /&gt;
=== Schedule ===&lt;br /&gt;
&lt;br /&gt;
* 8:30 am: Apurva (via Zoom)&lt;br /&gt;
* 9:15 am: Open&lt;br /&gt;
* 10:00 am: Richard Murray (109 Steele Lab)&lt;br /&gt;
* 11:00 am: Seminar (121 Annenberg)&lt;br /&gt;
* 12:00 pm: Lunch with Richard, Erik, Lulu&lt;br /&gt;
* 1:30 pm: Lulu Qian&lt;br /&gt;
* 2:15 pm: Erik Winfree&lt;br /&gt;
* 3:00 pm: Open (T&amp;amp;E?)&lt;br /&gt;
* 4:00 pm: Open (Pacti?)&lt;br /&gt;
* 5:00 pm: done for the day&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Bio ===&lt;br /&gt;
&lt;br /&gt;
Marta Kwiatkowska is Professor of Computing Systems and Fellow of&lt;br /&gt;
Trinity College, University of Oxford. She was elected to Academia&lt;br /&gt;
Europea and received a prestigious ERC Advanced Grant VERIWARE &amp;quot;From&lt;br /&gt;
software verification to everyware verification&amp;quot;, 2010-15.&lt;br /&gt;
&lt;br /&gt;
Kwiatkowska&#039;s research is concerned with modelling and verification&lt;br /&gt;
techniques for probabilistic systems, with application to engineered and&lt;br /&gt;
biological systems. She spearheaded the development of probabilistic and&lt;br /&gt;
quantitative methods in verification on the international scene. Her&lt;br /&gt;
work on the theory to practice transfer of probabilistic model checking&lt;br /&gt;
was recognised by invitations to speak at the LICS 2003 and ESEC/FSE&lt;br /&gt;
2007 conferences. She led the development of the PRISM model checker&lt;br /&gt;
(www.prismmodelchecker.org), the leading software tool in the area and&lt;br /&gt;
widely used for research and teaching. Applications of probabilistic&lt;br /&gt;
model checking have spanned communication and security protocols,&lt;br /&gt;
nanotechnology designs, power management and systems biology. Her&lt;br /&gt;
research is currently supported by £3.7m of grant funding from EPSRC,&lt;br /&gt;
EU, DARPA, Oxford Martin School and Microsoft Research.&lt;br /&gt;
&lt;br /&gt;
Kwiatkowska serves on editorial board of IEEE Transactions on Software&lt;br /&gt;
Engineering, Philosophical Transactions of the Royal Society A and&lt;br /&gt;
Science of Computer Programming, and has lectured at several summer&lt;br /&gt;
schools, including ESSLLI and the Marktoberdorf Summer School.&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Roee_Francos,_7_Jun_2023&amp;diff=25570</id>
		<title>Roee Francos, 7 Jun 2023</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Roee_Francos,_7_Jun_2023&amp;diff=25570"/>
		<updated>2023-06-06T02:21:15Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Roee Francos, a PhD student under the supervision of Prof. Freddy Bruckstein at the Computer Science Department at the Technion- Israel Institute of Technology, will be visiting Caltech on Wed (7 Jun).  Roey&#039;s research focuses on multi-agent systems, computer vision and trajectory planning problems in intelligent transportation systems.&lt;br /&gt;
&lt;br /&gt;
If you have some time to meet with Roee, you can sign up for a time here (please edit to add your name and indicate where you will meet/pick up Roee):&lt;br /&gt;
&lt;br /&gt;
* 9:15 am: Richard, 109 Steele Lab (not house)&lt;br /&gt;
* 10:00 am: open&lt;br /&gt;
* 10:45 am: open&lt;br /&gt;
* 11:30 am: open&lt;br /&gt;
* 12:15 pm: Lunch&lt;br /&gt;
* 1:30 pm: open&lt;br /&gt;
* 2:15 pm: Apurva&lt;br /&gt;
* 3:00 pm: CDS tea&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Roee_Francos,_7_Jun_2023&amp;diff=25569</id>
		<title>Roee Francos, 7 Jun 2023</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Roee_Francos,_7_Jun_2023&amp;diff=25569"/>
		<updated>2023-06-05T14:49:37Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Roee Francos, a PhD student under the supervision of Prof. Freddy Bruckstein at the Computer Science Department at the Technion- Israel Institute of Technology, will be visiting Caltech on Wed (7 Jun).  Roey&#039;s research focuses on multi-agent systems, computer vision and trajectory planning problems in intelligent transportation systems.&lt;br /&gt;
&lt;br /&gt;
If you have some time to meet with Roee, you can sign up for a time here (please edit to add your name and indicate where you will meet/pick up Roee):&lt;br /&gt;
&lt;br /&gt;
* 9:15 am: Richard, 109 Steele Lab (not house)&lt;br /&gt;
* 10:00 am: Apurva&lt;br /&gt;
* 10:45 am: open&lt;br /&gt;
* 11:30 am: open&lt;br /&gt;
* 12:15 pm: Lunch&lt;br /&gt;
* 1:30 pm: open&lt;br /&gt;
* 2:15 pm: open&lt;br /&gt;
* 3:00 pm: CDS tea&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Lars_Nielsen,_March_2023&amp;diff=25460</id>
		<title>Lars Nielsen, March 2023</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Lars_Nielsen,_March_2023&amp;diff=25460"/>
		<updated>2023-03-10T19:13:46Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* 13 Mar (Mon) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lars Nielsen from Linkoping University in Sweden will visit Caltech on 13-17 March 2023.&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=100% border=1 &lt;br /&gt;
|- valign=top&lt;br /&gt;
| width=20% |&lt;br /&gt;
=== 13 Mar (Mon) ===&lt;br /&gt;
* 8:30 am: Richard, 109 Steele Lab&lt;br /&gt;
* 9:30 am: Michael Dickinson&lt;br /&gt;
* 10:30 am: Apurva Badithela (Red Door)&lt;br /&gt;
* 11:15 am: open&lt;br /&gt;
* 12:00 pm: Lunch: Richard + Faculty&lt;br /&gt;
* 1:15 pm: John Doyle&lt;br /&gt;
* 2:00 pm: Seminar: 121 Annenberg&lt;br /&gt;
* 3:15 pm: open&lt;br /&gt;
* 4:00 pm: open&lt;br /&gt;
| width=20% |&lt;br /&gt;
&lt;br /&gt;
=== 14 Mar (Tue) ===&lt;br /&gt;
* 9:00 am: open&lt;br /&gt;
* 10:00 am: Biocircuits meeting (optional)&lt;br /&gt;
* 12:00 pm: Lunch: students&lt;br /&gt;
* 1:15 pm: Soon-Jo Chung (235 Guggenheim)&lt;br /&gt;
* 2:00 pm: open&lt;br /&gt;
* 2:45 pm: open&lt;br /&gt;
* 3:30 pm: Joel Burdick (245 Gates-Thomas)&lt;br /&gt;
* 4:15 pm: open&lt;br /&gt;
* 6:00 pm: Dinner with Richard and RuthAnne&lt;br /&gt;
| width=20% |&lt;br /&gt;
&lt;br /&gt;
=== 15 Mar (Wed) ===&lt;br /&gt;
* 1:00 pm: Markus Meister&lt;br /&gt;
* 1:45 pm: open&lt;br /&gt;
* 3:00 pm: CDS Tea&lt;br /&gt;
* 3:45 pm: open&lt;br /&gt;
| width=20% |&lt;br /&gt;
&lt;br /&gt;
=== 16 Mar (Thu) ===&lt;br /&gt;
* Dinner with Richard and graduate students&lt;br /&gt;
| width=20% |&lt;br /&gt;
&lt;br /&gt;
=== 17 Mar (Fri) ===&lt;br /&gt;
* 4:00 pm: wrap up with Richard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Seminar information === &lt;br /&gt;
&lt;br /&gt;
Force-Centric Perspectives on Autonomous Vehicle Safety-Maneuvers&lt;br /&gt;
&lt;br /&gt;
Lars Nielsen, Division of Vehicular Systems, Linköping University &amp;lt;br&amp;gt;&lt;br /&gt;
(postdoc at Caltech 85-86)&lt;br /&gt;
&lt;br /&gt;
13 March, 2-3 pm OR 15 Mar, 2-3 pm&amp;lt;br&amp;gt;&lt;br /&gt;
213 Anneberg&lt;br /&gt;
 &lt;br /&gt;
Abstract:&lt;br /&gt;
Real-time avoidance maneuvers for vehicles have been developed using a force-centric perspective,&lt;br /&gt;
where the founding principles are obtained from studies of optimal maneuvers. The&lt;br /&gt;
developed optimization framework, the different criteria used, and the obtained solutions give&lt;br /&gt;
insight into how to control the forces on the vehicle. A highlight in this presentation is the first&lt;br /&gt;
algorithm not needing a tire-road friction estimate.&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Lars_Nielsen,_March_2023&amp;diff=25451</id>
		<title>Lars Nielsen, March 2023</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Lars_Nielsen,_March_2023&amp;diff=25451"/>
		<updated>2023-03-09T00:39:14Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* 13 Mar (Mon) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lars Nielsen from Linkoping University in Sweden will visit Caltech on 13-17 March 2023.&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=100% border=1 &lt;br /&gt;
|- valign=top&lt;br /&gt;
| width=20% |&lt;br /&gt;
=== 13 Mar (Mon) ===&lt;br /&gt;
* 8:30 am: Richard, 110 Steele Lab&lt;br /&gt;
* 9:30 am: Apurva Badithela&lt;br /&gt;
* 10:15 am: open&lt;br /&gt;
* 11:00 am: Michael Dickinson&lt;br /&gt;
* 11:45 am: Lunch: Richard + Faculty&lt;br /&gt;
* 1:15 pm: open&lt;br /&gt;
* 2:00 pm: Hold: seminar&lt;br /&gt;
* 3:15 pm: open&lt;br /&gt;
* 4:00 pm: open&lt;br /&gt;
| width=20% |&lt;br /&gt;
&lt;br /&gt;
=== 14 Mar (Tue) ===&lt;br /&gt;
* 9:00 am: open&lt;br /&gt;
* 10:00 am: Biocircuits meeting (optional)&lt;br /&gt;
* 12:00 pm: Lunch: students&lt;br /&gt;
* 1:15 pm: Soon-Jo Chung (235 Guggenheim)&lt;br /&gt;
* 2:00 pm: open&lt;br /&gt;
* 2:45 pm: open&lt;br /&gt;
* 3:30 pm: open&lt;br /&gt;
* 4:15 pm: open&lt;br /&gt;
* 6:00 pm: Dinner with Richard and RuthAnne&lt;br /&gt;
| width=20% |&lt;br /&gt;
&lt;br /&gt;
=== 15 Mar (Wed) ===&lt;br /&gt;
* 1:00 pm: Markus Meister&lt;br /&gt;
* 1:45 pm: open&lt;br /&gt;
* 3:00 pm: CDS Tea&lt;br /&gt;
* 3:45 pm: open&lt;br /&gt;
| width=20% |&lt;br /&gt;
&lt;br /&gt;
=== 16 Mar (Thu) ===&lt;br /&gt;
* Dinner with Richard and graduate students&lt;br /&gt;
| width=20% |&lt;br /&gt;
&lt;br /&gt;
=== 17 Mar (Fri) ===&lt;br /&gt;
* 4:00 pm: wrap up with Richard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Seminar information === &lt;br /&gt;
&lt;br /&gt;
Force-Centric Perspectives on Autonomous Vehicle Safety-Maneuvers&lt;br /&gt;
&lt;br /&gt;
Lars Nielsen, Division of Vehicular Systems, Linköping University &amp;lt;br&amp;gt;&lt;br /&gt;
(postdoc at Caltech 85-86)&lt;br /&gt;
&lt;br /&gt;
13 March, 2-3 pm OR 15 Mar, 2-3 pm&amp;lt;br&amp;gt;&lt;br /&gt;
213 Anneberg&lt;br /&gt;
 &lt;br /&gt;
Abstract:&lt;br /&gt;
Real-time avoidance maneuvers for vehicles have been developed using a force-centric perspective,&lt;br /&gt;
where the founding principles are obtained from studies of optimal maneuvers. The&lt;br /&gt;
developed optimization framework, the different criteria used, and the obtained solutions give&lt;br /&gt;
insight into how to control the forces on the vehicle. A highlight in this presentation is the first&lt;br /&gt;
algorithm not needing a tire-road friction estimate.&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Wen-Hua_Chen,_4-21_Oct_2022&amp;diff=24900</id>
		<title>Wen-Hua Chen, 4-21 Oct 2022</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Wen-Hua_Chen,_4-21_Oct_2022&amp;diff=24900"/>
		<updated>2022-10-03T16:11:50Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* 4 Oct (Tue) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Professor Wen-Hua Chen from the University of Loughborough will visit Caltech on 4-21 Oct 2022.  A schedule for the first few days of his visit is given below.  Please feel free to sign up for any open times.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|-&lt;br /&gt;
| align=top width=50% |&lt;br /&gt;
=== 4 Oct (Tue) ===&lt;br /&gt;
* 8:30 am: Richard Murray, 109 Steele Lab&lt;br /&gt;
* 9:00 am: Soon-Jo Chung, 235 Guggenheim (including lab tour (CAST &amp;amp; ARCL))&lt;br /&gt;
* 9:45 am: Diana Bohler (logistics)&lt;br /&gt;
* 10:30 am: Open&lt;br /&gt;
* 11:15 am: Open&lt;br /&gt;
* 12:00 pm: Lunch with Richard&lt;br /&gt;
* 1:15 pm: Houman Owhadi, 201 Steele House&lt;br /&gt;
* 2:00 pm: Lijun Chen, 217 Annenberg&lt;br /&gt;
* 2:45 pm: Andrew Taylor, 325 Annenberg&lt;br /&gt;
* 3:30 pm: Noel Csomay-Shanklin, 325 Annenberg&lt;br /&gt;
* 4:15 pm: Apurva (meet at 325 Annenberg and then walk over to 238 Annenberg or Annenberg lounge)&lt;br /&gt;
* 5:00 pm: Done for the day&lt;br /&gt;
&lt;br /&gt;
| align=top width=50% |&lt;br /&gt;
&lt;br /&gt;
=== 5 Oct (Wed) ===&lt;br /&gt;
&lt;br /&gt;
* 9:00 am: Ersin Das, Location: Steele House&lt;br /&gt;
* 9:45 am: Open&lt;br /&gt;
* 10:30 am: Open&lt;br /&gt;
* 11:15 am: Prithvi Akella, (Place TBD)&lt;br /&gt;
* 12:00 pm: Lunch&lt;br /&gt;
* 1:30 pm: Anima Anandkumar, 316 Annenberg&lt;br /&gt;
* 2:15 pm: Josefine Graebener, Location TBD&lt;br /&gt;
* 3:00 pm: CDS Tea, Annenberg&lt;br /&gt;
* 3:45 pm: Seminar - 121 Annenberg&lt;br /&gt;
* 5:00 pm: Richard Murray, 109 Steele Lab&lt;br /&gt;
* 6:00 pm: Dinner with NCS group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stability of Optimisation-Based Control: Brief Review and New Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prof Wen-Hua Chen &amp;lt;br&amp;gt;&lt;br /&gt;
Department of Aeronautical and Automotive Engineering  &amp;lt;br&amp;gt;&lt;br /&gt;
Loughborough University&lt;br /&gt;
&lt;br /&gt;
With the increase of the size and the complexity of systems and their performance specifications, it is more difficult to find analytic solutions for a control system as in traditional approaches to give optimal performance. Model Predictive Control (MPC) provides a promising mechanism to realise numerical optimal solutions online to achieve best possible performance. However, establishing stability and other formal properties of this type of optimisation-based control imposes significant challenges. This talk starts with the brief overview of 30 years’ journey in developing stability theory for MPC. It points out that despite all the success, there is still a significant gap between available theoretic tools and practical applications. For example, a terminal cost that covers the optimal cost-to-go is, in general, required to add the cost function in order to ensure stability of a MPC algorithm, but most of MPC used in practical applications does not have a terminal cost (for example, all cases studies in Matlab Nonlinear MPC Toolbox do not have a terminal cost but work well). This talk presents a new approach and development in this area. The stability condition is entirely complementary to the existing terminal based MPC stability theory. Opposite to the existing MPC stability conditions, the new stability conditions cover the terminal cost being less than the optimal cost-to-go including zero terminal cost even negative. The new conditions are established based on a property of a modified stage cost. Numerical results are presented to illustrate the links and differences between the new approach and the existing stability theory. It is hoped that this work would trigger more research into understanding the interaction between optimisation and feedback loops in both the AI and the control community so ensure efficiency and safety of future robotics and autonomous systems.     &lt;br /&gt;
&lt;br /&gt;
Dr Wen-Hua Chen holds Professor in Autonomous Vehicles in the Department of Aeronautical and Automotive Engineering at Loughborough University, UK. Prof. Chen has a considerable experience in control, signal processing and artificial intelligence and their applications in aerospace, automotive and agriculture systems. In the last 15 years, he has been working on the development and application of unmanned aircraft system and intelligent vehicle technologies, spanning autopilots, situational awareness, decision making, verification, remote sensing for precision agriculture and environment monitoring. He is a Chartered Engineer, and a Fellow of IEEE, the Institution of Mechanical Engineers and the Institution of Engineering and Technology, UK. Recently Prof Chen was awarded an EPSRC (Engineering and Physical Science Research Council) Established Career Fellowship in developing control theory for next generation of control systems to enable high levels of automation such as robotics and autonomous systems.&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Wen-Hua_Chen,_4-21_Oct_2022&amp;diff=24893</id>
		<title>Wen-Hua Chen, 4-21 Oct 2022</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Wen-Hua_Chen,_4-21_Oct_2022&amp;diff=24893"/>
		<updated>2022-10-02T18:23:48Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* 4 Oct (Tue) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Professor Wen-Hua Chen from the University of Loughborough will visit Caltech on 4-21 Oct 2022.  A schedule for the first few days of his visit is given below.  Please feel free to sign up for any open times.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|-&lt;br /&gt;
| align=top width=50% |&lt;br /&gt;
=== 4 Oct (Tue) ===&lt;br /&gt;
* 8:30 am: Richard Murray, 109 Steele Lab&lt;br /&gt;
* 9:00 am: Soon-Jo Chung, 235 Guggenheim (including lab tour (CAST &amp;amp; ARCL))&lt;br /&gt;
* 9:45 am: Diana Bohler (logistics)&lt;br /&gt;
* 10:30 am: Open&lt;br /&gt;
* 11:15 am: Apurva (meet outside Richard&#039;s office and walk over to Red door)&lt;br /&gt;
* 12:00 pm: Lunch with Richard&lt;br /&gt;
* 1:15 pm: Houman Owhadi, 201 Steele House&lt;br /&gt;
* 2:00 pm: Open&lt;br /&gt;
* 2:45 pm: Open&lt;br /&gt;
* 3:30 pm: Open&lt;br /&gt;
* 4:15 pm: Open&lt;br /&gt;
* 5:00 pm: Done for the day&lt;br /&gt;
&lt;br /&gt;
| align=top width=50% |&lt;br /&gt;
&lt;br /&gt;
=== 5 Oct (Wed) ===&lt;br /&gt;
&lt;br /&gt;
* 9:00 am: Ersin Das, Location: TBD &lt;br /&gt;
* 9:45 am: Open&lt;br /&gt;
* 10:30 am: Open&lt;br /&gt;
* 11:15 am: Prithvi Akella, (Place TBD)&lt;br /&gt;
* 12:00 pm: Lunch&lt;br /&gt;
* 1:30 pm: Anima Anandkumar, 316 Annenberg&lt;br /&gt;
* 2:15 pm: Josefine Graebener, Location TBD&lt;br /&gt;
* 3:00 pm: CDS Tea, Annenberg&lt;br /&gt;
* 3:45 pm: Seminar - 121 Annenberg&lt;br /&gt;
* 5:00 pm: Richard Murray, 109 Steele Lab&lt;br /&gt;
* 6:00 pm: Dinner with NCS group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stability of Optimisation-Based Control: Brief Review and New Results&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prof Wen-Hua Chen &amp;lt;br&amp;gt;&lt;br /&gt;
Department of Aeronautical and Automotive Engineering  &amp;lt;br&amp;gt;&lt;br /&gt;
Loughborough University&lt;br /&gt;
&lt;br /&gt;
With the increase of the size and the complexity of systems and their performance specifications, it is more difficult to find analytic solutions for a control system as in traditional approaches to give optimal performance. Model Predictive Control (MPC) provides a promising mechanism to realise numerical optimal solutions online to achieve best possible performance. However, establishing stability and other formal properties of this type of optimisation-based control imposes significant challenges. This talk starts with the brief overview of 30 years’ journey in developing stability theory for MPC. It points out that despite all the success, there is still a significant gap between available theoretic tools and practical applications. For example, a terminal cost that covers the optimal cost-to-go is, in general, required to add the cost function in order to ensure stability of a MPC algorithm, but most of MPC used in practical applications does not have a terminal cost (for example, all cases studies in Matlab Nonlinear MPC Toolbox do not have a terminal cost but work well). This talk presents a new approach and development in this area. The stability condition is entirely complementary to the existing terminal based MPC stability theory. Opposite to the existing MPC stability conditions, the new stability conditions cover the terminal cost being less than the optimal cost-to-go including zero terminal cost even negative. The new conditions are established based on a property of a modified stage cost. Numerical results are presented to illustrate the links and differences between the new approach and the existing stability theory. It is hoped that this work would trigger more research into understanding the interaction between optimisation and feedback loops in both the AI and the control community so ensure efficiency and safety of future robotics and autonomous systems.     &lt;br /&gt;
&lt;br /&gt;
Dr Wen-Hua Chen holds Professor in Autonomous Vehicles in the Department of Aeronautical and Automotive Engineering at Loughborough University, UK. Prof. Chen has a considerable experience in control, signal processing and artificial intelligence and their applications in aerospace, automotive and agriculture systems. In the last 15 years, he has been working on the development and application of unmanned aircraft system and intelligent vehicle technologies, spanning autopilots, situational awareness, decision making, verification, remote sensing for precision agriculture and environment monitoring. He is a Chartered Engineer, and a Fellow of IEEE, the Institution of Mechanical Engineers and the Institution of Engineering and Technology, UK. Recently Prof Chen was awarded an EPSRC (Engineering and Physical Science Research Council) Established Career Fellowship in developing control theory for next generation of control systems to enable high levels of automation such as robotics and autonomous systems.&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Specification_Monitor_for_Testing_of_Autonomous_Systems&amp;diff=24591</id>
		<title>SURF 2022: Specification Monitor for Testing of Autonomous Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Specification_Monitor_for_Testing_of_Autonomous_Systems&amp;diff=24591"/>
		<updated>2022-01-20T03:32:45Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[SURF 2022|2022 SURF]] project description&#039;&#039;&#039;&lt;br /&gt;
* Mentor: Richard Murray&lt;br /&gt;
* Co-mentor: Josefine Graebener, Apurva Badithela&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
[[File:Duckiebot_db21.jpg|thumb|500px|right|Duckiebot model DB21. Image from https://www.duckietown.org/mooc]]&lt;br /&gt;
&lt;br /&gt;
Testing of autonomous vehicles (AVs) is a very time and cost intensive effort, which needs to be repeated after every system modification [1]. Thus finding a way to improve the efficiency of testing is a very valuable step on the path to more autonomy. We propose a framework which `merges&#039; multiple unit tests into one fewer tests, which guarantee to cover what is tested in the unit tests. &lt;br /&gt;
&lt;br /&gt;
This framework uses a model of the system to find the merged test via a simulation and tree search, this model is non-deterministic, but expected to be perfect. But realistically , this system model will not cover the entire system in all possible situations in the real world -- due to the gap between simulation and real world -- therefore the execution of the test could not result in the desired outcome when it is run on the actual hardware. While executing the testing campaign, we need to find a way to automatically evaluate the tests --- whether it satisfied the test specification -- for example testing a left turn -- and whether the system behaved as expected -- for example safe and comfortable driving -- and then learn from the test outcomes to improve the future testing campaign.&lt;br /&gt;
&lt;br /&gt;
The summer project will be implementing a `monitor&#039;, which visualizes whether the actual test fulfilled the desired outcome and implement it on the Duckietown hardware [2]. The test monitor needs to show the satisfaction or violation of the system specification and the test specification. This test monitor will enable learning from previously run tests and improve the testing suite by modifying the following tests in case the hardware did not perform as expected in the test. After completing the monitor, the output can be used to generate an improved testing campaign and determine if improvements to the testing campaign could be made.&lt;br /&gt;
&lt;br /&gt;
Familiarity with robotic hardware (we are using Duckiebots DB21), Python 3, ROS, and Docker would be beneficial.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] Kalra, N., &amp;amp; Paddock, S. M. (2016). Driving to safety: How many miles of driving would it take to demonstrate autonomous vehicle reliability?. Transportation Research Part A: Policy and Practice, 94, 182-193.&lt;br /&gt;
&lt;br /&gt;
[2] Paull, L., Tani, J., Ahn, H., Alonso-Mora, J., Carlone, L., Cap, M., ... &amp;amp; Censi, A. (2017, May). Duckietown: an open, inexpensive and flexible platform for autonomy education and research. In 2017 IEEE International Conference on Robotics and Automation (ICRA) (pp. 1497-1504). IEEE.&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=CDS_112/Ae_103a,_Winter_2022&amp;diff=24570</id>
		<title>CDS 112/Ae 103a, Winter 2022</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=CDS_112/Ae_103a,_Winter_2022&amp;diff=24570"/>
		<updated>2022-01-03T22:53:15Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: last day&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=100%&lt;br /&gt;
|-&lt;br /&gt;
| colspan=2 align=center |&lt;br /&gt;
&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;Optimal Control and Estimation&amp;lt;/font&amp;gt;__NOTOC__&lt;br /&gt;
|- valign=top&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Instructors&#039;&#039;&#039;&lt;br /&gt;
* Richard Murray (CDS/BE), murray@cds.caltech.edu&lt;br /&gt;
* Lectures: MWF, 2-3 pm, 213 ANB&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Teaching Assistants&#039;&#039;&#039;&lt;br /&gt;
* Apurva Badithela (CDS), Ayush Pandey (CDS)&lt;br /&gt;
* Office hours: Fri, 4-5 and Mon, 3-4.  Location TBD.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the course homepage for CDS 112 (and Ae 103a), Winter 2022.  This course is intended for undergraduates and graduate students interested in optimization-based methods in control.  After completion of the course, students will understand the key principles of state-space based controller design, including optimal estimation and control techniques.&lt;br /&gt;
&lt;br /&gt;
=== Catalog Description ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CDS 112. Optimal Control and Estimation.&#039;&#039;&#039; 9 units (3-0-6): second term. Prerequisites: CDS 110 (or equivalent) and CDS 131. Optimization-based design of control systems, including optimal control and receding horizon control. Introductory random processes and optimal estimation. Kalman filtering and nonlinear filtering methods for autonomous systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ae 103 a. Aerospace Control Systems.&#039;&#039;&#039; 9 units (3-0-6): second term. Prerequisites: CDS 110 (or equivalent), CDS 131 or permission of instructor. Optimization-based design of control systems, including optimal control and receding horizon control. Introductory random processes and optimal estimation. Kalman filtering and nonlinear filtering methods for autonomous systems.&lt;br /&gt;
&lt;br /&gt;
=== Lecture Schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible wikitable&amp;quot; width=100% border=1 cellpadding=5&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Date&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Topic&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Reading&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Homework&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week 1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
3 Jan &amp;lt;br&amp;gt;  5 Jan &amp;lt;br&amp;gt; 7 Jan&lt;br /&gt;
| Introduction and review&lt;br /&gt;
* Course introduction and logistics&lt;br /&gt;
* Overview: control architectures&lt;br /&gt;
* [[http:python-control.org|Python Control Systems Library]]&lt;br /&gt;
| &lt;br /&gt;
* [[http:fbswiki.org/OBC|OBC]], {{OBC pdf|obc-intro|29Dec2021|Chapter 1}}&lt;br /&gt;
* Lecture notes: {{cds112 wi2022 pdf|L1-1_intro-03Jan2022.pdf|Mon}}, Wed&lt;br /&gt;
* Jupyter notebook: {{cds112 wi2022 pdf|W1_intro_to_python-control.ipynb}}&lt;br /&gt;
* [https://simons.berkeley.edu/control-theory Feedback Control Theory video tutorial (Simons Institute)]&lt;br /&gt;
| {{cds112 wi2022 pdf|hw1-wi2022.pdf|HW #1}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 5 Jan &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 12 Jan &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/hw1-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week 2&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
10 Jan &amp;lt;br&amp;gt;  12 Jan &amp;lt;br&amp;gt; 19 Jan&lt;br /&gt;
| Two degree of freedom control design&lt;br /&gt;
* Trajectory generation&lt;br /&gt;
* Differential flatness&lt;br /&gt;
* Implementation in Python&lt;br /&gt;
* Gain scheduling (if time)&lt;br /&gt;
| &lt;br /&gt;
* [[http:fbswiki.org/OBC|OBC]], Chapter 2&lt;br /&gt;
* Background: FBS2e, Section 8.5&lt;br /&gt;
* Theory: LST, Sections 3.1, 3.2&lt;br /&gt;
| {{cds112 wi2022 pdf|hw2-wi2022.pdf|HW #2}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 12 Jan &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 19 Jan &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/hw2-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week 3&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;17 Jan&amp;lt;/s&amp;gt; &amp;lt;br&amp;gt;  19 Jan &amp;lt;br&amp;gt; 21 Jan&lt;br /&gt;
| Optimal control&lt;br /&gt;
* Maximum principle&lt;br /&gt;
* Dynamic programming&lt;br /&gt;
* Examples and applications&lt;br /&gt;
* Implementation in Python&lt;br /&gt;
| &lt;br /&gt;
* [[http:fbswiki.org/OBC|OBC]], Chapter 3&lt;br /&gt;
| {{cds112 wi2022 pdf|hw3-wi2022.pdf|HW #3}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 19 Jan &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 26 Jan &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/hw3-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week 4&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
24 Jan &amp;lt;br&amp;gt;  26 Jan &amp;lt;br&amp;gt; 28 Jan*&lt;br /&gt;
| Linear quadratic regulators&lt;br /&gt;
* Problem formulation and solution&lt;br /&gt;
* Choosing LQR Weights&lt;br /&gt;
* Incorporating integral feedback&lt;br /&gt;
* Implementation in Python&lt;br /&gt;
| &lt;br /&gt;
* [[http:fbswiki.org/OBC|OBC]], Chapter 3&lt;br /&gt;
| {{cds112 wi2022 pdf|hw4-wi2022.pdf|HW #4}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 26 Jan &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 2 Feb &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/hw4-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week 5&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
31 Jan &amp;lt;br&amp;gt;  2 Feb &amp;lt;br&amp;gt; 4 Feb&lt;br /&gt;
| Receding horizon control&lt;br /&gt;
* Problem formulation and solution&lt;br /&gt;
* Receding horizon control using differential flatness&lt;br /&gt;
* Example: Caltech ducted fan&lt;br /&gt;
* Implementation in Python&lt;br /&gt;
| &lt;br /&gt;
* [[http:fbswiki.org/OBC|OBC]], Chapter 4&lt;br /&gt;
| {{cds112 wi2022 pdf|hw5-wi2022.pdf|HW #5}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 2 Feb &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 9 Feb &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/hw5-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week 6&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
7 Feb &amp;lt;br&amp;gt;  9 Feb &amp;lt;br&amp;gt; 11 Feb&lt;br /&gt;
| Stochastic systems&lt;br /&gt;
* Review of random variables&lt;br /&gt;
* Introduction to random processes&lt;br /&gt;
* Continuous-time, vector-valued random processes&lt;br /&gt;
* Linear stochastic systems&lt;br /&gt;
* Random processes in the frequency domain&lt;br /&gt;
| &lt;br /&gt;
* [[http:fbswiki.org/OBC|OBC]], Chapter 5&lt;br /&gt;
| {{cds112 wi2022 pdf|hw6-wi2022.pdf|HW #6}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 9 Feb &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 16 Feb &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/hw6-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week 7&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
14 Feb &amp;lt;br&amp;gt;  16 Feb &amp;lt;br&amp;gt; 18 Feb*&lt;br /&gt;
| Kalman filtering&lt;br /&gt;
* Linear quadratic estimators&lt;br /&gt;
* Extensions of the Kalman filter&lt;br /&gt;
* LQG control&lt;br /&gt;
* Example: vectored thrust aircraft&lt;br /&gt;
* Implementation in Python&lt;br /&gt;
| &lt;br /&gt;
* [[http:fbswiki.org/OBC|OBC]], Chapter 6&lt;br /&gt;
| {{cds112 wi2022 pdf|hw7-wi2022.pdf|HW #7}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 16 Feb &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 23 Feb &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/hw7-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week 8&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;s&amp;gt;21 Feb&amp;lt;/s&amp;gt; &amp;lt;br&amp;gt; 23&amp;amp;nbsp;Feb* &amp;lt;br&amp;gt; 25 Feb*&lt;br /&gt;
| Sensor fusion&lt;br /&gt;
* Discrete-time stochastic systems&lt;br /&gt;
* Kalman filters in discrete time&lt;br /&gt;
* Predictor-corrector form&lt;br /&gt;
* Combining information from multiple sensors&lt;br /&gt;
* Information filters&lt;br /&gt;
* Implementation in Python&lt;br /&gt;
| &lt;br /&gt;
* [[http:fbswiki.org/OBC|OBC]], Chapter 7&lt;br /&gt;
| {{cds112 wi2022 pdf|hw8-wi2022.pdf|HW #8}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 23 Feb &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 2 Mar &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/hw8-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week 9&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
28 Feb &amp;lt;br&amp;gt;  2 Mar &amp;lt;br&amp;gt; 4 Mar&lt;br /&gt;
| Autonomous systems&lt;br /&gt;
* Multi-layer control stack for autonomous systems&lt;br /&gt;
* Introduction to discrete decision-making&lt;br /&gt;
* Introduction to safety-critical systems&lt;br /&gt;
* Challenges and open problems&lt;br /&gt;
| &lt;br /&gt;
* TBD&lt;br /&gt;
* [[http:www.youtube.com/watch?v=Wi8Y---ce28|Can We Really Use Machine Learning in Safety Critical Systems? (IPAM talk)]]&lt;br /&gt;
| {{cds112 wi2022 pdf|hw9-wi2022.pdf|HW #9}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 2 Mar &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 9 Mar &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/hw9-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- valign=top&lt;br /&gt;
| &#039;&#039;&#039;Week&amp;amp;nbsp;10&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
7 Mar &amp;lt;br&amp;gt;  9 Mar&lt;br /&gt;
| Review for final&lt;br /&gt;
| &lt;br /&gt;
| {{cds112 wi2022 pdf|final-wi2022.pdf|Final}} &amp;lt;br&amp;gt;&lt;br /&gt;
Out: 9 Mar &amp;lt;br&amp;gt;&lt;br /&gt;
Due: 16 Mar, 5 pm &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{cds112 wi2022 pdf|caltech/final-wi2022_solns.pdf|Solns}}&amp;amp;nbsp;(Caltech&amp;amp;nbsp;only) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Grading ===&lt;br /&gt;
The final grade will be based on homework sets and a final exam: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Homework (70%):&#039;&#039; Homework sets will be handed out weekly and due on Wednesdays by 2 pm using GradeScope.  Each student is allowed up to two extensions of no more than 2 days each over the course of the term.  Homework turned in after Friday at 2 pm or after the two extensions are exhausted will not be accepted without a note from the health center or the Dean.  MATLAB/Python code and SIMULINK/Modelica diagrams are considered part of your solution and should be printed and turned in with the problem set (whether the problem asks for it or not).&lt;br /&gt;
&lt;br /&gt;
:The lowest homework set grade will be dropped when computing your final grade.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Final exam (30%):&#039;&#039;  The final exam will be handed out on the last day of class (9 Mar) and due at the end of finals week. It will be an open book exam and computers will be allowed (though not required).&lt;br /&gt;
&lt;br /&gt;
=== Collaboration Policy ===&lt;br /&gt;
&lt;br /&gt;
Collaboration on homework assignments is encouraged. You may consult outside reference materials, other students, the TA, or the instructor, but you cannot consult homework solutions from prior years and you must cite any use of material from outside references. All solutions that are handed in should be written up individually and should reflect your own understanding of the subject matter at the time of writing.  Any computer code that is used to solve homework problems is considered part of your writeup and should be done individually (you can share ideas, but not code).&lt;br /&gt;
&lt;br /&gt;
No collaboration is allowed on the final exam.&lt;br /&gt;
&lt;br /&gt;
=== Course Text and References ===&lt;br /&gt;
&lt;br /&gt;
The primary course texts are&lt;br /&gt;
* &amp;lt;span id=&amp;quot;OBC&amp;quot;&amp;gt;[OBC]&amp;lt;/span&amp;gt; R. M. Murray, &amp;quot;Optimization-Based Control&amp;quot;, 2022. [https://fbswiki.org/wiki/index.php/Supplement:_Optimization-Based_Control Online access]&lt;br /&gt;
&lt;br /&gt;
The following additional references may also be useful:&lt;br /&gt;
&lt;br /&gt;
* [FBS2e] K. J. Astrom and Richard M. Murray, [http://fbsbook.org &#039;&#039;Feedback Systems: An Introduction for Scientists and Engineers&#039;&#039;], Princeton University Press, Second Edition*, 2020.&lt;br /&gt;
* [LST] Richard M. Murray, Feedback Systems: Notes on Linear Systems Theory, 2020. (Updated 30 Oct 2020)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [Lew03] A. D. Lewis, &#039;&#039;A Mathematical Approach to Classical Control&#039;&#039;, 2003. [https://mast.queensu.ca/~andrew/teaching/pdf/332-notes.pdf Online access].&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* J. Distefano III, A. R. Stubberud and Ivan J. Williams (Author), &#039;&#039;Schaum&#039;s Outline of Feedback and Control Systems&#039;&#039;, 2nd Edition, 2013.  &lt;br /&gt;
* B. Friedland, &#039;&#039;Control System Design: An Introduction to State-Space Methods&#039;&#039;, McGraw-Hill, 1986.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Note: the only sources listed here are those that allow free access to online versions.  Additional textbooks that are not freely available can be obtained from the library.&lt;br /&gt;
&lt;br /&gt;
[[Category: Courses]]&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24521</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24521"/>
		<updated>2021-12-21T19:51:21Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* What you can expect from this SURF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Executions&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, operational testing is imperative. However, principled methods for generating operational tests is still a young but growing research area? Since the autonomous systems are complex and the domain of their operating environments is typically very large, it is not possible to exhaustively check or verify the autonomous systems&#039; behavior. Instead, we need an automated paradigm to select a small number of tests that are the most informative of the system. In this work, we want to formally characterize the notion of redundancy between two test executions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories: &lt;br /&gt;
* Open-loop test in a static environment -- The test parameters are defined prior to the start of the test and do not depend on the real-time state of the autonomous system during the test. The test environment has no continuous dynamics. An example of this type of test would be to setup the track to have obstacles that block the autonomous duckiebot&#039;s path and have the duckiebot start with some pre-defined initial pose and velocity.&lt;br /&gt;
&lt;br /&gt;
* Open-loop test in a dynamic environment -- The test strategies of the test environment agents do not depend on the real-time state of the system under test. The test environment has agents with continuous dynamics. For example, in this test paradigm, we could have test environment duckiebots with predefined instructions on how to navigate around the track, and this pre-programmed logic on the test environment duckiebots does not change irrespective of the behavior of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a static environment -- The test parameters depend on the real-time state of the system under test. The test environment does not have agents with continuous dynamics. For example, obstacles can be placed on the track but instructions on where the duckiebot under test should navigate to could be generated in real-time and depends on the trajectory of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a dynamic environment -- The test parameters depend on the real-time state of the system under test, and the test strategies agents in the environment are reactive to the state of the system. Considering the running example of testing a duckiebot on the track, this type of test would comprise of test environment duckiebots with strategies that react to the duckiebot under test. A concrete example of this would be a test duckiebot slowing down to match the time at which the test duckiebot and the duckiebot under test reach an intersection. This would prompt the duckiebot under test to account for the test duckiebot before proceeding through the intersection, and this would be more useful test than having the duckiebot driving through an empty intersection.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity (as described above) on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. For instance, is there open-loop test executions in a dynamic environment that can be replaced by an equivalent open-loop test in a static environment? Likewise, we would also like to reason about redundancy in the following test paradigms -- open-loop test in a dynamic environment vs. reactive test in a dynamic environment and reactive test in a static environment vs. reactive test in a dynamic environment. We can start by defining and computing a notion of information gain over the test execution and show that a more complex test may or may not offer any new insight regarding system performance. If we can prove, or find a counterexample that disproves, redundancy between test executions from different test environment paradigms, we would like to implement the test executions on Duckietown to demonstrate this. in addition to the Duckietown hardware, we have access to the Duckietown simulator that will be a useful tool for this study.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Distributed Computing and Formal Methods (CS 142), Robotics (ME 133abc, ME 134)&lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24520</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24520"/>
		<updated>2021-12-21T19:51:09Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Executions&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, operational testing is imperative. However, principled methods for generating operational tests is still a young but growing research area? Since the autonomous systems are complex and the domain of their operating environments is typically very large, it is not possible to exhaustively check or verify the autonomous systems&#039; behavior. Instead, we need an automated paradigm to select a small number of tests that are the most informative of the system. In this work, we want to formally characterize the notion of redundancy between two test executions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories: &lt;br /&gt;
* Open-loop test in a static environment -- The test parameters are defined prior to the start of the test and do not depend on the real-time state of the autonomous system during the test. The test environment has no continuous dynamics. An example of this type of test would be to setup the track to have obstacles that block the autonomous duckiebot&#039;s path and have the duckiebot start with some pre-defined initial pose and velocity.&lt;br /&gt;
&lt;br /&gt;
* Open-loop test in a dynamic environment -- The test strategies of the test environment agents do not depend on the real-time state of the system under test. The test environment has agents with continuous dynamics. For example, in this test paradigm, we could have test environment duckiebots with predefined instructions on how to navigate around the track, and this pre-programmed logic on the test environment duckiebots does not change irrespective of the behavior of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a static environment -- The test parameters depend on the real-time state of the system under test. The test environment does not have agents with continuous dynamics. For example, obstacles can be placed on the track but instructions on where the duckiebot under test should navigate to could be generated in real-time and depends on the trajectory of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a dynamic environment -- The test parameters depend on the real-time state of the system under test, and the test strategies agents in the environment are reactive to the state of the system. Considering the running example of testing a duckiebot on the track, this type of test would comprise of test environment duckiebots with strategies that react to the duckiebot under test. A concrete example of this would be a test duckiebot slowing down to match the time at which the test duckiebot and the duckiebot under test reach an intersection. This would prompt the duckiebot under test to account for the test duckiebot before proceeding through the intersection, and this would be more useful test than having the duckiebot driving through an empty intersection.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity (as described above) on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. For instance, is there open-loop test executions in a dynamic environment that can be replaced by an equivalent open-loop test in a static environment? Likewise, we would also like to reason about redundancy in the following test paradigms -- open-loop test in a dynamic environment vs. reactive test in a dynamic environment and reactive test in a static environment vs. reactive test in a dynamic environment. We can start by defining and computing a notion of information gain over the test execution and show that a more complex test may or may not offer any new insight regarding system performance. If we can prove, or find a counterexample that disproves, redundancy between test executions from different test environment paradigms, we would like to implement the test executions on Duckietown to demonstrate this. in addition to the Duckietown hardware, we have access to the Duckietown simulator that will be a useful tool for this study.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Distributed Computing and Formal Methods (CS 142), Robotics (ME 133abc, ME 134)&lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with autonomous robots&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24519</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24519"/>
		<updated>2021-12-21T17:29:02Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Executions&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, operational testing is imperative. However, principled methods for generating operational tests is still a young but growing research area? Since the autonomous systems are complex and the domain of their operating environments is typically very large, it is not possible to exhaustively check or verify the autonomous systems&#039; behavior. Instead, we need an automated paradigm to select a small number of tests that are the most informative of the system. In this work, we want to formally characterize the notion of redundancy between two test executions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories: &lt;br /&gt;
* Open-loop test in a static environment -- The test parameters are defined prior to the start of the test and do not depend on the real-time state of the autonomous system during the test. The test environment has no continuous dynamics. An example of this type of test would be to setup the track to have obstacles that block the autonomous duckiebot&#039;s path and have the duckiebot start with some pre-defined initial pose and velocity.&lt;br /&gt;
&lt;br /&gt;
* Open-loop test in a dynamic environment -- The test strategies of the test environment agents do not depend on the real-time state of the system under test. The test environment has agents with continuous dynamics. For example, in this test paradigm, we could have test environment duckiebots with predefined instructions on how to navigate around the track, and this pre-programmed logic on the test environment duckiebots does not change irrespective of the behavior of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a static environment -- The test parameters depend on the real-time state of the system under test. The test environment does not have agents with continuous dynamics. For example, obstacles can be placed on the track but instructions on where the duckiebot under test should navigate to could be generated in real-time and depends on the trajectory of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a dynamic environment -- The test parameters depend on the real-time state of the system under test, and the test strategies agents in the environment are reactive to the state of the system. Considering the running example of testing a duckiebot on the track, this type of test would comprise of test environment duckiebots with strategies that react to the duckiebot under test. A concrete example of this would be a test duckiebot slowing down to match the time at which the test duckiebot and the duckiebot under test reach an intersection. This would prompt the duckiebot under test to account for the test duckiebot before proceeding through the intersection, and this would be more useful test than having the duckiebot driving through an empty intersection.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity (as described above) on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. For instance, is there open-loop test executions in a dynamic environment that can be replaced by an equivalent open-loop test in a static environment? Likewise, we would also like to reason about redundancy in the following test paradigms -- open-loop test in a dynamic environment vs. reactive test in a dynamic environment and reactive test in a static environment vs. reactive test in a dynamic environment. We can start by defining and computing a notion of information gain over the test execution and show that a more complex test may or may not offer any new insight regarding system performance. If we can prove, or find a counterexample that disproves, redundancy between test executions from different test environment paradigms, we would like to implement the test executions on Duckietown to demonstrate this. in addition to the Duckietown hardware, we have access to the Duckietown simulator that will be a useful tool for this study.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Interest in hands-on robotics experience &lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with autonomous robots&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24518</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24518"/>
		<updated>2021-12-21T17:07:23Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Executions&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, operational testing is imperative. However, principled methods for generating operational tests is still a young but growing research area? Since the autonomous systems are complex and the domain of their operating environments is typically very large, it is not possible to exhaustively check or verify the autonomous systems&#039; behavior. Instead, we need an automated paradigm to select a small number of tests that are the most informative of the system. In this work, we want to formally characterize the notion of redundancy between two test executions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories: &lt;br /&gt;
* Open-loop test in a static environment -- The test parameters are defined prior to the start of the test and do not depend on the real-time state of the autonomous system during the test. The test environment has no continuous dynamics. An example of this type of test would be to setup the track to have obstacles that block the autonomous duckiebot&#039;s path and have the duckiebot start with some pre-defined initial pose and velocity.&lt;br /&gt;
&lt;br /&gt;
* Open-loop test in a dynamic environment -- The test strategies of the test environment agents do not depend on the real-time state of the system under test. The test environment has agents with continuous dynamics. For example, in this test paradigm, we could have test environment duckiebots with predefined instructions on how to navigate around the track, and this pre-programmed logic on the test environment duckiebots does not change irrespective of the behavior of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a static environment -- The test parameters depend on the real-time state of the system under test. The test environment does not have agents with continuous dynamics. For example, obstacles can be placed on the track but instructions on where the duckiebot under test should navigate to could be generated in real-time and depends on the trajectory of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a dynamic environment -- The test parameters depend on the real-time state of the system under test, and the test strategies agents in the environment are reactive to the state of the system. Considering the running example of testing a duckiebot on the track, this type of test would comprise of test environment duckiebots with strategies that react to the duckiebot under test. A concrete example of this would be a test duckiebot slowing down to match the time at which the test duckiebot and the duckiebot under test reach an intersection. This would prompt the duckiebot under test to account for the test duckiebot before proceeding through the intersection, and this would be more useful test than having the duckiebot driving through an empty intersection.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity (as described above) on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. For instance, is there open-loop test executions in a dynamic environment that can be replaced by an equivalent open-loop test in a static environment? Likewise, we would also like to reason about redundancy in the following test paradigms -- open-loop test in a dynamic environment vs. reactive test in a dynamic environment and reactive test in a static environment vs. reactive test in a dynamic environment. We can start by defining and computing a notion of information gain over the test execution and show that a more complex test may or may not offer any new insight regarding system performance. If we can prove, or find a counterexample that disproves, redundancy between test executions from different test environment paradigms, we would like to implement the test executions on Duckietown to demonstrate this. in addition to the Duckietown hardware, we have access to the Duckietown simulator that will be a useful tool for this study.&lt;br /&gt;
&lt;br /&gt;
==Requisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Interest in hands-on robotics experience &lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with autonomous robots&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24517</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24517"/>
		<updated>2021-12-21T17:07:11Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Paradigms&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, operational testing is imperative. However, principled methods for generating operational tests is still a young but growing research area? Since the autonomous systems are complex and the domain of their operating environments is typically very large, it is not possible to exhaustively check or verify the autonomous systems&#039; behavior. Instead, we need an automated paradigm to select a small number of tests that are the most informative of the system. In this work, we want to formally characterize the notion of redundancy between two test executions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories: &lt;br /&gt;
* Open-loop test in a static environment -- The test parameters are defined prior to the start of the test and do not depend on the real-time state of the autonomous system during the test. The test environment has no continuous dynamics. An example of this type of test would be to setup the track to have obstacles that block the autonomous duckiebot&#039;s path and have the duckiebot start with some pre-defined initial pose and velocity.&lt;br /&gt;
&lt;br /&gt;
* Open-loop test in a dynamic environment -- The test strategies of the test environment agents do not depend on the real-time state of the system under test. The test environment has agents with continuous dynamics. For example, in this test paradigm, we could have test environment duckiebots with predefined instructions on how to navigate around the track, and this pre-programmed logic on the test environment duckiebots does not change irrespective of the behavior of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a static environment -- The test parameters depend on the real-time state of the system under test. The test environment does not have agents with continuous dynamics. For example, obstacles can be placed on the track but instructions on where the duckiebot under test should navigate to could be generated in real-time and depends on the trajectory of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a dynamic environment -- The test parameters depend on the real-time state of the system under test, and the test strategies agents in the environment are reactive to the state of the system. Considering the running example of testing a duckiebot on the track, this type of test would comprise of test environment duckiebots with strategies that react to the duckiebot under test. A concrete example of this would be a test duckiebot slowing down to match the time at which the test duckiebot and the duckiebot under test reach an intersection. This would prompt the duckiebot under test to account for the test duckiebot before proceeding through the intersection, and this would be more useful test than having the duckiebot driving through an empty intersection.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity (as described above) on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. For instance, is there open-loop test executions in a dynamic environment that can be replaced by an equivalent open-loop test in a static environment? Likewise, we would also like to reason about redundancy in the following test paradigms -- open-loop test in a dynamic environment vs. reactive test in a dynamic environment and reactive test in a static environment vs. reactive test in a dynamic environment. We can start by defining and computing a notion of information gain over the test execution and show that a more complex test may or may not offer any new insight regarding system performance. If we can prove, or find a counterexample that disproves, redundancy between test executions from different test environment paradigms, we would like to implement the test executions on Duckietown to demonstrate this. in addition to the Duckietown hardware, we have access to the Duckietown simulator that will be a useful tool for this study.&lt;br /&gt;
&lt;br /&gt;
==Requisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Interest in hands-on robotics experience &lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with autonomous robots&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24516</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24516"/>
		<updated>2021-12-21T17:06:44Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Cases&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, operational testing is imperative. However, principled methods for generating operational tests is still a young but growing research area? Since the autonomous systems are complex and the domain of their operating environments is typically very large, it is not possible to exhaustively check or verify the autonomous systems&#039; behavior. Instead, we need an automated paradigm to select a small number of tests that are the most informative of the system. In this work, we want to formally characterize the notion of redundancy between two test executions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories: &lt;br /&gt;
* Open-loop test in a static environment -- The test parameters are defined prior to the start of the test and do not depend on the real-time state of the autonomous system during the test. The test environment has no continuous dynamics. An example of this type of test would be to setup the track to have obstacles that block the autonomous duckiebot&#039;s path and have the duckiebot start with some pre-defined initial pose and velocity.&lt;br /&gt;
&lt;br /&gt;
* Open-loop test in a dynamic environment -- The test strategies of the test environment agents do not depend on the real-time state of the system under test. The test environment has agents with continuous dynamics. For example, in this test paradigm, we could have test environment duckiebots with predefined instructions on how to navigate around the track, and this pre-programmed logic on the test environment duckiebots does not change irrespective of the behavior of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a static environment -- The test parameters depend on the real-time state of the system under test. The test environment does not have agents with continuous dynamics. For example, obstacles can be placed on the track but instructions on where the duckiebot under test should navigate to could be generated in real-time and depends on the trajectory of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a dynamic environment -- The test parameters depend on the real-time state of the system under test, and the test strategies agents in the environment are reactive to the state of the system. Considering the running example of testing a duckiebot on the track, this type of test would comprise of test environment duckiebots with strategies that react to the duckiebot under test. A concrete example of this would be a test duckiebot slowing down to match the time at which the test duckiebot and the duckiebot under test reach an intersection. This would prompt the duckiebot under test to account for the test duckiebot before proceeding through the intersection, and this would be more useful test than having the duckiebot driving through an empty intersection.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity (as described above) on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. For instance, is there open-loop test executions in a dynamic environment that can be replaced by an equivalent open-loop test in a static environment? Likewise, we would also like to reason about redundancy in the following test paradigms -- open-loop test in a dynamic environment vs. reactive test in a dynamic environment and reactive test in a static environment vs. reactive test in a dynamic environment. We can start by defining and computing a notion of information gain over the test execution and show that a more complex test may or may not offer any new insight regarding system performance. If we can prove, or find a counterexample that disproves, redundancy between test executions from different test environment paradigms, we would like to implement the test executions on Duckietown to demonstrate this. in addition to the Duckietown hardware, we have access to the Duckietown simulator that will be a useful tool for this study.&lt;br /&gt;
&lt;br /&gt;
==Requisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Interest in hands-on robotics experience &lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with autonomous robots&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24515</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24515"/>
		<updated>2021-12-21T16:55:19Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Cases&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, operational testing is imperative. However, principled methods for generating operational tests is still a young but growing research area? Since the autonomous systems are complex and the domain of their operating environments is typically very large, it is not possible to exhaustively check or verify the autonomous systems&#039; behavior. Instead, we need an automated paradigm to select a small number of tests that are the most informative of the system. In this work, we want to formally characterize the notion of redundancy between two test executions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories: &lt;br /&gt;
* Open-loop test in a static environment -- The test parameters are defined prior to the start of the test and do not depend on the real-time state of the autonomous system during the test. The test environment has no continuous dynamics. An example of this type of test would be to setup the track to have obstacles that block the autonomous duckiebot&#039;s path and have the duckiebot start with some pre-defined initial pose and velocity.&lt;br /&gt;
&lt;br /&gt;
* Open-loop test in a dynamic environment -- The test strategies of the test environment agents do not depend on the real-time state of the system under test. The test environment has agents with continuous dynamics. For example, in this test paradigm, we could have test environment duckiebots with predefined instructions on how to navigate around the track, and this pre-programmed logic on the test environment duckiebots does not change irrespective of the behavior of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a static environment -- The test parameters depend on the real-time state of the system under test. The test environment does not have agents with continuous dynamics. For example, obstacles can be placed on the track but instructions on where the duckiebot under test should navigate to could be generated in real-time and depends on the trajectory of the duckiebot under test.&lt;br /&gt;
&lt;br /&gt;
* Reactive test in a dynamic environment -- The test parameters depend on the real-time state of the system under test, and the test strategies agents in the environment are reactive to the state of the system. Considering the running example of testing a duckiebot on the track, this type of test would comprise of test environment duckiebots with strategies that react to the duckiebot under test. A concrete example of this would be a test duckiebot slowing down to match the time at which the test duckiebot and the duckiebot under test reach an intersection. This would prompt the duckiebot under test to account for the test duckiebot before proceeding through the intersection, and this would be more useful test than having the duckiebot driving through an empty intersection.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. We can show this by defining and computing a notion of information gain over the test and show that a more complex test may or may not offer any new insight regarding system performance.&lt;br /&gt;
&lt;br /&gt;
==Requisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Interest in hands-on robotics experience &lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with autonomous robots&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24514</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24514"/>
		<updated>2021-12-21T16:39:31Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Cases&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, operational testing is imperative. However, principled methods for generating operational tests is still a young but growing research area? Since the autonomous systems are complex and the domain of their operating environments is typically very large, it is not possible to exhaustively check or verify the autonomous systems&#039; behavior. Instead, we need an automated paradigm to select a small number of tests that are the most informative of the system. In this work, we want to formally characterize the notion of redundancy between two test executions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories --- open-loop test in a static environment, open-loop test in a dynamic environment, reactive test in a static environment, and a closed-loop test in a reactive environment.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. We can show this by defining and computing a notion of information gain over the test and show that a more complex test may or may not offer any new insight regarding system performance.&lt;br /&gt;
&lt;br /&gt;
==Requisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Interest in hands-on robotics experience &lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with autonomous robots&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24513</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24513"/>
		<updated>2021-12-21T16:29:11Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Cases&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, &lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories --- open-loop test in a static environment, open-loop test in a dynamic environment, reactive test in a static environment, and a closed-loop test in a reactive environment.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. We can show this by defining and computing a notion of information gain over the test and show that a more complex test may or may not offer any new insight regarding system performance.&lt;br /&gt;
&lt;br /&gt;
==Requisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Interest in hands-on robotics experience &lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with autonomous robots&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24512</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24512"/>
		<updated>2021-12-21T16:28:38Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: /* What you can possibly expect from this SURF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Cases&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, &lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories --- open-loop test in a static environment, open-loop test in a dynamic environment, reactive test in a static environment, and a closed-loop test in a reactive environment.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. We can show this by defining and computing a notion of information gain over the test and show that a more complex test may or may not offer any new insight regarding system performance.&lt;br /&gt;
&lt;br /&gt;
==Requisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Interest in hands-on robotics experience &lt;br /&gt;
&lt;br /&gt;
==What you can expect from this SURF==&lt;br /&gt;
* Work closely with graduate students on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with autonomous robots&lt;br /&gt;
* Coming up with theoretical insights (ex: Proving results on which class of systems and test paradigms are equivalent)&lt;br /&gt;
* Writing open-source code to implement algorithms to demonstrating these ideas&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24505</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24505"/>
		<updated>2021-12-21T05:49:05Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Cases&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
For autonomy to be deployed in safety-critical settings, &lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. The duckiebot under test has an off-the-shelf controller implemented on-board for indefinite navigation around the track. In addition to the hardware setup, we have access to a simulator of the hardware setup that could potentially be useful in designing our experiments.&lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
For example, tests can generally be classified into four different categories --- open-loop test in a static environment, open-loop test in a dynamic environment, reactive test in a static environment, and a closed-loop test in a reactive environment.&lt;br /&gt;
&lt;br /&gt;
For this SURF, we would like to implement a few tests in test environments of varying complexity on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. We can show this by defining and computing a notion of information gain over the test and show that a more complex test may or may not offer any new insight regarding system performance.&lt;br /&gt;
&lt;br /&gt;
==Requisites==&lt;br /&gt;
* Experience coding in Python&lt;br /&gt;
* Willing to learn development on Docker and Github&lt;br /&gt;
* Interest in hands-on robotics experience &lt;br /&gt;
&lt;br /&gt;
==What you can possibly expect from this SURF==&lt;br /&gt;
* Get a sense of the research frontier on test case generation for autonomy&lt;br /&gt;
* Hands-on experience with &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
1. Duckietown. https://docs.duckietown.org/daffy/duckietown-robotics-development/out/index.html&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24504</id>
		<title>SURF 2022: Evaluating Redundancy Between Test Executions for Autonomous Vehicles</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2022:_Evaluating_Redundancy_Between_Test_Executions_for_Autonomous_Vehicles&amp;diff=24504"/>
		<updated>2021-12-21T05:33:57Z</updated>

		<summary type="html">&lt;p&gt;Abadithe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2022 SURF: Evaluating Redundancy between Test Cases&lt;br /&gt;
&lt;br /&gt;
- Mentor: Richard Murray&lt;br /&gt;
&lt;br /&gt;
- Co-mentors: Apurva Badithela, Josefine Graebener&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project Description== &lt;br /&gt;
&lt;br /&gt;
Testing autonomous systems requires defining the test environment, which comprises of test agents, obstacles, and test harnesses on the system under test. Test cases of varying complexity (length of the test, number of test agents and their strategies) could offer the same information on the system&#039;s ability to satisfy a requirement. Consider the following example of testing a miniature self-driving car on the Duckietown platform. The autonomous car to be tested has a controller that navigates indefinitely around a loop --- it needs to do lane following, avoid colliding with other cars and take unprotected left turns at intersections after reading appropriate road signs. The figure to the right shows a duckiebot on a simple layout; other duckiebots and mini road signs can be easily augmented to this setup. &lt;br /&gt;
&lt;br /&gt;
[[Image:Screen Shot 2021-12-20 at 11.27.21 PM.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
* For example, tests can generally be classified into four different categories --- open-loop test in a static environment, open-loop test in a dynamic environment, reactive test in a static environment, and a closed-loop test in a reactive environment.&lt;br /&gt;
&lt;br /&gt;
* For this SURF, we would like to implement a few tests in test environments of varying complexity on the Duckietown hardware. We would then like to characterize the test scenarios for when two tests are redundant and when they are not. We can show this by defining and computing a notion of information gain over the test and show that a more complex test may or may not offer any new insight regarding system performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Abadithe</name></author>
	</entry>
</feed>