# MarLand PhD research proposal <!-- Put the link to this slide here so people can follow --> slide: https://hackmd.io/p/rkoGaLbiq --- ## Project objective - UAV to autonomously take-off and land on moving vessel - dynamical disturbance: sea-state up to 3 - moving vessel - due to waves (heave, roll, pitch) - heading speed up to 15 knots - without collision with objects on the deck - Criteria: - Landing position accuracy - Touch down force --- ## Hardwares: - On UAV (DJI M300 and Quadrotor platform): - Autopilot + Onboard computer - Gimbal camera, Bottom facing camera - GPS - 2D and attitude Lidar - Force sensor - Wind sensor - On vessel - LoLas positioning - IMU, camera, wind sensor - Computer with communication to UAV --- ## Phases of Landing: - Phase 1: Follow - according to the approach direction - using GPS or Lolas (Internest) or vision detection of the vessel with heading - starting distance: 100m - final distance: >10m - attitude >5m - final position: Apriltag should be inside the gimbal camera - Phase 2: Decent - keep tracking Apriltag (visual servoing!?) - aware of obstacles and occlusions - final position: close to landing pad (50cm) - Phase 3: Touchdown - Aim to have close to zero force and position error - Inside the determined landind period --- ## Research questions: - How can we adopt learning-based method in highly dynamic, safety demanding robotic task? - Does it bring any advantage compared to other non-learning-based methods? --- ## Perception - Predict ship motion using IMU, camera and wind sensor - Determine the landing period for UAV - Wind velocity estimation and prediction in flight - Determine the control mode --- ## Control - Visual servoing: non-learning method (MPC or SMC) vs. Learning Policy for MPC - Examples: - https://github.com/uzh-rpg/high_mpc - https://aswani.ieor.berkeley.edu/papers/icra_lbmpc_2012.pdf - Reinforcement learning for touchdown phase - https://github.com/utiasDSL/safe-control-gym - http://www.robertbabuska.com/pdf/Kooi2021InclinedQuadrotorLanding.pdf - https://github.com/Jacobkooi/InclinedDroneLander --- ## Planning - Motion planning for chasing/approaching target while deal with obstacles and occlusion - https://github.com/ZJU-FAST-Lab/visPlanner - https://github.com/icsl-Jeon/dual_chaser ```graphviz digraph { compound=true rankdir=RL graph [ fontname="Source Sans Pro", fontsize=20 ]; node [ fontname="Source Sans Pro", fontsize=18]; edge [ fontname="Source Sans Pro", fontsize=12 ]; subgraph core { c [label="Hackmd-it \ncore"] [shape=box] } c -> sync [ltail=session lhead=session] subgraph cluster1 { concentrate=true a [label="Text source\nGithub, Gitlab, ..."] [shape=box] b [label="HackMD Editor"] [shape=box] sync [label="sync" shape=plaintext ] b -> sync [dir="both"] sync -> a [dir="both"] label="An edit session" } } ``` --- ### Architecture of extension --- ![](https://i.imgur.com/ij69tPh.png) --- ## Content script - Bind with each page - Manipulate DOM - Add event listeners - Isolated JavaScript environment - It doesn't break things --- # :fork_and_knife: --- <style> code.blue { color: #337AB7 !important; } code.orange { color: #F7A004 !important; } </style> - <code class="orange">onMessage('event')</code>: Register event listener - <code class="blue">sendMessage('event')</code>: Trigger event --- # :bulb: --- - Dead simple API - Only cares about application logic --- ```typescript import * as Channeru from 'channeru' // setup channel in different page environment, once const channel = Channeru.create() ``` --- ```typescript // in background script const fakeLogin = async () => true channel.answer('isLogin', async () => { return await fakeLogin() }) ``` <br> ```typescript // in inject script const isLogin = await channel.callBackground('isLogin') console.log(isLogin) //-> true ``` --- # :100: :muscle: :tada: --- ### Wrap up - Cross envornment commnication - A small library to solve messaging pain - TypeScript Rocks :tada: --- ### Thank you! :sheep: You can find me on - GitHub - Twitter - or email me
{"metaMigratedAt":"2023-06-17T04:14:08.864Z","metaMigratedFrom":"YAML","title":"Research questions proposal","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"815b2e47-993e-4c0f-b4d1-8f2cc7390701\",\"add\":3125,\"del\":1081}]"}
    208 views