Kobuki ROS2

Código oficial

Código base de ROS:

En caso de emergencia:

Simulación

Ejemplos

Navegación

Drivers Kubuki ROS 2

  1. Crear un espacio de trabajo:
    $ mkdir -p kobuki_base_ws/src

  2. Clonar, en src, los repositorios siguientes:
    github.com/kobuki-base/kobuki_core
    github.com/kobuki-base/kobuki_ros
    github.com/kobuki-base/kobuki_ros_interfaces
    github.com/stonier/ecl_core
    github.com/kobuki-base/cmd_vel_mux
    github.com/stonier/ecl_lite
    github.com/stonier/ecl_tools
    github.com/kobuki-base/kobuki_velocity_smoother

  3. El paquete Sophus requiere clonar una rama explícitamente
    $ git clone --branch release/1.3.x https://github.com/stonier/sophus
    Además, para que compile se necesitarán sustituir algunos archivos, como se indica abajo.

  4. Asegurarse de haber instalado las herramientas para comparación:
    $ source /opt/ros/humble/setup.bash
    $ sudo apt install python3-rosdep2

  5. Para resolver las dependencias faltantes indicadas por
    $ rosdep install -i --from-path src --rosdistro humble -y

En el paquete kobuki_ros/kobuki_keyop, en package.xml, cambiar la dependencia velocity_smoother por kobuki_velocity_smoother
Una vez modificado esto, ejecutar rosdep.

  1. Modificaciones al código:
    En el paquete kobuki_ros, auto_docking_ros.hpp: línea 42: #include <tf2_geometry_msgs/tf2_geometry_msgs.hpp>

    • sophus/common.hpp, so2.hpp y so3.hpp: arreglar SOPHUS_ENSURE, de modo que el argumento ... de la macro SOPHUS_ENSURE siempre reciba un argumento.

    • kobuki_ros/kobuki_node/launch/kobuki_node-composed-launch.py los argumentos para el ComposableNodeContainer y ComposableNode no deben llevar el prefijo node_.

Los archivos que requieren modificaciones se incluyen abajo.

  1. Una vez hecho esto ya está listo para compilar:
    $ cd ~/kobuki_base_ws
    $ colcon build

  2. Para ejecutar el nodo con el driver:

$ cd ~/kobuki_base_ws
$ source install/setup.bash
$ ros2 launch kobuki_node kobuki_node-composed-launch.py