Commit Graph
100 Commits
Author SHA1 Message Date
Даниил Грабарь 1e8856387b feat(llm-plan-executor): add graph engine and ROS submit/status/cancel node 2026-11-11 00:26:37 +10:00
Даниил Грабарь 2519514b02 feat(llm-plan-executor): execute Grant skills with verified phases 2026-11-11 00:20:29 +10:00
Даниил Грабарь 30c355ba6a feat(llm-plan-executor): constrain planned trajectories by J7 and TCP tilt 2026-11-11 00:17:13 +10:00
Даниил Грабарь 9ca08c01c2 feat(llm-plan-executor): parse and validate externally supplied graphs 2026-11-11 00:14:33 +10:00
Даниил Грабарь 3128191e6d feat(scene-context): publish the live coordinate-free scene contract 2026-11-11 00:11:06 +10:00
Даниил Грабарь d66c9d3fa2 feat(experement): add planner scene mode without reference runner 2026-11-11 00:08:42 +10:00
Даниил Грабарь cdda081b4f feat(experement): plan transfers with Pilz PTP instead of OMPL
- _contact transfer/approach and _retreat clear now use deterministic Pilz
  PTP joint interpolation; OMPL remains only the automatic fallback
- move_to_joints on the motion server tries PTP first, OMPL on failure
- verified in Webots execute mode: 1, 11, 14, 20 completed; no PTP failures
  in 1/11/14/20 server logs, OMPL used only as the fallback
2026-11-10 20:43:42 +10:00
Даниил Грабарь 7525e5f615 fix(experement): untwist after the lift, wait out controller lag, no gizmo in runs
- tighten_hole: lift out of the hole first, then return joint 7 (undoing the
  twist at the contact point visibly unscrewed the simulated tightening)
- motion: wait up to 8 s for the measured tcp to converge to the held goal
  instead of re-issuing it at once (the Webots controller reports success on
  the desired state while the arm still creeps; the re-issue looked like a
  violent 5-10 cm snap at dock and handoff transfers)
- reference launches disable the tcp gizmo in the temporary setting.yaml
  (cobot-setting.yaml only applies to 'cobot run')
