SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
MAPPING IN
MOBILE ROBOTICS
ASSIGNMENT 2012 – 2013
Submitted by:-
Devasena Inupakutika
MSc. Automation and Robotics
@00346444
1 Mobile Robotics
OUTLINE
S.No Topic Page No.
1 Abstract 3
2 Introduction 4
3 Objectives 4
4 Theory 4
5 Assignment Description and
Development
6
6 Results 9
7 Discussion 14
8 Conclusion 14
9 References 14
2 Mobile Robotics
ABSTRACT
Map building with mobile robots in a known/ an unknown environment had attracted attention for
the past many years. In this course project we consider the problem of creating maps in an
environment where robot has been put in. We have used SLAM (Simultaneous localization and
mapping) GMAPPING package along with fuzzy controller (for optimal target reaching) approach
for creating and storing maps for future. The resulting maps are however precise to some extent,
however due to usage of rgb sensor (Kinect) as a range sensor instead of real laser scanner, the
conversion of huge point cloud data to laser scan data is little imprecise.
We have implemented this approach on real turtlebot with roomba base fitted with Kinect in indoor
scenarios. We present our experiments illustrating our approach through RViz.
3 Mobile Robotics
INTRODUCTION
There are many ways to implement SLAM. It depends on the hardware it's being used with and
implemented on. The purpose of this project is performing mapping with a mobile robot specifically
a turtlebot with roomba base and Kinect mounted on it. ROS and it's GMAPPING stack along with
the controller developed in “ AI in mobile robotics “ project is used to control the robot to build a
map of the environment during it's localization and navigation.
With SLAM it is possible for a robot to build a map of its environment while simultaneously
locating itself within the map. Here, it was implemented in indoor environment. The robot needs
precise way to sense the environment for performing SLAM and navigation. In this project, Openni
stack is used as driver for Kinect XBOX 360. As navigation stack and fuzzy logic controller
packages were used for path planning and obstacle avoidance, GMapping stack is used to
implement SLAM.
OBJECTIVES
The main objective of this work is to present a solution for mapping (SLAM) using extended
Kamlan filter (EKF). GMapping ROS stack provides mechanism for the same so, it's just a matter
of including this code with controller code, downloading and compiling it, plugging in the H/W and
executing this combined application. This concerns with the problem of building a map of an
unknown environment by a mobile robot while simultaneously navigating through it.
THEORY
Map-based navigation comprises of below three processes:
• Map-Learning →Memorizing the data captured by robot during environment exploration.
• Localization →Process of depicting correct position of robot within the map.
• Path Planning →Process of choosing proper trajectory to reach a target, provided with it's
current position.
Path planning is dependent on above two process as map of the environment should be known for
robot to reach it's destination goal. However, map is needed to estimate its position and conversely,
position is needed to build the map. Issues arise when map-learning and localization are handled
simultaneously.
The GMapping stack is used for this map-building during robot's navigation. It provides laser-based
SLAM as a ROS node called slam_gmapping. A 2-D occupancy map is created from laser (for our
case PCL converted to laser data as described in navigation controller report) and pose data is
collected by robot with the presence of transforms. To use slam_gmapping, our robot should be
providing odometry data and is equipped with laser scanner (Kinect). This transforms each scan
into odom tf frame.
The received laser scan data is then vizualized on RViz which is a 3-D visualization environment
for robots using ROS. It consists of options to view live camera images, robot footprint, it's
odometry, basic shapes through interactive markers and trajectories, obstacles and axes of robot
through visualization markers. These display types can be viewed if relevant topics are being
published through execution of programs.
4 Mobile Robotics
Visualization_msgs are set of messages that deal with visualization specific data
(Visualization_msgs/Marker). These are used to send visualization markers such as boxes, spheres,
arrows, lines etc. to RViz.
SLAM holds good for 2D and 3D motion. We considered only 2D motion as a part of this work.
Below is the flowchart giving outline of SLAM process:
Figure 1. Outline of SLAM process
5 Mobile Robotics
ASSIGNMENT DESCRIPTION AND DEVELOPMENT
1. The first part of this work deals with development of launch files using GMapping package
including entries for all the transforms specific to the robot as shown below:
Kinect_laser.launch file
roomba_config.launch file
6 Mobile Robotics
slam.launch file
The final launch file which is launched for obtaining map of the environment is as below. It
contains the controller package node which has visualization_msgs topics being published and
subscribed that show where exactly robot and obstacles are located on the map and the trajectory
that the robot is follwing in order to reach target.
obstacle_avoid_basic.launch file
7 Mobile Robotics
The Pseudo code is as below:
/* subscribe to laser scans */
ros::Subscriber scanSub = n.subscribe("scan", 1, scanCallback);
/* subscribe to rviz goals */
ros::Subscriber goalSub = n.subscribe("goal", 1, goalCallback);
/* subscribe to global paths */
ros::Subscriber pathSub = n.subscribe("path", 1, pathCallback);
// Publishing Visualization_marker messages.
ros::Publisher markerPub =
n.advertise<visualization_msgs::Marker>("controller/trajectory_rollout", 1);
ros::Publisher trajectoryPub =
n.advertise<visualization_msgs::Marker>("controller/best_trajectory", 1);
ros::Publisher pathPub = n.advertise<visualization_msgs::Marker>("controller/path",
1);
ros::Publisher localPub =
n.advertise<visualization_msgs::Marker>("controller/local_goal", 1);
ros::Publisher localPathPub =
n.advertise<visualization_msgs::Marker>("controller/local_path", 1);
ros::Publisher goalPub =
n.advertise<visualization_msgs::Marker>("controller/goal_pos", 1);
ros::Publisher cmdPub = n.advertise<geometry_msgs::Twist>("cmd_vel", 1);
2. The second part is launching the above slam.launch and obstacle_avoid_basic.launch
launch file followed by running rviz and saving map after navigation of robot through the
environment as per below ROS commands:
//launching launch file in seperat windows.
roslaunch slam.launch
roslaunch obstacle_avoid_basic.launch
rosrun rviz rviz
rosrun map_server map_saver -f /tmp/my_map
8 Mobile Robotics
RESULTS
The screenshots of the commands, topics published and created map are as shown below:
Connection to Roomba (turtlebot base) established
9 Mobile Robotics
Keyboard teleoperation
rostopic list (list of topics published)
10 Mobile Robotics
Process of map creation in RViz
Obstacles highlighted with black lines, Gray region shows laser scan
11 Mobile Robotics
Mapping in progress
Map saved
12 Mobile Robotics
Autonomous navigation using above saved map
Autonomous navigation of robot on saved map highlighting robot footprint, path and
obstacles
13 Mobile Robotics
DISCUSSION
We encountered few issues during the implementation of this project due to the use of kinect as a
rgb sensor rather than laser scanner. The Kinect sensor has around 60 degrees field of view, whereas
hokuyo / LIDAR sensors have wider range of 240 to 270 degrees of field of view. Hence, when it is
required to gather lots of information from environment, i.e. while estimating change in robot
position, it is advisable to use sensors with wider field of view.
Also, Kinect can cover between 0.45 to 6 meters range. But laser scanners have different minimum
coverage distance. This becomes quite important when it is required to avoid when robot is getting
too close to obstacles. With Kinect, the robot in this case just hits the wall. The reason behind this is
the use of pointcloud_to_laserscan package whose precision is less than data collected from original
laser scan. The obstacle avoidance is not perfect as the one with real laser scanner when the
obstacles haven't been detected in the map at earlier stages which increases crashes with obstacles
in the beginning.
However, this can be improved by integrating the working of laser with kinect. Also, the dynamic
window approach used here depends on obstacle weight. In case the robot encounters huge
obstacles and they are too near, the robot just crashes due to its weight and above reasons
mentioned (precision of kinect data).
Also, due to data latency issues (due to wireless network through which workstation is
communicating with turtlebot), map was getting updated with a little delay after robot has roamed
around for a while in the environment.
CONCLUSION
The SLAM used in this work is a very basic SLAM. There is scope for improvement in this. There
is problem concerning returning of robot to the place it has seen earlier. Also, there are issues
related to robot trajectory and robot poses with respect to map and odom. It takes different path
when given a nav goal to same position it visited through 2D nav goal command.
This process can be improved by combining with occupancy grid so as to be readable by human.
Moreover, occupancy grids can be used for path planning in A* search algorithm.
REFERENCES
[1] http://www.cas.kth.se/SLAM/Papers/iros02-people3d.pdf
[2] http://www.ros.org/wiki/gmapping
[3] http://www.ros.org/wiki/rviz/Tutorials
[4] http://ros.org/wiki/visualization_msgs
[5] en.wikipedia.org/wiki/
14 Mobile Robotics

