From 54e2e26a0cd862798ed0635010b843445db56845 Mon Sep 17 00:00:00 2001 From: IvyWang845 Date: Tue, 19 Dec 2023 14:08:55 -0500 Subject: [PATCH] test on misc --- _pages/projects.md | 2 +- _projects/2018-04-01-me133b.md | 73 +++++++++++++--------------------- 2 files changed, 29 insertions(+), 46 deletions(-) diff --git a/_pages/projects.md b/_pages/projects.md index 4dd2f256da35..bffb337420de 100644 --- a/_pages/projects.md +++ b/_pages/projects.md @@ -2,7 +2,7 @@ layout: page title: misc permalink: /projects/ -description: A growing collection of various non-research projects, ordered in reverse chronological order and separated into class projects, undergraduate experiences, and simply fun side projects. +description: A growing collection of various non-research projects, ordered in reverse chronological order and separated into class projects, undergraduate experiences, and simply fun side projects for practicing my analysis techniques. nav: true nav_order: 3 display_categories: [class, fun, undergraduate] diff --git a/_projects/2018-04-01-me133b.md b/_projects/2018-04-01-me133b.md index ff88a0ad2144..606ef12c17f8 100644 --- a/_projects/2018-04-01-me133b.md +++ b/_projects/2018-04-01-me133b.md @@ -1,58 +1,41 @@ --- -title: "Tangent Bug Algorithm" +title: "Longitudinal Association Between Writing Motivation and Writing Quality Across Three Genres" layout: page category: class -img: /images/portfolio/pathplanning/preview.jpg -description: "Final project for Caltech Robotics course ME133b" -usemathjax: true -environments: - - url: /images/portfolio/pathplanning/env1.gif - image_path: /images/portfolio/pathplanning/env1.gif - alt: "Environment 1" - title: "Example environment 2" - - url: /images/portfolio/pathplanning/env2.gif - image_path: /images/portfolio/pathplanning/env2.gif - alt: "Environment 2" - title: "Example environment 2" - - url: /images/portfolio/pathplanning/env3.gif - image_path: /images/portfolio/pathplanning/env3.gif - alt: "Environment 3" - title: "Example environment 3" - - url: /images/portfolio/pathplanning/env4.gif - image_path: /images/portfolio/pathplanning/env4.gif - alt: "Environment 4" - title: "Example environment 4" - - url: /images/portfolio/pathplanning/env5.gif - image_path: /images/portfolio/pathplanning/env5.gif - alt: "Environment 5" - title: "Example environment 5" - - url: /images/portfolio/pathplanning/env6.gif - image_path: /images/portfolio/pathplanning/env6.gif - alt: "Environment 6" - title: "Example environment 6" - - url: /images/portfolio/pathplanning/env7.gif - image_path: /images/portfolio/pathplanning/env7.gif - alt: "Environment 7" - title: "Example environment 7" ---- - -This project was my final project for the Caltech robotics course 133b. +description: "Final project for MSU course CEP925" -Bug algorithms are very effective strategies for robotic path planning when the robot has a global goal but only local information about the environment is known. The benefits of bug algorithms is that the behaviors are simple and they are straightforward to implement. A disadvantage of bug algorithms is that it assumes perfect positioning and sensing. This problem could be diminished by using LIDAR data to keep track of the robots position instead of relying on wheel odometry and IMU sensors. As shown in Lab 3, odometry obtained from LIDAR data is much more accurate than wheel odometry or IMU integration. +--- -In class, we learned about three bug algorithms: Bug I, Bug II, and Tangent Bug. For this project, I chose to implement the Tangent Bug algorithm in a MATLAB simulation environment.The Tangent Bug algorithm uses a finite range sensor to collect information about obstacles in the environment. In my simulation, the range sensor was assumed to be a LIDAR sensor. The Tangent Bug algorithm was selected because it provides the most "natural" and "intuitive" path to the goal. However, it is slightly more complicated than both Bug I and Bug II. +The advancement of nationwide models for literacy intervention and instruction over the +past two decades gears pedagogical focus towards the use of data-driven assessment and +evidence-based programs (Bianco, 2010; McMaster et al, 2017). In order to promptly organize +early identification and treatment support, many educational stakeholders give a high level of +attention to improving children's learning trajectories by implementing some progress +monitoring tools such as curriculum-based measurement (Valentine et al., 2021). This course of + +action is particularly important for upper elementary-aged students writing because the genre- +based writing tasks involved in the Common Core State Standards for Written Language (CCSS- +WL) become progressively more complex and challenging from fourth grade onward, as new + +quality traits of writing added into writing curriculum and assessment at each grade level +(Graham, Harris, & Santangelo, 2015). In addition, some research demonstrates an evident +heterogeneity amongst students within upper elementary school level based on their performance +on different writing measures such as writing component skills and writing motivation (see Troia +et al., in prep); hence, understanding the writing progress within- and between-person can be +beneficial for educators to capture the general picture and provide differentiated instructions +(McMaster et al., 2017) ### Project Summary The main outcome of this project is a a graphical user interface (GUI) that demonstrates the Tangent Bug algorithm for seven different environments. Several supporting codes are used in this GUI. -The motivation for this project was to implement the Tangent Bug algorithm using LIDAR data. Even though this implementation is in a simulation environment. The algorithm does not use any information about the obstacles other than their intersection points with the simulated LIDAR beams. Thus, in theory this code could be used seamlessly with hardware to obtain the same results. However, the MATLAB simulation assumes that the robot is a point robot, so the desired [x,y] coordinates of the robot are directly commanded in simulation. In practice, an additional code would be needed to translate the desired coordinates into wheel velocities. +The motivation for this project was to implement the Tangent Bug algorithm using LIDAR data. Even though this implementation is in a simulation environment. The algorithm does not use any information about the obstacles other than their intersection points with the simulated LIDAR beams. Thus, in theory this code could be used seamlessly with hardware to obtain the same results. However, the MATLAB simulation assumes that the robot is a point robot, so the desired [x,y] coordinates of the robot are directly commanded in simulation. In practice, an additional code would be needed to translate the desired coordinates into wheel velocities. ### Project Details -The basic idea of the Tangent Bug algorithm is that it uses both motion-to-goal and boundary following behaviors to reach a desired goal. The motion-to-goal behavior is commanded as long as there is no blocking obstacle or if the blocking obstacle does not increase the heuristic distance. The heuristic distance is calculated using the following equation. +The basic idea of the Tangent Bug algorithm is that it uses both motion-to-goal and boundary following behaviors to reach a desired goal. The motion-to-goal behavior is commanded as long as there is no blocking obstacle or if the blocking obstacle does not increase the heuristic distance. The heuristic distance is calculated using the following equation. $$ h = d(x,O_i) + d(O_i,q_{goal}) $$ -where $$O_i$$ is an edge point of a continuous segment of an obstacle as obtained from LIDAR data. A visual representation of these endpoints can be seen below. +where $$O_i$$ is an edge point of a continuous segment of an obstacle as obtained from LIDAR data. A visual representation of these endpoints can be seen below.
{% include figure.html path="/images/portfolio/pathplanning/continuity.JPG" class="img-fluid rounded z-depth-1" caption="Intervals of Continuity" %} @@ -60,10 +43,10 @@ where $$O_i$$ is an edge point of a continuous segment of an obstacle as obtaine Boundary following mode is commanded when the heuristic distance increases. The bug them remains in Boundary following mode until $$d_{reach} < d_{followed}$$. The value $$d_{followed}$$ is the shortest distance between the sensed boundary and the goal. The value $$d_{reach}$$ is the shortest distance between the blocking obstacle and the goal.If there is no blocking obstacle, $$d_{reach}$$ is the distance between the robot and the goal. -### Algorithmic breakdown -Motion to Goal (While the heuristic distance is decreasing or remaining the same) -1. Compute Lidar Data -2. Move toward the obstacle +### Algorithmic breakdown +Motion to Goal (While the heuristic distance is decreasing or remaining the same) +1. Compute Lidar Data +2. Move toward the obstacle 3. Terminate if the goal is reached Boundary Following (While $$d_{reach} \geq d_{followed}$$)