Add AGENTS.md with repository and build guidance - #17
Conversation
Co-authored-by: openhands <openhands@all-hands.dev>
The macro was only defined for the pybind11 target and referenced in a commented-out constructor block; no code path uses it. Remove the CMake definition, the dead commented block, and the AGENTS.md mention. Co-authored-by: openhands <openhands@all-hands.dev>
|
Follow-up on the AGENTS.md PR: removed Findings: the macro was only defined for the pybind11 target in Changes in this commit (
Build behavior is unchanged; the example nodes and Python bindings are unaffected. — this comment was added by an AI agent (OpenHands) on behalf of the maintainer. |
The enum was used by the RobotDriverClient constructor's blacklisted_modes parameter but had no py::enum_ binding, so Python clients could not blacklist modes (e.g. JOINT_CONTROL, as the C++ watchdog commander does). Bind MODE_BLACKLIST_FLAG, export it from sas_robot_driver, and update AGENTS.md's Python API list. Verified: colcon build succeeds and RobotDriverClient(node, prefix, [MODE_BLACKLIST_FLAG.JOINT_CONTROL]) now constructs from Python. Co-authored-by: openhands <openhands@all-hands.dev>
|
Follow-up: exposed the mode-blacklist enum to Python. Background: Changes (commit
Verification (in the CI image
— this comment was added by an AI agent (OpenHands) on behalf of the maintainer. |
Summary
Adds a top-level
AGENTS.mddocumenting the repository for AI agents and contributors, derived from an analysis of the codebase.What it covers
ament_cmakepackage providing theRobotDriverServer/RobotDriverClientROS-topic pair (C++ + pybind11 Python bindings).include/,src/, the pure-Pythonsas_robot_driver/wrapper,scripts/,launch/, thepybind11git submodule, and thedocker/CI build files.murilomarinho/sas:jazzyimage,colcon build, then running the example script), plus out-of-dockercolcon buildinstructions for a full ROS 2 jazzy workspace with sibling SAS packages,Eigen3, andlibdqrobotics.RobotDriverROScontrol loop + optional watchdog, the composer node, and the 2025 removal of CoppeliaSim (now insas_robot_driver_coppeliasim).robot_name,joint_limits_min/max,thread_sampling_time_sec,watchdog_period, etc.).-Wall -Wextra -Wpedantic, theIS_SAS_PYTHON_BUILDdual-compile of client/server sources, the copied pybind11 import block delimiters inCMakeLists.txt,ament_flake8/ament_pep257linting, and the absence of unit tests.jazzyas the development branch, shallow-clone caveat, and thepybind11submodule init command.This PR was created by an AI agent (OpenHands) on behalf of the user.