Contenu connexe

Tendances

Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Androidyashonil
 
Chapter 9 morphological image processing
Chapter 9   morphological image processingChapter 9   morphological image processing
Chapter 9 morphological image processingAhmed Daoud
 
Object Detection & Tracking
Object Detection & TrackingObject Detection & Tracking
Object Detection & TrackingAkshay Gujarathi
 
DIGITAL IMAGE PROCESSING - LECTURE NOTES
DIGITAL IMAGE PROCESSING - LECTURE NOTESDIGITAL IMAGE PROCESSING - LECTURE NOTES
DIGITAL IMAGE PROCESSING - LECTURE NOTESEzhilya venkat
 
Digital image processing
Digital image processingDigital image processing
Digital image processingChetan Hulsure
 
Smart School Bus
Smart School BusSmart School Bus
Smart School BusJudy T Raj
 
Vehicle Detection using Camera
Vehicle Detection using CameraVehicle Detection using Camera
Vehicle Detection using CameraShubham Agrahari
 
Exact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in RoboticsExact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in RoboticsUmair Amjad
 
"Why LiDAR?" Presentation
"Why LiDAR?" Presentation"Why LiDAR?" Presentation
"Why LiDAR?" PresentationLidar Blog
 
Autonomous car
Autonomous carAutonomous car
Autonomous carAnil kale
 

