算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
real-robot【设计与创意】Route guarded UR5 and RealSense physical workflows for Visual Pushing and Grasping: TCP RGB-D capture, camera-server setup, calibration, touch/debug diagnostics, and safety-first failure recovery.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this route for an operator-supplied physical UR5 and Intel RealSense path. It documents historical integration contracts; it is not a robot driver and it never connects to a controller or starts a camera service automatically.
Before any operation that can move the arm or actuate the gripper:
<operator-approved-controller-host>; retain command port 30002 and
real-time port 30003. Never copy a historical lab address into a live
setup.Use a physical emergency stop for unsafe motion or communication failure; a historical force check is only a software precaution and is not a substitute for controller protective stop or an operator.
Let <skill-root> mean the directory containing the root SKILL.md. For a
one-shot camera probe, read camera-protocol.md
and run the bundled helper:
python <skill-root>/sub-skills/real-robot/scripts/capture_rgbd.py --help
python <skill-root>/sub-skills/real-robot/scripts/capture_rgbd.py \
--host <CAMERA_HOST> --port 50000 --timeout 5
<CAMERA_HOST> is operator-supplied. The helper performs only a bounded TCP
frame check; it does not import the historical checkout, send UR commands,
perform calibration, or write robot state. A successful camera probe says
nothing about controller connectivity.
This graph cannot execute calibration. It supplies the math and file
contract only. Require an operator-supplied, separately reviewed calibration
application and an operator-supplied output directory, for example
<CALIBRATION_APP_ROOT> and <CALIBRATION_OUTPUT_DIR>. Review the motion plan,
controller host, checkerboard setup, workspace, abort plan, and output files
before any run. Never require, invoke, or assume the original checkout's
real/ directory; it is source evidence only.
The historical source labels calibrate.py, real/camera.py, touch.py,
debug.py, and robot.py may explain provenance, but no user instruction
should run them from the original checkout. The separately reviewed calibration
application must produce the required outputs under <CALIBRATION_OUTPUT_DIR>:
camera_pose.txt: a 4x4 camera-to-robot homogeneous matrix, finite with a
proper rigid rotation and metres for translation;camera_depth_scale.txt: one finite positive dimensionless scalar applied
after wire depth conversion.Keep the math/file contract: the pose maps camera points to robot coordinates;
the wire uint16 scale is applied once to obtain metres, then the fitted
calibration scalar is applied once. Validate exact shapes, finite values,
proper rotation, homogeneous final row, positive scale, residual/RMSE, and
checkerboard coverage. Preserve old outputs before replacing them. Do not use
identity or one-valued placeholders without explicit measured commissioning
approval.
The historical contract uses controller host
<operator-approved-controller-host>, command TCP port 30002, and real-time
state port 30003. Verify the actual host with the operator. The real workspace
is x=[0.3,0.748], y=[-0.224,0.224], z=[-0.255,-0.1] metres; calibration
uses a different reviewed grid in calibration.md.
The camera client defaults to 127.0.0.1:50000, historical RGB-D size
1280x720, and a 4 KiB receive chunk. Start the external RealSense server on
the camera host, validate one frame with the bundled helper, then verify the
controller ports independently. Do not infer robot connectivity from camera
connectivity. Supervise the first approved low-speed, single-step action and
do not launch an unattended loop.
Historical packet layouts, home joints, speed values, force threshold, and UR software notes are evidence for a separately reviewed adapter, not safety limits or runtime guarantees. Preserve the parser and output contracts when an operator undertakes compatibility work.
The bundled helper performs only TCP connect, ping, exact-byte read, bounded trailing-byte probe, and payload validation. Build, live capture, calibration, touch, debug, and motion remain external, explicit, and supervised. Never link this skill to checkout paths, machine-local environments, or review artifacts. Treat calibration state and raw frames as deployment data owned by the operator.