Skip to content

Instantly share code, notes, and snippets.

View anindex's full-sized avatar

An Thai Le anindex

View GitHub Profile

Instructions

Status

The current state of this repository on branch master is compilable. It was managed to not use any other library dependencies than the main repo. The branch is now able to robustly detect rotational symmetries and segment round object in cluttered scene.

Features

  1. Parallel extracting segments from a cloud with different parameters to generate a resource for symmetry detection:
  • Graph structures and graph algorithms
  • Implementing merging similar segment mechanism

Multi-modal Cluttered Scene Analysis in Knowledge Intensive Scenarios (GSOC 2017)

Introduction

Unstructured information such as video, text, and audio represents the largest and fastest-growing source of information nowadays. The goal of AI is to approach the human abilities to process efficiently the vast amount of Unstructured Data in this complex real world. This project focuses on Object Hypotheses and Segmentation tasks using Symmetry Constraints in cluttered and occluded scenarios, which is developed as Rotational and Bilateral Symmetry Segmentation Analysis Engines on Robosherlock framework. This project enables RoboSherlock to operate in a knowledge-intensive real world. The project was done to fulfill the requirements of Google Summer of Code 2017.

The project is merged with the branch master. It was designed to not use any other library dependencies than the main repo. The system is now able to robustly detect rotational, bilateral symmetries and segment objects

Autonomous Mobile Robot (Experimental)

Introduction

The aim of this project is to create mobile robot that can navigate correctly in-door environment. The robot can scan and save surrounding environment as occupancy grid, then basing on that map, it can localize and navigate itself on scanned map. Due to these capabilites, the robot can plan a path from A to B as instructed via Rviz on global map (scanned map), it can also detect unknown obstacles during operation and plan a local path to robustly avoid them and ensure the success of navigation task.

Link to github: https://github.com/anindex/navigation-processing-base

Building robot (Hardware part)

GSOC2018 First milestone progress report

Flexible perception pipeline manipulation for RoboSherlock

Current status

The project is going on track as required by the scope of RoboSherlock on this year GSOC.

Two things have been completed:

  • Implement RSParallelPipelinePlanner that is able to mark execution orderings of annotators based on their required inputs and outputs.
  • Examine UIMACPP code repository, gain a deep level of how a AnalysisEngine execution calls annotators' process.

All implementation so far does not require new dependencies.

Flexible perception pipeline manipulation for RoboSherlock (GSOC 2018)

Introduction

This project enables Robosherlock to handle multiple paralleled annotators processing branches while reserving the original capability of Robosherlock in linear execution. It enhances Robosherlock's flexibility to handle concurrent or sequential processes. Hence, it improves overall execution performance, scalability, and better error handlings. The project was done to fulfill the requirements of Google Summer of Code 2018 with IAI, University of Bremen.

The project is merged with the branch master of Robosherlock. The API is simple to use, it is a flag parallel in ROS launch file that indicates the pipeline should be executed parallel or not. However, it requires new dependency KnowRob to compile and run correctly.

Pull request: [Link]

Achievements

@anindex
anindex / ros_ws.md
Last active June 5, 2019 10:08
Setting up ROS workspace with catkin tools and wstool
mkdir -p ~/<name>/src
cd ~/<name>
catkin init
catkin config --extend /opt/ros/<distro>

Keybase proof

I hereby claim:

  • I am anindex on github.
  • I am anindex11 (https://keybase.io/anindex11) on keybase.
  • I have a public key ASCVBjfGN1l76zMNBJTTTnhkpWuEn0WXL6X8LAFXJjLwqgo

To claim this, I am signing this object:

Google Season of Docs (GSoD) 2019: RoboComp’s basic components

Description

As quoted on RoboComp GSoD website,

RoboComp is an open-source Robotics framework providing the tools to create and modify software components that communicate through public interfaces. The Components may require, subscribe, implement, or publish interfaces in a seamless way.

The robocomp repo includes a wide range of components (maintained in smaller repo named robocomp-robolab) for different robotic applications such as motor control, localization and mapping, navigation, recognition, etc. However, most of the components in robocomp-robolab repo currently lack detailed instructions on how to compile and how to use in different parameter configurations. This creates a huge obstacle for new developers who want to use components in their projects or contribute to the framework. The reason is that many components (i.e hokuyoComp) are a wrapper of external driver or libraries having

3. Regression with Decision Tree and kNN

Decision Tree Classification vs Regression

Definitions

Decision trees used in data mining are of two main types[1]:

  • Decision Tree Classifier predicts discrete label outcomes associated with data.
  • Decision Tree Regressor predicts real/continuous outcome numbers (e.g. the price of a house, or a patient's length of stay in a hospital).