Tendances (20)

Computer Vision
Computer VisionComputer Vision
Computer Vision
 
Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Android
 
Edge detection
Edge detectionEdge detection
Edge detection
 
Chapter 9 morphological image processing
Chapter 9   morphological image processingChapter 9   morphological image processing
Chapter 9 morphological image processing
 
Object Detection & Tracking
Object Detection & TrackingObject Detection & Tracking
Object Detection & Tracking
 
DIGITAL IMAGE PROCESSING - LECTURE NOTES
DIGITAL IMAGE PROCESSING - LECTURE NOTESDIGITAL IMAGE PROCESSING - LECTURE NOTES
DIGITAL IMAGE PROCESSING - LECTURE NOTES
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
 
Smart School Bus
Smart School BusSmart School Bus
Smart School Bus
 
Vehicle Detection using Camera
Vehicle Detection using CameraVehicle Detection using Camera
Vehicle Detection using Camera
 
Exact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in RoboticsExact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in Robotics
 
GPS introduction
GPS introductionGPS introduction
GPS introduction
 
MOBILE ROBOTIC SYSTEM
MOBILE ROBOTIC SYSTEMMOBILE ROBOTIC SYSTEM
MOBILE ROBOTIC SYSTEM
 
Automated vehicle
Automated vehicleAutomated vehicle
Automated vehicle
 
Object tracking
Object trackingObject tracking
Object tracking
 
Object recognition
Object recognitionObject recognition
Object recognition
 
"Why LiDAR?" Presentation
"Why LiDAR?" Presentation"Why LiDAR?" Presentation
"Why LiDAR?" Presentation
 
Automatic Vehicle Locator
Automatic Vehicle LocatorAutomatic Vehicle Locator
Automatic Vehicle Locator
 
Autonomous car
Autonomous carAutonomous car
Autonomous car
 
Autonomous car
Autonomous carAutonomous car
Autonomous car
 
LIDAR
LIDARLIDAR
LIDAR
 

En vedette

Tecnologías Aumentaty RV
Tecnologías Aumentaty RVTecnologías Aumentaty RV
Tecnologías Aumentaty RVAumentaty
 
Arindam batabyal literature reviewpresentation
Arindam batabyal literature reviewpresentationArindam batabyal literature reviewpresentation
Arindam batabyal literature reviewpresentationArindam Batabyal
 