- verified in Webots execute mode after these changes: 5, 11, 14, 15, 20
2026-11-10 18:58:26 +10:00
Даниил Грабарь b26edc3cfc fix(experement): honest collision poses, mandatory lifts, rest-to-rest waits; 20/20 verified
- forbid the transport pose; recovery reconfigures through work only
- mandatory axial lift after every contact (handoff, tighten, dock, pick)
- untwist the flange after simulated tightening so joint 7 never winds up
- attach carried tool/cap/screw to the MoveIt scene; explicit REMOVE diffs
- add_world receives box-centre poses (placed_cap_pose, restore_world)
- table top lowered below the base_link collision mesh bottom (1 mm gap bug)
- 1 mm clearances for cap/screw boxes; thinner cap world box (cup clearance)
- wait for a stationary arm before every planning attempt (rest-to-rest)
- loosen stopped_velocity_tolerance to 0.08 for reference launches only
- retry a rejected named move once after settling (startup telemetry race)
- adapter logs the exact reason and max joint velocity on start-state rejects
- verified: all 20 experiments completed in Webots execute mode (10.11.2026)
2026-11-10 15:11:06 +10:00
Даниил Грабарь 6bd288dcaf . 2026-11-09 17:52:41 +10:00
Даниил Грабарь 7462b7d301 docs(experement): record twenty completed runs with simulated tightening
Update the QA table with torque-tool returns for experiments 14-20, refresh the view-mode object counts and TCP drift, and document the transient-planning retry policy.
2026-11-09 04:13:11 +10:00
Даниил Грабарь 554fb571b8 fix(experement): tolerate an empty supervisor command result
The first command after startup can see last_command_result=null; read it defensively instead of calling get() on None.
2026-11-09 04:08:37 +10:00
Даниил Грабарь e4d2e48158 fix(experement): leave the dock even when the axial retreat is rejected
The tool is already docked before the retreat, so a rejected axial move can fall through to a graded +Y exit at a lower height instead of aborting the route.
2026-11-09 03:40:43 +10:00
Даниил Грабарь 41144ecd2a fix(experement): harden tool transfers and tightening at wrist limits
Exit the rack with a graded +Y move after taking or docking a tool, continue through home after a dock, and fall back from work to home when a joint plan is rejected. Wait for fresh zero-velocity joint states before planning and after joint motion, restore a screw to the planning scene before a pick retry, and twist only the flange joint while simulating tightening so the arm does not leave a reachable IK branch.
2026-11-09 01:29:36 +10:00
Даниил Грабарь a6c6474db9 feat(experement): simulate tightening and smooth tool transfers
Add a torque-tool tightening simulation for experiments 14-20: the tool approaches each empty hole, twists 60 degrees (reversing at the wrist limit), returns and retracts while the screw stays handed off. Lift attached tools vertically clear of the magazine before lateral motion, prefer the close 'work' pose between operations, and reconfigure through home only when planning fails. Settle measured joint positions before verifying joint moves.
2026-11-08 21:46:01 +10:00
Даниил Грабарь d0a9656bd2 docs(experement): record final test count 2026-11-08 20:13:41 +10:00
Даниил Грабарь 40d962a160 feat(experement): verify all twenty reference runs and finalize QA 2026-11-08 20:13:33 +10:00
Даниил Грабарь 7aa62f789c fix(experement): harden scene sync, cap grasp yaw and startup sequencing 2026-11-08 17:45:10 +10:00
Даниил Грабарь ec977c10ba feat(experement): complete reference routes, runner and QA documentation 2026-11-08 17:43:57 +10:00
Даниил Грабарь de8c2eb9ee feat(experement): implement reference operations and stable scene sync 2026-11-08 15:38:36 +10:00
Даниил Грабарь c58aa56757 feat(experement): add guarded motion adapter with pose verification 2026-11-08 14:02:55 +10:00
Даниил Грабарь 5a63420aa2 feat(experement): mirror Webots scene into MoveIt with attachments 2026-11-08 13:49:24 +10:00
Даниил Грабарь 51594f7c2f feat(experement): add Webots attachment supervisor and run modes 2026-11-08 13:36:34 +10:00
Даниил Грабарь 453fc03429 feat(experement): add calibrated grant working geometry 2026-11-08 13:19:52 +10:00
Даниил Грабарь a59a3f75b2 feat(experement): define reference experiment contract without tightening 2026-11-08 13:14:23 +10:00
Даниил Грабарь cdae71e2bc docs: clarify validation across reference control tasks 2026-11-08 12:53:14 +10:00
Даниил Грабарь fd1964a687 docs: translate grant reference plan to Russian 2026-11-08 12:41:33 +10:00
Даниил Грабарь b473b15e37 docs: plan grant reference experiment control 2026-11-08 12:33:26 +10:00
Даниил Грабарь ad0d354475 Востановлены все файлы конфигурации 2026-11-08 12:06:08 +10:00
Даниил Грабарь 923770ebbb fix: move screw tray to the reachable table edge 2026-11-08 12:02:37 +10:00
Даниил Грабарь 4ba53082f4 fix: frame the grant workspace and clean cap physics 2026-11-08 11:22:11 +10:00
Даниил Грабарь 568696d7b5 feat: launch grant experiment by id 2026-11-08 10:52:22 +10:00
Даниил Грабарь 814922f8ca feat: spawn deterministic grant scene 2026-11-08 10:49:13 +10:00
Даниил Грабарь e29ae921c4 feat: generate grant Webots objects 2026-11-08 10:47:53 +10:00
Даниил Грабарь dd11119176 feat: define deterministic grant scenarios 2026-11-08 10:44:39 +10:00
Даниил Грабарь f9b208e315 feat: add universal grant Webots world 2026-11-08 10:42:04 +10:00
Даниил Грабарь d39d4c15d0 feat: scaffold iiwa_experement package 2026-11-08 10:41:32 +10:00
Даниил Грабарь 2902828c56 docs: plan grant experiment world package 2026-11-08 10:25:21 +10:00
Даниил Грабарь 1caa919ea4 Добавлены 3д модели для второго эксперемнта и два мира для эксперемента 2026-11-06 16:37:06 +10:00
Даниил Грабарь e94f9ac47e Добавлены 3д детали для эксперемента - грант 2026-11-06 13:37:49 +10:00
Даниил Грабарь 54f8f14ed7 Добавлена спецификация и навыки для codex и kimi-code 2026-11-05 14:07:19 +10:00
Даниил Грабарь 0e3fd0358f Добавлен stop в mcp 2026-09-29 09:06:24 +10:00
Даниил Грабарь 30d64303fc Merge controller into dev: bounded trajectories and shared seven-axis limits
Preserve dev TCP gizmo motion-priority handling while integrating Ruckig smoothing, continuous JTC spline validation and shared robot limits. Resolve launch and dependency conflicts without removing either feature set. Verified merged build of 8 packages and tests of 4 packages.
2026-09-21 05:21:28 +03:00
Даниил Грабарь 0a091ad521 feat(control): unify joint limits and bound trajectory dynamics
Use shared limits for all seven axes across MoveIt, URDF and FRI.
Apply Ruckig smoothing and continuous JTC spline checks, stretching
trajectory timing to respect velocity, acceleration and jerk limits.
Require fresh stationary feedback for direct trajectories and protect
preparation from concurrent submissions and stop requests.

