这确实是一匹站在弯曲滑橇上的摇马,不过我不确定是否有两个滑橇。我应当横跨实心躯干的宽度去抓取,方向垂直于马的长度方向并靠近身体中心,避开腿和脖子。在腕部视图中,头部朝向右方,尾部朝向左下方。大的椭圆形躯干中心可能位于 (320, 170) 像素附近,两侧接触点可能分别位于图像 x = 290 和 370 像素附近。它的长轴大致从头部 (380, 110) 延伸到尾部 (340, 240),因此在当前视图中它近似竖直。如果我把抓取中心对准正确位置,那么腕部偏航接近 90 度时的水平手指闭合应当能横跨其宽度夹住。
当前右侧第六连杆的水平位置为 [0.094, −0.07] m,高度为 z = 1.017米。我的第一个想法是把它降到 z = 0.975米,使指尖接近 z = 0.817米。这样可能接触到躯干上部,其顶部可能接近 z = 0.82米,侧面中点可能接近 z = 0.80米。在这种腕部姿态下,我估计相机偏移约为沿环境 X 方向 −0.05米、沿 Z 方向 −0.085米,Y 方向无偏移。当第六连杆 z = 0.975米时,相机将接近 z = 0.89米,比估计的躯干顶部高约 0.07米。从当前高度下降 0.042米应会使躯干在视图中变大,并可能使其中心从图像 v = 170 移到约 v = 260 像素。手指似乎位于图像 y = 300 像素附近的底边处,因此这最初看起来像是一个合适的躯干接触姿态,比之前的 z = 0.938米抓取更高。
然而,我需要足够的指垫接触面积。我最初想知道指垫是否会覆盖 z = 0.82–0.75米,但它们的高度取决于它们沿局部 X 方向的延伸范围。如果接触面从局部 x = 0.07 延伸到 0.157米,那么在第六连杆 z = 0.975米时它大约跨越 z = 0.905–0.817米。使用另一个暂定的指垫范围局部 x = 0.08–0.157米,则得到 z = 0.895–0.817米。若躯干顶部接近 z = 0.83米,则只有指尖会在 z = 0.817–0.83米范围内接触,约 13毫米。那也许可行,但接触面积很小。
在第六连杆 z = 0.94米时,估计的指垫范围为 z = 0.782–0.862米,与跨越 z = 0.79–0.83米的躯干可提供约 40毫米的接触,但也可能接触到腿或底座。我估计实心躯干两侧跨越 z = 0.78–0.83米,弯曲滑橇跨越 z = 0.75–0.78米。之前 z = 0.945米的抓取打滑了,也许是因为其指尖在 z = 0.787米处包含了底座正上方的腿。
第六连杆目标设为 z = 0.955米看起来更好。估计的指垫范围将是 z = 0.797–0.877米,在 z = 0.797–0.83米范围内提供约 33毫米的躯干接触,同时使指尖保持在 z = 0.797米,高于接近 z = 0.77米的滑橇。我将选择 z = 0.955米进行躯干抓取,而不是 z = 0.975米。在将张开的右手对准躯干上方后,我计划下降、闭合,然后保持姿态稳定缓慢抬升到 z = 1.04米。我预计开口指令会更窄,约为 0.2。如果躯干抓取稳定,我可以直接朝篮子平移。
在下降之前,我需要核实躯干的实际水平位置。高机位相机中的身体中心可能接近 (365, 222) 像素。根据先前的射线-平面模式,位于 (363, 222) 像素且假设 z = 0.81米的点可能具有 x ≈ 0.089米,或者也许是 x = 0.0896米和 y = −0.0794米。在 (365, 224) 像素且 z = 0.81米处的身体中心估计则可能给出 x ≈ 0.091米和 y ≈ −0.084米。如果是这样,当前末端执行器 y = −0.07米位于身体后方约 0.014米。腕部视图中的躯干中心似乎接近 (320, 160) 像素。当腕部偏航接近 90 度且相机偏移约为沿 X 方向 −0.051米、沿 Y 方向为零时,我不确定图像 Y 如何对应环境 X。在两个已标定视图中使用匹配特征应能给出更好的位置。
金色铃铛可能提供一个可识别的共享特征。高机位相机裁剪从 (340, 200) 像素开始,覆盖 50 × 50 像素,并被放大六倍到 300 × 300 像素。我的第一次裁剪估计将铃铛放在 x = 85 像素附近,得到原始 x = 340 + 85/6 = 354.2 像素,暂定裁剪 y 接近 140 像素,暗示原始 y 接近 223 像素。更仔细地看,我估计头部在裁剪 (60, 70),铃铛在 (90, 135),身体中心在 (140, 130),底座中心在 (140, 190)。修正后的铃铛估计转换为原始坐标 (340 + 15, 200 + 22.5) = (355, 222.5) 像素。
腕部裁剪从 (230, 60) 像素开始,覆盖 200 × 220 像素,并被放大到 1200 × 1320 像素。铃铛似乎接近裁剪 (540, 350),对应原始 x = 230 + 90 = 320 像素和 y = 60 + 58.3 = 118.3 像素。我将使用高机位视图中的约 (355, 223) 像素和腕部视图中的约 (320, 118) 像素,结合观测_000690 标定对铃铛进行三角测量。
对于躯干,另一个腕部中心估计是 (315, 175) 像素,相对于铃铛 (320, 118) 的图像偏移为 (−5, +57) 像素。高机位相机中的身体中心可能是 (365, 224),相对于铃铛 (355, 223) 的偏移为 (+10, +1) 像素。我也可以对近似的躯干中心对进行三角测量,即高机位相机 (365, 224) 和腕部相机 (315, 175)。先前的三角测量失败是因为所选点不对应。这里我将使用可识别的铃铛作为共享特征,并将躯干中心对应关系视为近似。在移动机器人之前,我将计算铃铛和躯干的三角测量。
原文5,508 字
This is indeed a rocking horse standing on curved runners, though I am unsure whether there are two runners. I should grasp across the width of the solid torso, perpendicular to the horse’s length and near the body center, avoiding the legs and neck. In the wrist view, the head appears toward the right and the tail toward the lower left. The large oval torso may be centered near (320, 170) pixels, with possible side contacts near image x = 290 and 370 pixels. Its long axis runs roughly from the head at (380, 110) to the tail at (340, 240), so it is approximately vertical in the current view. Horizontal finger closure with the wrist near 90 degrees of yaw should therefore pinch across its width if I center the grasp correctly.
The current right link6 horizontal position is [0.094, −0.07] m, and its height is z = 1.017 m. My first idea is to lower it to z = 0.975 m, putting the fingertips near z = 0.817 m. That could contact the upper torso, whose top may be near z = 0.82 m and whose side midpoint may be near z = 0.80 m. With this wrist orientation, I estimate the camera offset as approximately −0.05 m along environment X and −0.085 m along Z, with no Y offset. At link6 z = 0.975 m, the camera would be near z = 0.89 m, about 0.07 m above the estimated torso top. Lowering by 0.042 m from the current height should enlarge the torso in the view and may move its center from image v = 170 to about v = 260 pixels. The fingers appear near the bottom edges around image y = 300 pixels, so this initially seems like a suitable torso-contact pose, higher than the previous z = 0.938 m grasp.
However, I need enough pad contact area. I initially wondered whether the pads might cover z = 0.82–0.75 m, but their height depends on their extent along local X. If the contact surface extends from local x = 0.07 to 0.157 m, then at link6 z = 0.975 m it spans approximately z = 0.905–0.817 m. Using another tentative pad extent of local x = 0.08–0.157 m gives z = 0.895–0.817 m. With a torso top near z = 0.83 m, only the tips would contact over z = 0.817–0.83 m, about 13 mm. That might work, but it offers little contact area.
At link6 z = 0.94 m, the estimated pad range is z = 0.782–0.862 m, giving about 40 mm of contact with a torso spanning z = 0.79–0.83 m, but potentially contacting the legs or base as well. I estimate the solid torso sides span z = 0.78–0.83 m and the curved runner spans z = 0.75–0.78 m. The previous z = 0.945 m grasp slipped, perhaps because its fingertips at z = 0.787 m included the legs just above the base.
A link6 target at z = 0.955 m looks better. The estimated pad range would be z = 0.797–0.877 m, giving about 33 mm of torso contact over z = 0.797–0.83 m while keeping the fingertips at z = 0.797 m above the runner near z = 0.77 m. I will choose z = 0.955 m for the torso grasp rather than z = 0.975 m. After aligning the open right hand over the torso, I plan to descend, close, and then lift slowly to z = 1.04 m with orientation held steady. I expect a narrower opening command around 0.2. If the torso grasp is stable, I can translate directly toward the basket.
Before descending, I need to verify the torso’s actual horizontal position. The high-camera body center may be near (365, 222) pixels. From the earlier ray-plane pattern, a point at (363, 222) pixels and assumed z = 0.81 m might have x ≈ 0.089 m, or perhaps x = 0.0896 m and y = −0.0794 m. A body-center estimate at (365, 224) pixels and z = 0.81 m might instead give x ≈ 0.091 m and y ≈ −0.084 m. If so, the current end-effector y = −0.07 m is behind the body by about 0.014 m. The wrist torso center appears near (320, 160) pixels. With the wrist near 90 degrees of yaw and camera offset approximately −0.051 m along X and zero along Y, I am unsure how image Y relates to environment X. Using matching features in both calibrated views should give a better location.
The gold bell may provide a recognizable shared feature. The high-camera crop starts at (340, 200) pixels, covers 50 × 50 pixels, and was enlarged sixfold to 300 × 300 pixels. My first crop estimate put the bell near x = 85 pixels, giving original x = 340 + 85/6 = 354.2 pixels, with a tentative crop y near 140 pixels suggesting original y near 223 pixels. Looking more closely, I estimate the head at crop (60, 70), the bell at (90, 135), the body center at (140, 130), and the base center at (140, 190). The revised bell estimate converts to original coordinates (340 + 15, 200 + 22.5) = (355, 222.5) pixels.
The wrist crop starts at (230, 60) pixels, covers 200 × 220 pixels, and was enlarged to 1200 × 1320 pixels. The bell appears near crop (540, 350), corresponding to original x = 230 + 90 = 320 pixels and y = 60 + 58.3 = 118.3 pixels. I will use approximately (355, 223) pixels in the high view and (320, 118) pixels in the wrist view to triangulate the bell with the obs_000690 calibration.
For the torso, another wrist-center estimate is (315, 175) pixels, an image offset of (−5, +57) pixels from the bell at (320, 118). The high-camera body center may be (365, 224), an offset of (+10, +1) pixels from the bell at (355, 223). I can also triangulate the approximate torso-center pair, high-camera (365, 224) and wrist-camera (315, 175). Earlier triangulation failed because the selected points did not correspond. Here I will use the recognizable bell as a shared feature and treat the torso-center correspondence as approximate. I will compute the bell and torso triangulations before moving the robot.