Autonomous Indoor Mapping Using The Microsoft Kinect Sensor
Autonomous Indoor Mapping Using The Microsoft Kinect SensorAutonomous Indoor Mapping Using The Microsoft Kinect Sensor
Autonomous Indoor Mapping Using The Microsoft Kinect SensorJames Anderson
 
WiSlam presentation
WiSlam presentationWiSlam presentation
WiSlam presentationlbruno236
 
Simultaneous Localization and Mapping for Pedestrians using only Foot-Mounte...
Simultaneous Localization and Mappingfor Pedestrians using only Foot-Mounte...Simultaneous Localization and Mappingfor Pedestrians using only Foot-Mounte...
Simultaneous Localization and Mapping for Pedestrians using only Foot-Mounte...guest5fe3bb
 
Cvpr2010 open source vision software, intro and training part vi robot operat...
Cvpr2010 open source vision software, intro and training part vi robot operat...Cvpr2010 open source vision software, intro and training part vi robot operat...
Cvpr2010 open source vision software, intro and training part vi robot operat...zukun
 
Raspberry Pi + ROS
Raspberry Pi + ROSRaspberry Pi + ROS
Raspberry Pi + ROSArnoldBail
 
Inertial navigaton systems11
Inertial navigaton systems11Inertial navigaton systems11
Inertial navigaton systems11Vikas Kumar Sinha
 

En vedette (8)

Tecnologías Aumentaty RV
Tecnologías Aumentaty RVTecnologías Aumentaty RV
Tecnologías Aumentaty RV
 
Arindam batabyal literature reviewpresentation
Arindam batabyal literature reviewpresentationArindam batabyal literature reviewpresentation
Arindam batabyal literature reviewpresentation
 
Autonomous Indoor Mapping Using The Microsoft Kinect Sensor
Autonomous Indoor Mapping Using The Microsoft Kinect SensorAutonomous Indoor Mapping Using The Microsoft Kinect Sensor
Autonomous Indoor Mapping Using The Microsoft Kinect Sensor
 
WiSlam presentation
WiSlam presentationWiSlam presentation
WiSlam presentation
 
Simultaneous Localization and Mapping for Pedestrians using only Foot-Mounte...
Simultaneous Localization and Mappingfor Pedestrians using only Foot-Mounte...Simultaneous Localization and Mappingfor Pedestrians using only Foot-Mounte...
Simultaneous Localization and Mapping for Pedestrians using only Foot-Mounte...
 
Cvpr2010 open source vision software, intro and training part vi robot operat...
Cvpr2010 open source vision software, intro and training part vi robot operat...Cvpr2010 open source vision software, intro and training part vi robot operat...
Cvpr2010 open source vision software, intro and training part vi robot operat...
 
Raspberry Pi + ROS
Raspberry Pi + ROSRaspberry Pi + ROS
Raspberry Pi + ROS
 
Inertial navigaton systems11
Inertial navigaton systems11Inertial navigaton systems11
Inertial navigaton systems11
 

Similaire à Mapping mobile robotics

Mobile robotics fuzzylogic and pso
Mobile robotics fuzzylogic and psoMobile robotics fuzzylogic and pso
Mobile robotics fuzzylogic and psoDevasena Inupakutika
 
fyp presentation of group 43011 final.pptx
fyp presentation of group 43011 final.pptxfyp presentation of group 43011 final.pptx
fyp presentation of group 43011 final.pptxIIEE - NEDUET
 
slam_research_paper
slam_research_paperslam_research_paper
slam_research_paperVinit Payal
 
Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 COGS Presentations
 
In tech vision-based_obstacle_detection_module_for_a_wheeled_mobile_robot
In tech vision-based_obstacle_detection_module_for_a_wheeled_mobile_robotIn tech vision-based_obstacle_detection_module_for_a_wheeled_mobile_robot
In tech vision-based_obstacle_detection_module_for_a_wheeled_mobile_robotSudhakar Spartan
 
Simultaneous Mapping and Navigation For Rendezvous in Space Applications
Simultaneous Mapping and Navigation For Rendezvous in Space ApplicationsSimultaneous Mapping and Navigation For Rendezvous in Space Applications
Simultaneous Mapping and Navigation For Rendezvous in Space ApplicationsNandakishor Jahagirdar
 
Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)
Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)
Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)Ossama Alami
 