Add regression tests, dependencies and bilingual FRI documentation.
Include the updated LIN speed-sweep scenario and current 60 ms filter
configuration. Acceleration and jerk limits remain project settings;
physical high-speed twitching is still under investigation.
2026-09-21 05:16:09 +03:00
Даниил Грабарь b1b8cedef1 append spawn objects 2026-09-18 12:37:28 +10:00
Даниил Грабарь 9dc1073f42 Update camera settings 2026-09-18 12:05:35 +10:00
Даниил Грабарь 3a5bc28bba feat: add release-to-move TCP gizmo control in Webots
Add a native Webots marker for setting the active tool's TCP position and
orientation. Dragging edits the preview; releasing the mouse submits one
complete, checked joint trajectory with configured TCP speed limits.
Unreachable targets reset the marker to the current TCP.

Preserve coordinate, joint, and control-file commands through motion
reservations and a controller action proxy. Give the gizmo lowest priority
and finish its committed trajectory before dispatching queued regular
commands, including waits longer than the former two-second service timeout.

Place the patron TCP at its working end, 55.2 mm along local Z, and use the
flange TCP when no tool is attached. Add digital_twin.tcp_gizmo configuration,
ROS interfaces, launch integration, and regression coverage.

Document operation, configuration, tool attachment, speed limits, and
troubleshooting in both Russian and English.

