This package provides a lot of functions for robot operations in both real and stage environment.
The main functions list:
- Autonomous navigation
- Autonomous mapping
- Self-localization
- Autonomous obstacle avoidance
- Dynamic path planning
First, we need to download the packages. Run:
cd docs/scripts/
bash download.shSecond, we build the packages.
# change to your catkin workspace
cd your-catkin-workspace
catkin_make_isolatedThe package list in this repository.
micvision_exploration: to explore the whole map of the unknown environment.
micvision_localization: to localize the robot in a map.
micvision_patroller: to patrol at the specified location.
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.
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 /Pauseusage:
# 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 itusage:
# 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 /ResetPatrollerThis package provides the real world & robot for mapping.
Click the link below to view a video showing mapping:
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 functionThis 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:
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