Point cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihangPoint cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihangLihang Li
 
Taster of Research Poster
Taster of Research PosterTaster of Research Poster
Taster of Research PosterJoe Jiang
 
LiDAR-based Autonomous Driving III (by Deep Learning)
LiDAR-based Autonomous Driving III (by Deep Learning)LiDAR-based Autonomous Driving III (by Deep Learning)
LiDAR-based Autonomous Driving III (by Deep Learning)Yu Huang
 
IRJET- Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
IRJET-  	  Simultaneous Localization and Mapping for Automatic Chair Re-Arran...IRJET-  	  Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
IRJET- Simultaneous Localization and Mapping for Automatic Chair Re-Arran...IRJET Journal
 
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro..."High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...Edge AI and Vision Alliance
 
Monocular LSD-SLAM integreation within AR System
Monocular LSD-SLAM integreation within AR SystemMonocular LSD-SLAM integreation within AR System
Monocular LSD-SLAM integreation within AR SystemMarkus Höll
 

Similaire à Mapping mobile robotics (20)

Mobile robotics fuzzylogic and pso
Mobile robotics fuzzylogic and psoMobile robotics fuzzylogic and pso
Mobile robotics fuzzylogic and pso
 
Robotics presentation
Robotics presentationRobotics presentation
Robotics presentation
 
fyp presentation of group 43011 final.pptx
fyp presentation of group 43011 final.pptxfyp presentation of group 43011 final.pptx
fyp presentation of group 43011 final.pptx
 
slam_research_paper
slam_research_paperslam_research_paper
slam_research_paper
 
Survey 1 (project overview)
Survey 1 (project overview)Survey 1 (project overview)
Survey 1 (project overview)
 
Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016
 
Mmpaper draft10
Mmpaper draft10Mmpaper draft10
Mmpaper draft10
 
Mmpaper draft10
Mmpaper draft10Mmpaper draft10
Mmpaper draft10
 
In tech vision-based_obstacle_detection_module_for_a_wheeled_mobile_robot
In tech vision-based_obstacle_detection_module_for_a_wheeled_mobile_robotIn tech vision-based_obstacle_detection_module_for_a_wheeled_mobile_robot
In tech vision-based_obstacle_detection_module_for_a_wheeled_mobile_robot
 
Simultaneous Mapping and Navigation For Rendezvous in Space Applications
Simultaneous Mapping and Navigation For Rendezvous in Space ApplicationsSimultaneous Mapping and Navigation For Rendezvous in Space Applications
Simultaneous Mapping and Navigation For Rendezvous in Space Applications
 
Paper
PaperPaper
Paper
 
Portfolio
PortfolioPortfolio
Portfolio
 
Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)
Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)
Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)
 
Point cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihangPoint cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihang
 
Location Based Services Without the Cocoa
Location Based Services Without the CocoaLocation Based Services Without the Cocoa
Location Based Services Without the Cocoa
 
Taster of Research Poster
Taster of Research PosterTaster of Research Poster
Taster of Research Poster
 
LiDAR-based Autonomous Driving III (by Deep Learning)
LiDAR-based Autonomous Driving III (by Deep Learning)LiDAR-based Autonomous Driving III (by Deep Learning)
LiDAR-based Autonomous Driving III (by Deep Learning)
 
IRJET- Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
IRJET-  	  Simultaneous Localization and Mapping for Automatic Chair Re-Arran...IRJET-  	  Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
IRJET- Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
 
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro..."High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
 
Monocular LSD-SLAM integreation within AR System
Monocular LSD-SLAM integreation within AR SystemMonocular LSD-SLAM integreation within AR System
Monocular LSD-SLAM integreation within AR System
 

Dernier

Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 

Dernier (20)

Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 