Validation: 42 Python tests and 8 C++ tests passed. Webots regressions covered
one action per release, translation and rotation with and without a tool,
unreachable targets, and ordinary commands waiting for gizmo completion.
2026-09-17 17:11:53 +03:00
Даниил Грабарь 9f0f05df87 docs: add FRI realtime scheduling guide 2026-09-16 15:08:55 +10:00
Даниил Грабарь 1780532f51 feat: configure FRI position smoothing 2026-09-16 15:06:17 +10:00
Даниил Грабарь 29a1601061 fix: smooth FRI position commands 2026-09-16 15:00:14 +10:00
Даниил Грабарь fd66c8c7ec fix: prioritize FRI worker and expose command telemetry 2026-09-16 14:54:44 +10:00
Даниил Грабарь 97e3a5f60c fix: keep Webots controller rate 2026-09-16 14:39:49 +10:00
Даниил Грабарь e7df25c36f fix: derive controller rate from FRI period 2026-09-16 14:36:41 +10:00
Даниил Грабарь 7f9b120fe8 fix: preserve FRI settings and update CLI safely 2026-09-16 14:25:49 +10:00
Даниил Грабарь 36d620317a Update setting 2026-09-16 14:13:21 +10:00
Даниил Грабарь 48e842656b fix: report mismatched FRI periods 2026-09-16 14:11:37 +10:00
Даниил Грабарь ca4bb76008 Delete readme file 2026-09-16 10:00:33 +10:00
Даниил Грабарь 392036caf8 Update control move 2026-09-16 09:59:58 +10:00
Даниил Грабарь d51c3737b9 docs: record workstation update and controller motion issues 2026-09-15 16:26:44 +10:00
Даниил Грабарь b1fc2c5ff5 fix: align iiwa controller with FRI lifecycle and use JTC without EMA 2026-09-15 14:10:10 +10:00
Даниил Грабарь db2751bc78 Merge branch 'dev' 2026-08-13 18:09:02 +03:00
Даниил Грабарь 910afce714 Update MkDocs installation to include static i18n and PDF export dependencies 2026-08-13 18:08:40 +03:00
Даниил Грабарь 9e65a2720c docs: clean up README by removing outdated commands and sections 2026-08-13 18:05:35 +03:00
Даниил Грабарь 047e1b190e Merge branch 'dev' 2026-08-13 18:02:26 +03:00
Даниил Грабарь 79d88db930 Add documentation for KUKA Sunrise features and programs
- Created a new document for the Station interface, detailing its menu structure, process data, safety functions, frames, and smartPAD function buttons.
- Added a document for RobotPowerControl, explaining its purpose for safely shutting down or restarting the KUKA Sunrise Cabinet controller.
- Introduced ServerFriRos2 documentation, outlining its role in establishing an FRI connection between the KUKA LBR iiwa and a ROS 2 computer.
- Documented the TeachKuka application, which allows manual teaching of the KUKA LBR iiwa, including position capturing and trajectory recording.
- Added an overview of Sunrise Workbench, including installation instructions for Windows and Linux.
- Created a section on installing a Windows compatibility tool (PortProton) on Linux.
- Documented the installation process for SunriseWorkbench on Linux using PortProton.
- Added installation instructions for SunriseWorkbench on Windows.
- Created troubleshooting documentation for configuration errors and SSL errors during installation.
- Implemented a hook to generate the shared PDF only during the default-language build.
2026-08-13 18:01:59 +03:00
Даниил Грабарь 08ebd40671 docs: update README files with project features and compatibility details 2026-08-13 17:01:34 +03:00
Даниил Грабарь 4547b786a3 Add ServerFriRos2 documentation for KUKA Sunrise Cabinet integration with ROS 2
- Introduced a comprehensive guide for the ServerFriRos2 program, detailing its purpose, setup, and operational procedures.
- Included instructions on configuring network addresses, tool data, initial positions, and FRI cycle periods.
- Provided step-by-step guidance for launching the application and connecting to ROS 2, including troubleshooting tips for connection issues.
- Emphasized safety warnings and operational considerations for using the program with the KUKA LBR iiwa robot.
2026-08-13 16:51:50 +03:00
Даниил Грабарь b318cb3311 Add instructional videos for HandMode and TeachMode
- Added HandMode.mp4 to demonstrate the hand mode functionality.
- Added TeachMode.mp4 to showcase the teaching mode features.
2026-08-13 14:13:35 +03:00
Даниил Грабарь 2ba4975471 Merge branch 'dev' 2026-08-13 00:14:25 +03:00
Даниил Грабарь c5cbf234cb Document TeachKuka operation and safety 2026-08-13 00:13:52 +03:00
Даниил Грабарь e388e7d168 Merge branch 'dev' 2026-08-12 20:55:47 +03:00
Даниил Грабарь 2478e9956b docs: document RobotPowerControl 2026-08-12 20:54:53 +03:00
Даниил Грабарь ff4b2e30ce Merge branch 'dev' 2026-08-12 20:30:18 +03:00
Даниил Грабарь 5134fadf31 Update REST API documentation for robot control
- Refined introduction to REST API capabilities and usage.
- Added security warnings and best practices for using the API.
- Improved examples for various programming languages (Bash, Python, MATLAB).
- Enhanced endpoint descriptions and added details on request/response structures.
- Clarified the process for moving the robot and handling trajectories.
- Updated sections on sequences and error handling for better clarity.
2026-08-12 20:28:50 +03:00
Даниил Грабарь 41f516bb58 feat: implement stop functionality for robot operations and remove obsolete stop endpoint 2026-07-01 11:17:41 +10:00
Даниил Грабарь 9e3ee7ebc8 feat: add troubleshooting section for SSL errors during installation 2026-06-30 12:13:25 +03:00
Даниил Грабарь 0a7eb067ac Merge branch 'dev' 2026-06-22 06:18:01 +03:00
Даниил Грабарь 4fc9622ee9 вернул все обратно 2026-06-22 06:17:33 +03:00
Даниил ГрабарьandClaude Sonnet 4.6 1b6e211b88 Merge branch 'dev': fix rosdep obsolete sources timeout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 05:57:47 +03:00
Даниил ГрабарьandClaude Sonnet 4.6 1c47b3f6f5 fix: remove obsolete rosdep sources (ruby, fuerte) before update
Eliminates SSL handshake timeouts during rosdep update caused by
unreachable ruby.yaml and fuerte.yaml (ROS 1 legacy sources not
needed for ROS 2 Jazzy).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 05:56:40 +03:00
Даниил Грабарь d26d60def4 refactor: update setup wizard steps and documentation; remove overview section 2026-06-21 07:29:21 +03:00
Даниил Грабарь a983a06e41 Добавлена документация по CLI-командам, конфигурации системы, управлению через Foxglove Studio и REST API, а также инструкции по установке и удалённому доступу к серверу. Включены разделы о настройке SunriseWorkbench для работы с реальным роботом KUKA LBR IIWA 7. 2026-06-20 13:15:56 +03:00
Даниил Грабарь ed02b59177 refactor: remove unused ai_agent package and related files; add colcon defaults 2026-06-20 07:47:52 +03:00
Даниил Грабарь 6df4ab49ec Update documentation 2026-06-19 09:42:31 +03:00
Даниил Грабарь 7d73ab32dd Добавлены инструкции по установке SunriseWorkbench на Linux и Windows
- Создана документация по установке эмулятора Windows (PortProton) на Linux.
- Добавлены шаги по установке SunriseWorkbench на Linux с использованием PortProton.
- Создана документация по установке SunriseWorkbench на Windows.
2026-06-18 15:52:48 +03:00
Даниил ГрабарьandClaude Sonnet 4.6 76db47d989 fix: add install docs and images ignored by .gitignore
Fixed .gitignore to use /install/ and /build/ with leading slash
so only the root-level colcon dirs are ignored, not
doc/lwc-doc/docs/sunrise/install/.

