Paquete ROS con parámetros y lanzador para localización por fusión de sensores con EKF y navegación del robot.
El paquete utiliza robot_localization
para emplear la fusión de sensores con EKF utilizando la odometría, IMU y trilateración con Xbee. Para esto último, es necesario el paquete trilateration_xbee_ros
.
Para la navegación utiliza el paquete move_base
y distintos planificadores locales y globales: RRT Star, A*, DWA y TEB.
- ROS Noetic
- Catkin Tools
- Rviz
- Turtlebot3
Note
Los parámetros para la localización y navegación, se ajustan en archivos formato YAML en la carpeta param
.
Para la localización por fusión de sensores se dispone de dos archivos roslaunch dependiendo de los sensores y técnicas utilizadas en el robot:
localization_odom_imu.launch
: Emplea la odometría del robot y los datos de la IMU para la fusión de sensores.
roslaunch robot_navigation_turtlebot3 localization_odom_imu.launch
localization_fusion.launch
: Emplea la odometría del robot, datos de la IMU y la posición entregada por la trilateración con Xbee.
roslaunch robot_navigation_turtlebot3 localization_fusion.launch
Para la navegación es necesario un mapa del entorno (carpeta maps
). Para obtenerlo se puede emplear métodos SLAM con LiDAR, como por ejemplo gmapping:
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
Se tienen definidos distintas combinaciones de planificadores, las cuales pueden ser utilizados para la navegación:
- A* - DWA (
astar_dwa
) - A* - TEB (
astar_teb
) - RRT* - DWA (
rrtstar_dwa
) - RRT* - TEB (
rrtstar_teb
)
Para seleccionar una combinación, se debe especificar el parámetro planner
en el roslaunch:
roslaunch robot_navigation_turtlebot3 turtlebot3_navigation.launch planner:=astar_dwa