{"id":117,"date":"2018-10-15T16:39:55","date_gmt":"2018-10-15T20:39:55","guid":{"rendered":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/?page_id=117"},"modified":"2018-10-25T16:28:00","modified_gmt":"2018-10-25T20:28:00","slug":"research-projects","status":"publish","type":"page","link":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/research-projects\/","title":{"rendered":"Research Projects"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a54ebefcd81c\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a54ebefcd81c\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/research-projects\/#_Aerial_Manipulation\" >&nbsp;Aerial Manipulation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/research-projects\/#Robust_Obstacle_Avoidance_using_Adaptive_Model_Predictive_Control_for_a_Quadrotor\" >Robust Obstacle Avoidance using Adaptive Model Predictive Control for a Quadrotor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/research-projects\/#Neural_Network_Modeling_for_Steering_Control_of_an_Autonomous_Vehicle\" >Neural Network Modeling for Steering Control of an Autonomous Vehicle<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/research-projects\/#Robust_Obstacle_Avoidance_using_Tube_NMPC\" >Robust Obstacle Avoidance using Tube NMPC<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/research-projects\/#Autonomous_Control_of_Unmanned_Ground_Vehicles_UGV_on_unstructured_3D_terrain\" >Autonomous Control of Unmanned Ground Vehicles (UGV) on unstructured 3D terrain<\/a><\/li><\/ul><\/nav><\/div>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"_Aerial_Manipulation\"><\/span><strong>&nbsp;Aerial Manipulation<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This project aims to develop techniques for fast and reliable pick and place applications using an aerial vehicle equipped with a multi-DOF arm. The applications for such a task would be to place a sensor on difficult to access spaces such as a vertical wall of a high-rise building or power-line inspection, industrial package sorting, environmental sampling, fruit picking<g class=\"gr_ gr_274 gr-alert sel gr_gramm gr_replaced gr_inline_cards gr_disable_anim_appear Punctuation only-ins replaceWithoutSep\" id=\"274\" data-gr-id=\"274\">, <\/g>and many other areas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We developed a suite of control techniques, high-level framework, and hardware modifications to achieve a reliable aerial manipulator. The aerial manipulator is able to achieve an overall pick accuracy of 90 % in a test of 100 trials. Of the 10% failures<g class=\"gr_ gr_7 gr-alert sel gr_gramm gr_replaced gr_inline_cards gr_disable_anim_appear Punctuation only-ins replaceWithoutSep\" id=\"7\" data-gr-id=\"7\">,<\/g> only three of them are from the control technique and the rest are from hardware failures.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Control Techniques:<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">We applied a predictive control technique known as MPC to design high-level trajectories that can be tracked using a nonlinear controller. Further, we designed an optimal trajectory at the end of the picking phase to maximize the picking of an object.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/airm_frames.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"485\" src=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/airm_frames-1024x485.png\" alt=\"\" class=\"wp-image-38\" srcset=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/airm_frames-1024x485.png 1024w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/airm_frames-300x142.png 300w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/airm_frames-624x296.png 624w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/airm_frames.png 1821w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Timeline of a quadrotor picking an object from a desk and retrieving it<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">State Machine Framework<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">To augment the control techniques and handle different hardware and software failures, we designed a finite state machine framework that combines different controller components to perform <g class=\"gr_ gr_4 gr-alert sel gr_spell gr_replaced gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace\" id=\"4\" data-gr-id=\"4\">task-based<\/g> behaviors. One such state machine framework for pick place application is shown here<\/p>\n\n\n\n<ul class=\"wp-block-gallery aligncenter columns-1 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"920\" height=\"506\" src=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/pick_place_state_machine_horizontal.png\" alt=\"\" data-id=\"127\" class=\"wp-image-127\" srcset=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/pick_place_state_machine_horizontal.png 920w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/pick_place_state_machine_horizontal-300x165.png 300w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/pick_place_state_machine_horizontal-768x422.png 768w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/pick_place_state_machine_horizontal-624x343.png 624w\" sizes=\"auto, (max-width: 920px) 100vw, 920px\" \/><figcaption>State machine framework<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"2048\" height=\"1152\" src=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/screen_shot_GUI2.png\" alt=\"\" data-id=\"132\" data-link=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/?attachment_id=132\" class=\"wp-image-132\" srcset=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/screen_shot_GUI2.png 2048w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/screen_shot_GUI2-300x169.png 300w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/screen_shot_GUI2-768x432.png 768w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/screen_shot_GUI2-1024x576.png 1024w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/screen_shot_GUI2-624x351.png 624w\" sizes=\"auto, (max-width: 2048px) 100vw, 2048px\" \/><figcaption>State machine Graphical Interface<\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Results<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The framework was tested on a DJI Matrice to pick objects in both indoor and outdoor settings.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-has-aspect-ratio wp-embed-aspect-16-9\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Reliable Pick and Place using an Autonomous Aerial Manipulator\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/Y9f3WkTsh48?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-has-aspect-ratio wp-embed-aspect-16-9\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Aerial Pick and Place Using Onboard Sensing\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/kieS-oSi0Gw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-has-aspect-ratio wp-embed-aspect-16-9\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Quadcopter project\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/fsrxBQTb-JM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Project Url:<\/em>&nbsp;<a href=\"https:\/\/github.com\/jhu-asco\/aerial_autonomy\">https:\/\/github.com\/jhu-asco\/aerial_autonomy<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Robust_Obstacle_Avoidance_using_Adaptive_Model_Predictive_Control_for_a_Quadrotor\"><\/span><strong>Robust Obstacle Avoidance using Adaptive Model Predictive Control for a Quadrotor<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This work focuses on developing control techniques to fly a quadrotor aggressively around obstacles. Although, this can be achieved trivially by staying away from obstacles, the exact distance to stay away from is usually not known. If we just stay very far from obstacles, the behavior becomes very conservative and we may end up not reaching the goal. If we do not allow for any safety buffer, a small deviation from the nominal trajectory can cause collisions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We propose a control technique that combines online system identification with MPC to navigate obstacles safely. The system identification part finds the mean and covariance of model parameters from system trajectories. The distribution in parameter space is then propagated into state space using Unscented Kalman Filter (UKF). The trajectories are then optimized to avoid obstacles by a distance based on the buffer around the nominal trajectory and the obstacle size. This allows the quadrotor to go through tight obstacles at high speeds.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/asco.lcsr.jhu.edu\/wp-content\/uploads\/2016\/05\/simulations_obstacle_avoidance-240x300.png\" alt=\"simulations_obstacle_avoidance\" width=\"403\" height=\"505\"\/><figcaption>Simulated scenarios of quadrotor<br>navigating obstacles<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">NonLinear Model Predictive Control (NMPC) techniques are used to predict safe trajectories around obstacles. These trajectories explicitly take into account the uncertainty in the state space while planning for trajectories around obstacles. NMPC also achieves a user-specified desired goal state and minimizes control effort during planning.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-has-aspect-ratio wp-embed-aspect-16-9\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Robust obstacle avoidance using Adaptive Model Predictive Control\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/rAdNTjluA0I?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption>Quadrotor avoiding obstacles at 4 m\/s<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Closed loop obstacle avoidance has been proposed by combining nominal trajectory optimization with LQR feedback law. The video shows a simulation of an RC car going around a track while avoiding obstacles. The obstacles on the track are detected on the fly and the optimization adjusts the trajectories to ensure the propagated ellipsoids are not intersecting with the obstacles. We use the LQR feedback law to propagate the ellipsoids to ensure the size of the ellipsoids do not grow with time.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Robust obstacle avoidance of a car on a track in simulation\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/tgvl041UuJ4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption>Simulation of an RC car avoiding obstacles<\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Neural_Network_Modeling_for_Steering_Control_of_an_Autonomous_Vehicle\"><\/span>Neural Network Modeling for Steering Control of an Autonomous Vehicle<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This work proposes modeling the steering dynamics of an autonomous vehicle using a Recurrent neural network. The developed dynamic model is utilized with a MPC controller to track a desired steering reference trajectory accurately.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The control architecture used to control the steering on the autonomous vehicle is shown below:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/ieeexplore.ieee.org\/mediastore_new\/IEEE\/content\/media\/8119304\/8202121\/8206084\/8206084-fig-1-source-large.gif\" alt=\"\"\/><figcaption>Control Architecture<br><\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The predictive performance of the RNN model as compared to first principles models is shown below<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/ieeexplore.ieee.org\/mediastore_new\/IEEE\/content\/media\/8119304\/8202121\/8206084\/8206084-fig-4-source-small.gif\" alt=\"Figure 4\"\/><figcaption>Predictive RMS Error in steering angle prediction over a time horizon of 1 second<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Overall, we have shown that using <g class=\"gr_ gr_4 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace\" id=\"4\" data-gr-id=\"4\">a RNN<\/g> dynamic model combined with an MPC controller is able to perform better than feedforward models in predicting the steering dynamics. We also showed that combining the neural network model with <g class=\"gr_ gr_199 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace\" id=\"199\" data-gr-id=\"199\">a MPC<\/g> controller provided tighter tracking performance than inverting a feedforward model or a lookup table based controller.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Robust_Obstacle_Avoidance_using_Tube_NMPC\"><\/span>Robust Obstacle Avoidance using Tube NMPC<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This project extends the previous work on robust obstacle avoidance using closed loop propagation of the uncertainty. Instead of parametric uncertainty in the dynamics, we consider noise in the state space of the system. This noise is propagated using an optimization method that finds a region around a nominal trajectory that the robot is guaranteed to stay within even under bounded disturbances applied on the robot.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The propagation algorithm is combined with nominal trajectory optimization to find trajectories that avoid obstacles using a safety buffer that is based on the size of the disturbance region around the nominal trajectory. We applied the algorithm to both a simple unicycle model and a quadrotor model to show the scalability of the algorithm to higher dimensions. <g class=\"gr_ gr_8 gr-alert gr_gramm gr_inline_cards gr_run_anim Punctuation only-ins replaceWithoutSep\" id=\"8\" data-gr-id=\"8\">Currently,<\/g> the optimization algorithm is not real-time and is being simplified to be applied in real-time<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The picture below shows robust obstacle avoidance trajectories for a unicycle model and a quadrotor model that reach&nbsp;the desired goal while avoiding obstacles using a buffer based on the disturbance regions around the nominal trajectory.<\/p>\n\n\n\n<ul class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"2318\" height=\"1242\" src=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/uni_traj_v2.png\" alt=\"\" data-id=\"93\" class=\"wp-image-93\" srcset=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/uni_traj_v2.png 2318w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/uni_traj_v2-300x161.png 300w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/uni_traj_v2-768x411.png 768w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/uni_traj_v2-1024x549.png 1024w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/uni_traj_v2-624x334.png 624w\" sizes=\"auto, (max-width: 2318px) 100vw, 2318px\" \/><figcaption>Robust obstacle avoidance trajectory for a unicycle model (The red lines show sample trajectories under model disturbances).<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"2318\" height=\"1242\" src=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/quad_obs_avoidance-1.png\" alt=\"\" data-id=\"151\" data-link=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/?attachment_id=151\" class=\"wp-image-151\" srcset=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/quad_obs_avoidance-1.png 2318w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/quad_obs_avoidance-1-300x161.png 300w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/quad_obs_avoidance-1-768x411.png 768w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/quad_obs_avoidance-1-1024x549.png 1024w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/quad_obs_avoidance-1-624x334.png 624w\" sizes=\"auto, (max-width: 2318px) 100vw, 2318px\" \/><figcaption>Robust obstacle avoidance trajectory for a quadrotor model<\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Autonomous_Control_of_Unmanned_Ground_Vehicles_UGV_on_unstructured_3D_terrain\"><\/span><strong>Autonomous Control of Unmanned Ground Vehicles (UGV) on unstructured 3D terrain<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/asco.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/jhu_ugv_small.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"4032\" height=\"3024\" src=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/rampage2.jpg\" alt=\"\" class=\"wp-image-148\" srcset=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/rampage2.jpg 4032w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/rampage2-300x225.jpg 300w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/rampage2-768x576.jpg 768w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/rampage2-1024x768.jpg 1024w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2018\/10\/rampage2-624x468.jpg 624w\" sizes=\"auto, (max-width: 4032px) 100vw, 4032px\" \/><\/a><figcaption>The scaled RC car used to build terrain models and test the trajectories in simulation<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This work considers local optimal control and planning of UGV using high fidelity physics simulation. When navigating an offroad terrain, it is often hard to determine the navigability of any patch. In this work, we propose a <g class=\"gr_ gr_187 gr-alert sel gr_spell gr_replaced gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace\" id=\"187\" data-gr-id=\"187\">physics-based<\/g>&nbsp;simulator combined with a sampling-based&nbsp;optimization scheme to obtain trajectories to navigate terrains.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unlike traditional planning schemes, we do not assume we have any prior information about the terrain. For example, if there is a brick wall ahead of us, the physics based samples will collide with the brick wall and automatically incur a high cost. My minimizing the trajectory cost, we automatically find trajectories that minimize control effort, avoid obstacles and reach goal position just based on known terrain properties and a high quality 3D map of the surface.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this work, we use a&nbsp;<g class=\"gr_ gr_5 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace\" id=\"5\" data-gr-id=\"5\"><g class=\"gr_ gr_4 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling\" id=\"4\" data-gr-id=\"4\">raycast<\/g><\/g> vehicle model based on Bullet physics engine to provide simulated trajectories at a very high frequency ( 1 sample of 10 seconds takes around 1 millisecond to generate). The sampling algorithm used around a few hundred samples per iteration. The picture below shows the physics samples at different stages of sampling based optimization. The rows show different algorithms used for optimization.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/iterations_algorithms_ugv.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/iterations_algorithms_ugv-1024x551.png\" alt=\"iterations_algorithms_ugv\" class=\"wp-image-39\" srcset=\"https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/iterations_algorithms_ugv-1024x551.png 1024w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/iterations_algorithms_ugv-300x161.png 300w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/iterations_algorithms_ugv-624x335.png 624w, https:\/\/flyingmanipulators.lcsr.jhu.edu\/wp-content\/uploads\/2015\/04\/iterations_algorithms_ugv.png 1687w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption> Comparison of Optimization among Cross-Entropy (CE), Sample Differential Dynamic Programming (SDDP), Gauss-Newton (GN) methods on a UGV model in Bullet Physics Engine<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp;Aerial Manipulation This project aims to develop techniques for fast and reliable pick and place applications using an aerial vehicle equipped with a multi-DOF arm. The applications for such a task would be to place a sensor on difficult to access spaces such as a vertical wall of a high-rise building or power-line inspection, industrial [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":178,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/page-fullwidth.php","meta":{"footnotes":""},"class_list":["post-117","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/wp-json\/wp\/v2\/pages\/117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/wp-json\/wp\/v2\/comments?post=117"}],"version-history":[{"count":14,"href":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/wp-json\/wp\/v2\/pages\/117\/revisions"}],"predecessor-version":[{"id":380,"href":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/wp-json\/wp\/v2\/pages\/117\/revisions\/380"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/wp-json\/wp\/v2\/media\/178"}],"wp:attachment":[{"href":"https:\/\/flyingmanipulators.lcsr.jhu.edu\/about\/wp-json\/wp\/v2\/media?parent=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}