waterloorobotics / mobilerobotics Goto Github PK
View Code? Open in Web Editor NEWMatlab and Robot code for MTE 544: Autonomous Mobile Robotics at the University of Waterloo
Matlab and Robot code for MTE 544: Autonomous Mobile Robotics at the University of Waterloo
Use functions created by potential field and wavefront members to solve the gallery review problem. Add gallery map to the environments folder, and reuse existing or move new controllers for each to the controller folder.
Evaluate 2D scan registration methods and either code up a clean simple one, or select the best available one to use (fastest, most reliable). Ensure a set of options are available to be set for how to use the scan registration method, and tune the options for some generic sets of laser scanner and Kinect (2D) parameters.
Create an example motion planner that uses the Voronoi decomposition to find a safe path through the environment. Can be an omni wheel robot that follows lines exactly.
The three kalman filter examples need to use a common kalman filter function, taking in the state space model, state, measurement etc. Examples need to be easily selectable.
Use standard environments in conjunction with other planner issues. Modularize the decomposition step, and use the trapezoid and any other available methods described in class (delauney, for example).
Speed up collision checking, generate large visibility graphs quickly, only check edges that could be a part of a shortest path through the environment. Test scalability and make code functionalized and efficient.
Functionalize and allow any motion model to define motions. Define a class of input functions that generate particular trajectories (swerves, nudges, lane changes, corners).
Works well, but something is off.
Modularize code and create a Rao-Blackwellized particle filter function for Fast-SLAM. Confirm correct operation of resampling step and run on different feature maps and with different sensor and motion models. Possible extension to FastSLAM 2.0 motion updates would be interesting.
Gyro data should be moved to a datasets folder, and the gyro sim should be cleaned up and added as an example.
Organize the shortest_path function to accept a heuristic for A-star, and flags to run breadth first, depth first, Dijkstra's and A-star using the same code. Experiment with graph size and identify any efficiencies that can be exploited (sparse connectivity matrices, or other methods to define the shortest path problem that don't require large memory).
Coordinate with other planner methods to use common environments and environment generators. Make functions of potential and gradient calculations, and define controllers to use gradient to drive common robots.
Generalize and functionalize nonlinear steering example to not just work on error dynamics but to work on any line segment (or if possible any curve for which a shortest distance to curve function can be defined), with bicycle model. Recreate current example, and add examples for driving around a course of line segments.
Laser scanner models need to be cleaned up, added to sensor, and made efficient. Bresenham should be an option in the model and the code for it is now a utility, and example codes should be added.
Example needs to be improved and filter needs to be tuned to work as well as possible. Code to be functionalized and optimized.
Working with Particle Filter issues owner, move feature selection methods to a good folder in environments, then redo examples to use Particle filter function, and motion and measurement models. Test multiple configurations.
AUV, quadrotor, Turtlebot, Husky. Also, gradients evaluated at a current state are required for all nonlinear models, as outputs to be used in EKFs.
GDOP example relies on helper GPS functions. These helpers should be in utilities, and the GDOP code needs to be cleaned up and added as an example.
Convert example to use EKF function created by another team member, make measurement and motion models modular, improve gradient construction and resize map efficiently as new features are observed. Extend example to different maps, and different sensor models.
Convert wavefront to use standard environments (use maps or functions to be added to environments folder), make efficient if possible and test on small and large environments. Create a function that computes the wavefront for any binary array (example exists in gallery_wavefront, one of the review exercises).
Convert LQR and LQT code to functions and redo examples with different linear motion and measurement models. Add different desired trajectories and define standard plotting for vehicle control.
Convert to functions the sampling methods, investigate efficiency of sampling approaches. Move environment generation to environment and develop multiple examples with different environments.
Working with EKF issues owner, move feature selection methods to a good folder in environments, then redo examples to use EKF function, and motion and measurement models. Test multiple configurations.
The error ellipse function is a utility now, and the example should use it. Some more interesting animation of sampling or varying the covariance would be nice.
The EKF should be a function that uses motion and measurement models and their derivatives. Needs to work with RANSAC, SLAM, Localization.
Needs to be functionalized, and made more efficient. Multiple examples are needed. Must work for flyover example, and feature localization.
Convert script into functional form, using any linear models for motion and measurement, and adding in constraints on states in an automatic way. Define an example that better exemplifies a linear robotics problem.
Convert example to run on EKF measurement update, simplify example and present more clearly the stages of the RANSAC algorithm, make a ransac function that can be used on any set of data with an update function specified through a function handle.
Functionalize occupancy grid mapping with inverse measurement models.Test on multiple environments, and with different sensor options. Use inverse measurement models for lidar, sonar in both windowed block update mode and bresenham ray trace mode. Test on both small and large maps.
Create different scenarios and collision avoidance constraints that can be included in the nonlinear programming approach. Change vehicle models, desired trajectories and horizons easily.
Should be reorganized, a bayes filter function should be made and the example should use it. The plotting could be nicer too. And a different example might also be useful.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.