Adds install pages (Windows, Linux emulator, Linux workbench)
and 22 step-by-step screenshots that were never deployed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 15:32:01 +03:00
Даниил Грабарь 3a9f1f5150 del: .gitverse folder 2026-06-18 13:34:02 +03:00
Даниил Грабарь a3394db8fe fix: update MkDocs installation and enable PDF export 2026-06-18 13:27:27 +03:00
Даниил Грабарь f4e2765e69 fix: update installation script URL to use master branch 2026-06-18 13:24:26 +03:00
Даниил Грабарь b7db2e991c Add documentation for SunriseWorkbench project setup and features
- Create libraries.md for library installation instructions in SunriseWorkbench.
- Create load-project.md for importing existing projects in SunriseWorkbench.
- Create new-project.md detailing the process of creating a new project in SunriseWorkbench.
- Add applications.md to describe the applications section in KUKA smartHMI.
- Add extra-menu.md for additional robot control options in KUKA smartHMI.
- Create io-group.md for managing input/output groups in KUKA smartHMI.
- Add robot-menu.md as a placeholder for the robot menu section in KUKA smartHMI.
- Create station.md to outline the main navigation and functionalities in KUKA smartHMI.
- Add LBRserver.md, robot-power-control.md, and teach-kuka.md as placeholders for respective control programs.
- Create config-error.md to provide troubleshooting steps for configuration errors in SunriseWorkbench.
- Add main.html to override base template with site root metadata.
2026-06-18 13:22:55 +03:00
Даниил Грабарь 07edc4faf6 Append live mode view doc 2026-06-18 11:31:45 +03:00
Даниил Грабарь b441590dd8 fix: update installation script URL to use dev branch 2026-06-18 11:19:40 +03:00
Даниил Грабарь 5a8b1c44ff Merge branch 'master' into dev 2026-06-18 11:18:30 +03:00
Даниил Грабарь dca056064a fix: update installation script to use master branch for cloning 2026-06-18 11:15:10 +03:00
Даниил Грабарь ec4e1d87ad fix: update documentation workflows for GitHub and GitVerse compatibility 2026-06-18 07:16:40 +03:00
Даниил Грабарь de0117af94 feat: add GitVerse workflow for documentation build and deployment 2026-06-18 07:05:04 +03:00
Даниил Грабарь 16cb4dc6e7 fix: update GitHub Actions workflow to handle uploads for both GitHub and GitVerse 2026-06-18 06:59:41 +03:00
Даниил Грабарь 985425b866 refactor: update GitHub Actions workflow for documentation build and deployment 2026-06-18 06:37:53 +03:00
Даниил Грабарь 4a2e23ffef fix: update installation script URL to use the master branch 2026-06-18 06:21:22 +03:00
Даниил Грабарь a172ffe038 fix: update installation scripts to use the correct branch for cloning and installation 2026-06-18 06:21:22 +03:00