Code Monkey home page Code Monkey logo

micvision's Introduction

MICVISION

Description

This package provides a lot of functions for robot operations in both real and stage environment.

The main functions list:

  1. Autonomous navigation
  2. Autonomous mapping
  3. Self-localization
  4. Autonomous obstacle avoidance
  5. Dynamic path planning

Dependencies

  1. navigation
  2. cartographer
  3. cartographer_ros
  4. cartographer_turtlebot
  5. ceres-solver
  6. stage_ros

Install

First, we need to download the packages. Run:

cd docs/scripts/
bash download.sh

Second, we build the packages.

# change to your catkin workspace
cd your-catkin-workspace
catkin_make_isolated

Packages

The package list in this repository.

micvision

micvision_exploration

micvision_exploration: to explore the whole map of the unknown environment.

micvision_localization

micvision_localization: to localize the robot in a map.

micvision_patroller

micvision_patroller: to patrol at the specified location.

micvision_sim

This package uses the stage to simulate the real environment, you can use the stage_ros from the ROS or use the stage_ros that we provide. The difference between these two versions is, the laser scan data in stage_ros provided by ROS is very accurate while the data provided by us is corrupted with noise.

The package also has two parts: mapping and navigation.

mapping

usage:

# willow world
roslaunch micvision_sim willow-mapping-sim.launch

# or use maze world below
# roslaunch micvision_sim maze-mapping-sim.launch

# then, in another terminal
rosservice call /StartExploration

# we also provide other commands to control the robot
# Stop the exploration action
rosservice call /StopExploration

# Stop the robot
rosservice call /Stop

# Pause the robot
rosservice call /Pause

navigation

usage:

# willow world
roslaunch micvision_sim willow-navigation-sim.launch
# or use maze world instead
# roslaunch micvision_sim maze-navigation-sim.launch

# find the location of the robot
rosservice call /StartLocalization

# click on the map using rviz, and the robot will move to it

patroller

patroller

usage:

# run in the navigation mode
roslaunch micvision_sim willow-navigation-sim.launch
# using the RVIZ button `Publish Point` to assign some location to patroller
# Than start patroller
rosservice call /StartPatroller

# or stop patroller
rosservice call /StopPatroller

# or reset the patroller
rosservice call /ResetPatroller

micvision_mapping

This package provides the real world & robot for mapping.

Click the link below to view a video showing mapping: The Robot automatically explore the whole lab

You can use it with turtlebot2(kobuki) or turtlebot3.

Usage:

# turtlebot2
roslaunch micvision_mapping mapping_turtlebot2.launch

# turtlebot3
roslaunch micvision_mapping mapping_turtlebot3.launch

# other commands please refer to the micvision_sim mapping function

micvision_navigation

This package provide the real world and robot for autonomous navigation and self-localization.

Click the link below to view a video showing self-localization and autonomous navigation: Robot self-localization and autonomous navigation in lab

You can use it with turtlebot2(kobuki) or turtlebot3.

Usage:

# turtlebot2
roslaunch micvision_navigation navigation_turtlebot2.launch

# turtlebot3
roslaunch micvision_navigation navigation_turtlebot3.launch

# other commands please refer to the micvision_sim navigation function

micvision's People

Contributors

tyuownu avatar carolo44 avatar loxxy avatar wongfeiwah avatar

Watchers

James Cloos 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.