Mapping mobile robotics

  • 1. MAPPING IN MOBILE ROBOTICS ASSIGNMENT 2012 – 2013 Submitted by:- Devasena Inupakutika MSc. Automation and Robotics @00346444 1 Mobile Robotics
  • 2. OUTLINE S.No Topic Page No. 1 Abstract 3 2 Introduction 4 3 Objectives 4 4 Theory 4 5 Assignment Description and Development 6 6 Results 9 7 Discussion 14 8 Conclusion 14 9 References 14 2 Mobile Robotics
  • 3. ABSTRACT Map building with mobile robots in a known/ an unknown environment had attracted attention for the past many years. In this course project we consider the problem of creating maps in an environment where robot has been put in. We have used SLAM (Simultaneous localization and mapping) GMAPPING package along with fuzzy controller (for optimal target reaching) approach for creating and storing maps for future. The resulting maps are however precise to some extent, however due to usage of rgb sensor (Kinect) as a range sensor instead of real laser scanner, the conversion of huge point cloud data to laser scan data is little imprecise. We have implemented this approach on real turtlebot with roomba base fitted with Kinect in indoor scenarios. We present our experiments illustrating our approach through RViz. 3 Mobile Robotics
  • 4. INTRODUCTION There are many ways to implement SLAM. It depends on the hardware it's being used with and implemented on. The purpose of this project is performing mapping with a mobile robot specifically a turtlebot with roomba base and Kinect mounted on it. ROS and it's GMAPPING stack along with the controller developed in “ AI in mobile robotics “ project is used to control the robot to build a map of the environment during it's localization and navigation. With SLAM it is possible for a robot to build a map of its environment while simultaneously locating itself within the map. Here, it was implemented in indoor environment. The robot needs precise way to sense the environment for performing SLAM and navigation. In this project, Openni stack is used as driver for Kinect XBOX 360. As navigation stack and fuzzy logic controller packages were used for path planning and obstacle avoidance, GMapping stack is used to implement SLAM. OBJECTIVES The main objective of this work is to present a solution for mapping (SLAM) using extended Kamlan filter (EKF). GMapping ROS stack provides mechanism for the same so, it's just a matter of including this code with controller code, downloading and compiling it, plugging in the H/W and executing this combined application. This concerns with the problem of building a map of an unknown environment by a mobile robot while simultaneously navigating through it. THEORY Map-based navigation comprises of below three processes: • Map-Learning →Memorizing the data captured by robot during environment exploration. • Localization →Process of depicting correct position of robot within the map. • Path Planning →Process of choosing proper trajectory to reach a target, provided with it's current position. Path planning is dependent on above two process as map of the environment should be known for robot to reach it's destination goal. However, map is needed to estimate its position and conversely, position is needed to build the map. Issues arise when map-learning and localization are handled simultaneously. The GMapping stack is used for this map-building during robot's navigation. It provides laser-based SLAM as a ROS node called slam_gmapping. A 2-D occupancy map is created from laser (for our case PCL converted to laser data as described in navigation controller report) and pose data is collected by robot with the presence of transforms. To use slam_gmapping, our robot should be providing odometry data and is equipped with laser scanner (Kinect). This transforms each scan into odom tf frame. The received laser scan data is then vizualized on RViz which is a 3-D visualization environment for robots using ROS. It consists of options to view live camera images, robot footprint, it's odometry, basic shapes through interactive markers and trajectories, obstacles and axes of robot through visualization markers. These display types can be viewed if relevant topics are being published through execution of programs. 4 Mobile Robotics
  • 5. Visualization_msgs are set of messages that deal with visualization specific data (Visualization_msgs/Marker). These are used to send visualization markers such as boxes, spheres, arrows, lines etc. to RViz. SLAM holds good for 2D and 3D motion. We considered only 2D motion as a part of this work. Below is the flowchart giving outline of SLAM process: Figure 1. Outline of SLAM process 5 Mobile Robotics
  • 6. ASSIGNMENT DESCRIPTION AND DEVELOPMENT 1. The first part of this work deals with development of launch files using GMapping package including entries for all the transforms specific to the robot as shown below: Kinect_laser.launch file roomba_config.launch file 6 Mobile Robotics
  • 7. slam.launch file The final launch file which is launched for obtaining map of the environment is as below. It contains the controller package node which has visualization_msgs topics being published and subscribed that show where exactly robot and obstacles are located on the map and the trajectory that the robot is follwing in order to reach target. obstacle_avoid_basic.launch file 7 Mobile Robotics
  • 8. The Pseudo code is as below: /* subscribe to laser scans */ ros::Subscriber scanSub = n.subscribe("scan", 1, scanCallback); /* subscribe to rviz goals */ ros::Subscriber goalSub = n.subscribe("goal", 1, goalCallback); /* subscribe to global paths */ ros::Subscriber pathSub = n.subscribe("path", 1, pathCallback); // Publishing Visualization_marker messages. ros::Publisher markerPub = n.advertise<visualization_msgs::Marker>("controller/trajectory_rollout", 1); ros::Publisher trajectoryPub = n.advertise<visualization_msgs::Marker>("controller/best_trajectory", 1); ros::Publisher pathPub = n.advertise<visualization_msgs::Marker>("controller/path", 1); ros::Publisher localPub = n.advertise<visualization_msgs::Marker>("controller/local_goal", 1); ros::Publisher localPathPub = n.advertise<visualization_msgs::Marker>("controller/local_path", 1); ros::Publisher goalPub = n.advertise<visualization_msgs::Marker>("controller/goal_pos", 1); ros::Publisher cmdPub = n.advertise<geometry_msgs::Twist>("cmd_vel", 1); 2. The second part is launching the above slam.launch and obstacle_avoid_basic.launch launch file followed by running rviz and saving map after navigation of robot through the environment as per below ROS commands: //launching launch file in seperat windows. roslaunch slam.launch roslaunch obstacle_avoid_basic.launch rosrun rviz rviz rosrun map_server map_saver -f /tmp/my_map 8 Mobile Robotics
  • 9. RESULTS The screenshots of the commands, topics published and created map are as shown below: Connection to Roomba (turtlebot base) established 9 Mobile Robotics
  • 10. Keyboard teleoperation rostopic list (list of topics published) 10 Mobile Robotics
  • 11. Process of map creation in RViz Obstacles highlighted with black lines, Gray region shows laser scan 11 Mobile Robotics
  • 12. Mapping in progress Map saved 12 Mobile Robotics
  • 13. Autonomous navigation using above saved map Autonomous navigation of robot on saved map highlighting robot footprint, path and obstacles 13 Mobile Robotics
  • 14. DISCUSSION We encountered few issues during the implementation of this project due to the use of kinect as a rgb sensor rather than laser scanner. The Kinect sensor has around 60 degrees field of view, whereas hokuyo / LIDAR sensors have wider range of 240 to 270 degrees of field of view. Hence, when it is required to gather lots of information from environment, i.e. while estimating change in robot position, it is advisable to use sensors with wider field of view. Also, Kinect can cover between 0.45 to 6 meters range. But laser scanners have different minimum coverage distance. This becomes quite important when it is required to avoid when robot is getting too close to obstacles. With Kinect, the robot in this case just hits the wall. The reason behind this is the use of pointcloud_to_laserscan package whose precision is less than data collected from original laser scan. The obstacle avoidance is not perfect as the one with real laser scanner when the obstacles haven't been detected in the map at earlier stages which increases crashes with obstacles in the beginning. However, this can be improved by integrating the working of laser with kinect. Also, the dynamic window approach used here depends on obstacle weight. In case the robot encounters huge obstacles and they are too near, the robot just crashes due to its weight and above reasons mentioned (precision of kinect data). Also, due to data latency issues (due to wireless network through which workstation is communicating with turtlebot), map was getting updated with a little delay after robot has roamed around for a while in the environment. CONCLUSION The SLAM used in this work is a very basic SLAM. There is scope for improvement in this. There is problem concerning returning of robot to the place it has seen earlier. Also, there are issues related to robot trajectory and robot poses with respect to map and odom. It takes different path when given a nav goal to same position it visited through 2D nav goal command. This process can be improved by combining with occupancy grid so as to be readable by human. Moreover, occupancy grids can be used for path planning in A* search algorithm. REFERENCES [1] http://www.cas.kth.se/SLAM/Papers/iros02-people3d.pdf [2] http://www.ros.org/wiki/gmapping [3] http://www.ros.org/wiki/rviz/Tutorials [4] http://ros.org/wiki/visualization_msgs [5] en.wikipedia.org/wiki/ 14 Mobile Robotics