Install
openclaw skills install @lljj123/ros1-noetic-generalGeneral bilingual ROS1 Noetic skill for ROS questions and ROS project operations across robot dogs, mobile robots, manipulators, perception pipelines, simulation, and OpenClaw integrations. Trigger whenever the user mentions ROS, ROS1, Noetic, catkin, roslaunch, rosrun, roscore, rostopic, rosservice, rospy, roscpp, tf, tf2, rosbag, launch files, workspace, package.xml, CMakeLists.txt, rosbridge, or asks in Chinese or English to start/build/check/debug/stop a ROS project or robot, such as "启动 ROS", "启动机器狗", "编译 ROS 项目", "检查 catkin 工作区", "run roslaunch", "build this ROS package", or "debug this ROS node". For general ROS knowledge questions, provide broad ROS guidance first; for requests involving local files, local workspaces, commands, builds, launch/run actions, monitoring, health checks, or stopping runtime targets, use this skill's local scripts and workflows. If the user explicitly says "使用 rosskill", "用 ros skill", or "use rosskill", treat that as a strong signal to use this skill.
openclaw skills install @lljj123/ros1-noetic-generalUse this skill for project-agnostic ROS1 Noetic work, not only quadruped tasks.
Typical trigger phrasing includes requests like:
Routing rule inside this skill:
使用 rosskill, 用 ros skill, or use rosskill, strongly prefer this skill even when the request could also be answered more generally.When the request mentions OpenClaw, rosbridge, websocket ROS control, or remote intent mapping, load references/ros1-openclaw-adapter.md early.
Bundled scripts live inside this skill directory. Do not assume the current shell directory is the skill root.
scripts/... and references/... relative to this SKILL.md file before using them.Example pattern:
SKILL_DIR="<absolute-path-to-this-skill>"
zsh "$SKILL_DIR/scripts/ros1_shell_detect.sh"
zsh "$SKILL_DIR/scripts/ros1_env_check.sh"
Run:
zsh "$SKILL_DIR/scripts/ros1_shell_detect.sh"
zsh "$SKILL_DIR/scripts/ros1_env_check.sh"
zsh "$SKILL_DIR/scripts/ros1_graph_probe.sh" topic
If ROS commands are missing, use the shell detector output to decide whether the machine expects setup.bash or setup.zsh, then source ROS first.
Typical pattern:
source /opt/ros/noetic/setup.zsh
If workspace overlays exist, source base first and overlays second.
Read detailed commands from references/project-profiles.md.
For full ROS1 coverage (core graph, launch, tf/tf2, actions, bags, diagnostics, networking), load references/ros1-full-scope.md.
bringup means bringing a ROS system up far enough to run: source ROS, identify workspace, build if needed, find launch files, start nodes, and confirm the graph is healthy.scripts/ros1_workspace_probe.sh.scripts/ros1_bringup_check.sh before starting or rebuilding a project.ros1_start_target.sh -> ros1_runtime_health_check.sh -> ros1_stop_target.sh.Minimal runtime loop example:
zsh "$SKILL_DIR/scripts/ros1_start_target.sh" \
--workspace /path/to/ws \
--package my_pkg \
--launch demo.launch
zsh "$SKILL_DIR/scripts/ros1_runtime_health_check.sh" \
--state-file /tmp/ros1_skill_runtime/<run>/state.env \
--expect-topic /rosout
zsh "$SKILL_DIR/scripts/ros1_stop_target.sh" \
--state-file /tmp/ros1_skill_runtime/<run>/state.env
rosnode list, rostopic list).scripts/ros1_interface_check.sh.Use interface/type checks first, then run motion script (mobile base profile):
zsh "$SKILL_DIR/scripts/ros1_interface_check.sh" topic /cmd_vel geometry_msgs/Twist
python3 "$SKILL_DIR/scripts/move_forward_by_odom.py" \
--cmd-topic /cmd_vel \
--odom-topic /odom \
--distance 1.0 \
--speed 0.2
rosbridge is the websocket bridge that lets OpenClaw or other external clients publish/subscribe/call into a ROS graph without writing native rospy / roscpp code.See references/ros1-openclaw-adapter.md.
message_filters for sensor-time synchronization.MultiThreadedSpinner / worker queue).dynamic_reconfigure for runtime tuning instead of hard-coded constants.See references/ros1-engineering-patterns.md.
See references/ros1-engineering-patterns.md migration section.
sudo, change system configuration, or move hardware in the real world.references/official-docs.mdreferences/ros1-full-scope.mdreferences/ros1-engineering-patterns.mdreferences/project-profiles.mdreferences/ros1-openclaw-adapter.mdreferences/ros1-knowledge-base-sources.mdIf official sites block simple fetches, use whatever browsing or browser-automation tools the host runtime actually exposes. Do not assume tool names that the host has not provided.