Coder Social home page Coder Social logo

alpmercan / where-am-i Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 450 KB

Open_CV based solution to kidnapped 2D lidar based robot problem.

Home Page: https://www.youtube.com/watch?v=IJrB1yL7DEQ

License: MIT License

CMake 32.70% Python 32.37% C++ 34.93%
cpp gazebo kidnapped-vehicle-project localization opencv python3 ros-noetic rviz templatematching turtlebot3

where-am-i's Introduction

Where-AM-I

OpenCV Robot Relocalization: This project utilizes OpenCV and IMU data to address the 'kidnapped robot' problem. It features two key components:

  1. Kidnapping Detection, which uses IMU data to identify unexpected movements suggesting the robot has been moved
  2. Relocalization, employing OpenCV for template matching to reorient the robot in its new environment using lidar costmaps. The approach combines threshold-based
  • IMU analysis with feature detection and mapping, offering a robust solution for autonomous reorientation after displacement.

How to use it

  1. cd catkin_ws/src #wherever your main is

  2. git clone https://github.com/AlpMercan/Where-AM-I.git

  3. cd ~catkin_ws

  4. rosdep install --from-paths src --ignore-src -r

  5. catkin_make

some configurations

  • Use the correct imu topic.
  • Change your map.yaml's origin to [0,0,0].
  • The global costmap and local cost map should be in the same directory
  • First enter the The_kidnapper_Algorithm.py and change image path and template path to your respective position
  • From map class change the global cost map topic with its name and after work the system 2 times.
  • After you have initial costmaps change back to local costmaps.
  • You can add the kidnapper.launch to your main launch file for it to work continously.
  • As long as it does not detect kidnapping, the main program will not work so CPU usage is respectively low
Real_world_position

The real world position

Initial_AMCL_Position

Rviz initial condition

Position_detection

The localition finder

Relocalization

relocalized position

where-am-i's People

Contributors

alpmercan avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.