About Me
Hey there, fellow life cruiser!
I'm a curious mind cruising through life with too little time to learn about everything. Previously, I survived the academic whirlwind and emerged with a shiny PhD from the University of Sydney, where I dove deep into robot learning, motion planning, and probabilistic models — all with a robotic twist!
My journey has taken me from building machine vision systems for UAVs in Tokyo, to teaming up with Nvidia and the University of Utah to explore how robots can plan their movements and learn new tricks. More recently, I've been working on autonomous submarines for the Defence, teaching robots to recognise underwater landscapes using synthetic sonar data. I've also explored eVTOL autonomy and unstructured landing using computer vision. It's all about helping robots think, learn, and adapt in real-world environments!
Got something cool to share or just want to chat about the universe's mysteries? I'm all ears, so give me a shout! Stay curious 🚀
⠠⠺⠓⠁⠞ ⠊⠎⠀⠑⠎⠎⠑⠝⠞⠊⠁⠇⠀⠊⠎ ⠊⠝⠧⠊⠎⠊⠃⠇⠑⠀⠞⠕⠀⠞⠓⠑⠀⠑⠽⠑⠲
Access Deined
A snorlax is blocking your way!
You probably used a wrong username/password, use the right combo to wake it up and clear your way!
403 Forbidden
YOU SHALL NOT PASS!
What do you think you are doing?? Go Back!!
404 Not Found
OOPS!
You aren't lost are you...? Better try and find another way to it.
My projects
My projects (expanded)
echo360
echo360: echo360 Video Downloader
A commandline tool that enables automated downloads of echo360 videos.
echo360 is a command-line Python tool that allows you to download lecture videos from any university’s Echo360 lecture portal. All that’s required is the particular course’s url. It supports university-hosted echo360 videos as well as echo360.org cloud system.
Shsh: A shell scripts handler
Shsh: A shell scripts handler (shsh)
A multi-threaded manager for shell scripts, functions, standalone binaries, tab-completions, and more.
Shsh allows you to quickly install shell packages directly from github or other sites. Instead of looking for specific install instructions for each package and messing with your $PATH, shsh will create a central location for all packages and manage their executable, completions files, and man files for you.
sbp-env
Sampling-Based Motion Planners Testing Environment (sbp-env): sbp-env
sbp-env is a full feature framework to quickly test different sampling-based algorithms for motion planning. The provided repository contains a framework to performs quick experiments for Sampling-Based Planners (SBPs) that are implemented in Python.
Rapidly-exploring Random disjointed-Trees*
RRdT* for motion planning: Rapidly-exploring Random disjointed-Trees*
An asymptotic optimal sampling-based planner that rapidly plans everywhere using disjointed-trees.
RRdT* uses multiple disjointed-trees to exploit local-connectivity of spaces via Markov Chain Monte Carlo (MCMC) random walk, which utilises neighbourhood information derived from previous successful and failed samples. The active balancing of global exploration and local exploitation is the key to improve sample efficiency.
Bayesian local-sampling based planning
Bayesian Motion planning: Using multiple disjointed-tree (different colours) to accelerate planning in cluttered space
We introduce a Bayesian learning scheme for modelling an adaptive sampling proposal distribution. The proposal distribution is sequentially updated based on previous samples, consequently shaping it according to local obstacles and constraints in the configuration space. Thus, through learning from past observed outcomes, we maximise the likelihood of sampling in regions that have a higher probability to form trajectories within narrow passages.
Planner Flows
Learning to Plan Optimally with PlannerFlows: Using PlannerFlows with different conditioned start and target states
We learn a conditional normalising distribution that provides an informative prior for sampling configurations for motion planning. We train our sampler with an expert planner which resuls in a distribution is often near-optimal and allow planners to find a solution faster. The resulting PlannerFlows uses normalising flow with a bijective mapping for efficient sampling.
Occ-Traj120: Trajectories dataset
Occ-Traj120: Occ-Traj120: Trajectories dataset
A dataset of trajectories with associated occupancy maps.
Occ-Traj120 is a trajectory dataset that contains occupancy representations of different local-maps with associated trajectories. Thise dataset contains 400 locally-structured maps with occupancy representation and roughly around 120K trajectories in total.
OctNet
OctNet: Predicting motion dynamics based on environments: Predictive trajectories generated by OctNet
Being able to safely operate for extended periods of time in dynamic environments is a critical capability for autonomous systems. This generally involves the prediction and understanding of motion patterns of dynamic entities, such as vehicles and people, in the surroundings. We address the problem of generating likely motion dynamics conditioned on the environment, represented as an occupancy map. We introduce the Occupancy Conditional Trajectory Network (OCTNet) framework, capable of generalising the previously observed motion in known environments, to generate trajectories in new environments where no observations of motion has not been observed. OCTNet encodes trajectories as a fixed-sized vector of parameters and utilises neural networks to learn conditional distributions over parameters. We empirically demonstrate our method's ability to generate complex multi-modal trajectory patterns in different environments.
PDMP
Parallelised Diffeomorphic Sampling-based Motion Planning: Continuous occupancy representation for PDMP
We present Parallelised Diffeomorphic Sampling-based Motion Planning (PDMP). PDMP is a novel parallelised framework that uses bijective and differentiable mappings, or diffeomorphisms, to transform sampling distributions of sampling-based motion planners, in a manner akin to normalising flows. We develop them from gradient information of desired costs, and encode desirable behaviour, such as obstacle avoidance. We learn a continuous occupancy representation from environment occupancy data, such that gradients of the representation defines a valid diffeomorphism and is amenable to fast parallel evaluation. We use this to “morph” the sampling distribution to draw far fewer collisionprone samples. PDMP is able to leverage gradient information of costs, to inject specifications, in a manner similar to optimisation-based motion planning methods, but relies on drawing from a sampling distribution, retaining the tendency to find more global solutions, thereby bridging the gap between trajectory optimisation and sampling-based planning methods.
UAV system with deep learning
UAV-Based Situational Awareness System Using Deep Learning: UAV system with deep learning
UAV system for applications like surveillance, search and rescue, and disaster response.
The UAV-based system is useful for detecting and locating people, and recognizing their actions in near real-time as a crucial role for preparing an effective disaster response. The system can (i) identifies one or more persons and multiple actions based on Deep Learning onboard the UAV; (ii) locates the person based on pixel-to-GPS conversion technology; and (iii) maps the person’s location on a Google map. See the research work here and project details here.
Three-Dimensional Printing for Construction
Three-Dimensional Printing for Construction using Recycled HDPE: 3D Printing for civil construction using recycled waste product
Our project investigate the use of recycled waste product high-density polyethylene (HDPE) in civil construction project using 3D printing technologies.
Three-dimensional (3D) printing technologies are transforming the design and manufacture in many disciplines. They are useful in rapid prototyping, model-scale manufacturing, and the fabrication of construction of full-scale buildings. Advantages of 3D printing with house construction includes the capacity for mass customisation of designs and parameters to meet functional and aesthetic purposes, the reduction in construction waste from highly precise placement of materials, and the use of recycled waste products in layer deposition materials.
Autonomous Maritime Ecosystem
Autonomous Maritime Systems with Defence Innovation Network and Shoal: Enhancing NSW Defence industry capability on autonomous maritime systems
Partnering with DIN and Shoal, we are imagining a future of autonomous and remotely operated vessels forming an integral part of the Australian maritime ecosystem.
This project relates to Signal Processing and AI, Autonomous Systems and Electronics capabilities of the Defence Innovation Network, into the assurance of autonomy of autonomous underwater vessels (AUVs).
Media News
• Defence Innovation Network's news letter (post)• Shoal Group's news letter (post)
• University of Sydney's post
Jupyter Notebook Showcase
Plotting Gallery: Showcasing code snippets
A website that showcase some examples of using matplotlib
, plotly
, or tikz
to create stunning plots.