Navigation in ROS2: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 16: Zeile 16:
1. Launch of the cartographer_node
1. Launch of the cartographer_node


The cartographer_node is provided by the package cartographer_ros  
* The cartographer_node is provided by the package cartographer_ros  
The executable is called cartographer_node
* The executable is called cartographer_node
The parameters it requires are: 1. use_sim_time : is a boolean indicating whether the node must synchronize its time with the simulation
* The parameters it requires are: 1. use_sim_time : is a boolean indicating whether the node must synchronize its time with the simulation
The arguments are:
The arguments are:
1. configuration_directory : the directory where to find the configuration files
1. configuration_directory : the directory where to find the configuration files
2. configuration_basename : the config file name
2. configuration_basename : the config file name

Version vom 9. Januar 2023, 11:19 Uhr

Map building in ROS2

A map is a picture of the area in which the robot is working. A map is used by the robot to plan and localize its trajectories. An occupancy grid map is what a map is in ROS. In plain English, each map cell represents an obstacle by having a certain value. We require a robot with LIDAR, odometry, and the robot environment in order to create a map.

SLAM Simultaneous Localization and Mapping (SLAM) will locate the robot while also making a map. SLAM algorithms are used to make maps of uncharted environments while simultaneously being aware of where the robot is. Cartographer and SLAM-Toolbox are two excellent SLAMs for ROS2.

Cartographer

Cartographer (https://opensource.google/projects/cartographer) is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations. Google develops cartographer, and they have been using Google Street View for mapping building interiors.

Cartographer_ros (https://google-cartographer-ros.readthedocs.io/en/latest/) is a ROS wrapper of cartographer so that cartographer can be integrated with ROS. This is great because you only use the pre-built packages and configure them accurately with your robot. This process is explained in this unit.

Cartographer launch file for the robot will be explained here. The main benefit of a launch file is that you can start multiple nodes from a single file and set a node specific parameter while launching a node. The parameters can be loaded from a YAML file or specified in the launch file. To launch `cartographer, We need to launch two nodes.

1. Launch of the cartographer_node

  • The cartographer_node is provided by the package cartographer_ros
  • The executable is called cartographer_node
  • The parameters it requires are: 1. use_sim_time : is a boolean indicating whether the node must synchronize its time with the simulation

The arguments are: 1. configuration_directory : the directory where to find the configuration files 2. configuration_basename : the config file name