Tech & produitVérifiée par Kopik: Sources officielles relues et réponses testées par Kopik

Migrate from ROS 1 to ROS 2: catkin to colcon, packages and ros1_bridge

Moving a ROS 1 codebase to ROS 2 changes the build tool, package files, launch files and parameters. The assistant answers step by step from the official migration guides.

Posez votre question

Compte gratuit requis

Chaque question est indépendante · 1 offertes par mois, puis avec l'abonnement.

Les réponses sont rédigées par un modèle de langage à partir des seuls documents de cette base, avec leurs sources numérotées. Elles peuvent être inexactes et ne constituent pas un conseil juridique, médical ou financier : vérifiez les sources avant toute décision importante.

Building: colcon and the missing devel space

Instead of catkin_make, catkin_make_isolated or catkin build, ROS 2 uses colcon to build and install packages. There is no equivalent to the devel space in ROS 2, so a missing devel folder is expected, and references such as CATKIN_DEVEL_PREFIX should be removed.

Symbolic link installation, enabled with colcon build --symlink-install, essentially replaces the devel space: you can edit Python code and configuration files without rerunning the install step. In CMakeLists.txt, replace find_package(catkin ...) with individual calls for each dependency, since ROS 2 packages use ament_cmake_ros instead of catkin.

Bridging with ROS 1 on Ubuntu 22.04

Humble on Ubuntu 22.04 is the first ROS 2 release on a platform with no official ROS 1 release. To bridge with the upstream ROS 1 packages from Debian and Ubuntu, the documentation explains that installing ROS 2 from deb packages does not work because of a conflict over catkin-pkg-modules, so the documented route is to build ROS 2 from source and then build ros1_bridge.

Questions fréquentes

Are there tools to automate the migration?

The documentation lists several, noting they are not exhaustive: the Magical ROS 2 Conversion Tool, a launch file migrator that turns ROS 1 XML launch files into ROS 2 Python launch files, and rospy2, which converts rospy calls to rclpy calls.

Do ROS 1 launch files carry over?

ROS 1 launch files are always XML, while ROS 2 supports XML, YAML and Python. The migration guide maps ROS 1 tags such as launch, node and param to their ROS 2 equivalents.

How do ROS 1 TCPROS and UDPROS map to ROS 2?

The reliable policy is akin to TCPROS and best effort to UDPROS, although even reliable delivery in ROS 2 runs over UDP. History plus depth replaces the ROS 1 queue size.

Pour les développeurs et les agents

Intégrer / API / MCP

Branchez cette base à Claude, Cursor, ChatGPT ou votre propre application. Chaque requête API ou MCP coûte 0,10 €, débitée de votre crédit Kopik (non facturée si rien n'est trouvé). Il vous faut une clé API : créez-la depuis votre tableau de bord.

MCP pour vos agents

Adresse du serveur MCP de cette base (outils ask_base et search_base) :

URL MCP
https://kopik.io/api/mcp?base=ros2-robotics-documentation
Claude Code, Cursor et autres clients
Claude Code
claude mcp add --transport http kopik-ros2-robotics-documentation "https://kopik.io/api/mcp?base=ros2-robotics-documentation" --header "Authorization: Bearer kpk_…"
Configuration JSON (mcpServers)
{
  "mcpServers": {
    "kopik-ros2-robotics-documentation": {
      "url": "https://kopik.io/api/mcp?base=ros2-robotics-documentation",
      "headers": {
        "Authorization": "Bearer kpk_…"
      }
    }
  }
}

API REST pour vos applications

mode vaut "answer" (réponse rédigée + sources) ou "passages" (passages bruts seulement). Ajoutez un maxPriceCents facultatif pour plafonner le prix : si la base coûte plus cher, l'appel est refusé sans rien débiter.

curl
curl -X POST https://kopik.io/api/v1/bases/ros2-robotics-documentation/query \
  -H "Authorization: Bearer kpk_…" \
  -H "Content-Type: application/json" \
  -d '{"question": "Votre question ici", "mode": "answer"}'

Pour commencer

  1. Créez une clé dans votre tableau de bord et rechargez votre crédit.
  2. Remplacez kpk_… par votre clé.
  3. Tout le détail (réponses, erreurs, exemples JS et Python) : documentation développeurs.