Browse Source

Fixing cargo.lock and removing urdf

tags/v0.3.12-rc0
haixuantao 7 months ago
parent
commit
91af570b48
9 changed files with 885 additions and 1523 deletions
  1. +681
    -696
      Cargo.lock
  2. +4
    -4
      examples/so100-remote/no_torque.yml
  3. +4
    -4
      examples/so100-remote/parse_pose.py
  4. +180
    -0
      examples/so100-remote/qwenvl-compression.yml
  5. +9
    -43
      examples/so100-remote/qwenvl-remote.yml
  6. +6
    -7
      examples/so100-remote/qwenvl.yml
  7. +0
    -384
      examples/so100-remote/so100.urdf
  8. +0
    -384
      examples/so100-remote/so100_inference.urdf
  9. +1
    -1
      node-hub/dora-rerun/pyproject.toml

+ 681
- 696
Cargo.lock
File diff suppressed because it is too large
View File


+ 4
- 4
examples/so100-remote/no_torque.yml View File

@@ -28,9 +28,9 @@ nodes:
- pose
- action
env:
URDF_PATH: so100.urdf
URDF_PATH: /home/xavier/Downloads/so100_urdf/so100.urdf
END_EFFECTOR_LINK: "Moving Jaw"
TRANSFORM: -0.18 0.02 -0.65 0.7 0 0 0.7
TRANSFORM: -0.2 -0.01 -0.57 0.7 0 0 0.7

- id: plot
build: pip install -e ../../node-hub/dora-rerun
@@ -41,6 +41,6 @@ nodes:
camera/image: camera/image
camera/depth: camera/depth
env:
so100_urdf: so100.urdf
so100_transform: -0.18 0.02 -0.65 0.7 0 0 0.7
so100_urdf: /home/xavier/Downloads/so100_urdf/so100.urdf
so100_transform: -0.2 -0.01 -0.57 0.7 0 0 0.7
CAMERA_PITCH: -3.1415

+ 4
- 4
examples/so100-remote/parse_pose.py View File

@@ -51,7 +51,7 @@ def grab(target_x, target_y, low_z, top_z, roll, pitch, yaw_open, yaw_close, las

node.send_output(
"action",
pa.array([0.05, 0.04, top_z, roll, pitch, yaw_close]),
pa.array([0.05, 0.0, top_z, roll, pitch, yaw_close]),
metadata={"encoding": "xyzrpy"},
)
@@ -95,7 +95,7 @@ def place(place_x, place_y, place_z, top_z, roll, pitch, yaw_open, yaw_close, la

node.send_output(
"action",
pa.array([0.05, 0.04, top_z, roll, pitch, yaw_open]),
pa.array([0.05, 0.0, top_z, roll, pitch, yaw_open]),
metadata={"encoding": "xyzrpy"},
)
@@ -104,7 +104,7 @@ time.sleep(0.6)

node.send_output(
"action",
pa.array([0.05, 0.04, top_z, roll, pitch, yaw_open]),
pa.array([0.05, 0.0, top_z, roll, pitch, yaw_open]),
metadata={"encoding": "xyzrpy"},
)

@@ -127,7 +127,7 @@ for event in node:

# Adjust z with the size of the gripper
z = z + 0.075
z = z + 0.06
match action:
case "grab":
y = y + -0.01


+ 180
- 0
examples/so100-remote/qwenvl-compression.yml View File

@@ -0,0 +1,180 @@
nodes:
- id: so100
path: dora-rustypot
inputs:
tick: dora/timer/millis/33
pose:
source: pytorch-kinematics/action
queue_size: 100
outputs:
- pose
env:
PORT: /dev/ttyACM0
TORQUE: 3000
IDS: 1 2 3 4 5 6

- id: camera
build: pip install -e ../../node-hub/dora-pyrealsense
path: dora-pyrealsense
inputs:
tick: dora/timer/millis/150
outputs:
- image
- depth

- id: rav1e-local
path: dora-rav1e
build: cargo build -p dora-rav1e --release
inputs:
image: camera/image
outputs:
- image

- id: rav1e-depth
path: dora-rav1e
build: cargo build -p dora-rav1e --release
inputs:
depth: camera/depth
outputs:
- depth
env:
RAV1E_SPEED: 5

- id: dav1d
path: dora-dav1d
build: cargo build -p dora-dav1d --release
_unstable_deploy:
machine: gpu
inputs:
image: rav1e-local/image
depth: rav1e-depth/depth
outputs:
- image
- depth

- id: pytorch-kinematics
build: pip install node-hub/dora-pytorch-kinematics
path: dora-pytorch-kinematics
_unstable_deploy:
machine: gpu
inputs:
pose: so100/pose
action:
source: parse_pose/action
queue_size: 100
outputs:
- pose
- action
env:
URDF_PATH: so100.urdf
END_EFFECTOR_LINK: "Moving Jaw"
TRANSFORM: -0.2 -0.01 -0.57 0.7 0 0 0.7

- id: plot
build: pip install -e ../../node-hub/dora-rerun
path: dora-rerun
inputs:
#series_so100: so100/pose
# series_pose: pytorch-kinematics/pose
jointstate_so100: so100/pose
camera/image: camera/image
camera/depth: camera/depth
text_whisper: dora-distil-whisper/text
text_vlm: dora-qwenvl/text
camera/boxes2d: parse_bbox/bbox
camera/masks: sam2/masks
env:
so100_urdf: /home/xavier/Downloads/so100_urdf/so100.urdf
so100_transform: -0.2 -0.01 -0.57 0.7 0 0 0.7
CAMERA_PITCH: -3.1415

- id: dora-microphone
build: pip install node-hub/dora-microphone
path: dora-microphone
inputs:
tick: dora/timer/millis/2000
outputs:
- audio

- id: parse_whisper
path: parse_whisper.py
inputs:
text: dora-distil-whisper/text
outputs:
- text
env:
SPEED: 1.5

- id: dora-qwenvl
build: pip install node-hub/dora-qwen2-5-vl
path: dora-qwen2-5-vl
_unstable_deploy:
machine: gpu
inputs:
image: dav1d/image
text: parse_whisper/text
outputs:
- text
env:
DEFAULT_QUESTION: Output the bounding box of the suitcase.
IMAGE_RESIZE_RATIO: "1.0"

- id: parse_bbox
path: parse_bbox.py
inputs:
text: dora-qwenvl/text
outputs:
- bbox
env:
IMAGE_RESIZE_RATIO: "1.0"

- id: sam2
build: pip install node-hub/dora-sam2
path: dora-sam2
_unstable_deploy:
machine: gpu
inputs:
image: dav1d/image
boxes2d: parse_bbox/bbox
outputs:
- masks

- id: box_coordinates
build: pip install node-hub/dora-object-to-pose
path: dora-object-to-pose
_unstable_deploy:
machine: gpu
inputs:
depth: dav1d/depth
masks: sam2/masks
outputs:
- pose
env:
CAMERA_PITCH: -3.1415

- id: parse_pose
path: parse_pose.py
inputs:
pose: box_coordinates/pose
outputs:
- action

- id: dora-vad
build: pip install node-hub/dora-vad
path: dora-vad
inputs:
audio: dora-microphone/audio
outputs:
- audio

- id: dora-distil-whisper
build: pip install node-hub/dora-distil-whisper
path: dora-distil-whisper
_unstable_deploy:
machine: gpu
inputs:
input: dora-vad/audio
outputs:
- text
env:
TARGET_LANGUAGE: english

+ 9
- 43
examples/so100-remote/qwenvl-remote.yml View File

@@ -1,8 +1,6 @@
nodes:
- id: so100
path: dora-rustypot
_unstable_deploy:
machine: local
inputs:
tick: dora/timer/millis/33
pose:
@@ -18,10 +16,8 @@ nodes:
- id: camera
build: pip install -e ../../node-hub/dora-pyrealsense
path: dora-pyrealsense
_unstable_deploy:
machine: local
inputs:
tick: dora/timer/millis/33
tick: dora/timer/millis/100
outputs:
- image
- depth
@@ -31,8 +27,6 @@ nodes:
path: dora-pytorch-kinematics
_unstable_deploy:
machine: gpu
git: https://github.com/dora-rs/dora.git
rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate
inputs:
pose: so100/pose
action:
@@ -44,18 +38,15 @@ nodes:
env:
URDF_PATH: so100.urdf
END_EFFECTOR_LINK: "Moving Jaw"
TRANSFORM: -0.18 0.02 -0.65 0.7 0 0 0.7
TRANSFORM: -0.2 -0.01 -0.57 0.7 0 0 0.7

- id: plot
build: pip install -e ../../node-hub/dora-rerun
path: dora-rerun
_unstable_deploy:
machine: local
inputs:
#series_so100: so100/pose
# series_pose: pytorch-kinematics/pose
jointstate_so100: so100/pose
jointstate_so100_inference: pytorch-kinematics/action
camera/image: camera/image
camera/depth: camera/depth
text_whisper: dora-distil-whisper/text
@@ -63,28 +54,21 @@ nodes:
camera/boxes2d: parse_bbox/bbox
camera/masks: sam2/masks
env:
so100_urdf: so100.urdf
so100_inference_urdf: so100_inference.urdf
so100_transform: -0.18 0.02 -0.65 0.7 0 0 0.7
so100_inference_transform: -0.18 0.02 -0.65 0.7 0 0 0.7
so100_urdf: /home/xavier/Downloads/so100_urdf/so100.urdf
so100_transform: -0.2 -0.01 -0.57 0.7 0 0 0.7
so100_inference_transform: -0.2 -0.01 -0.57 0.7 0 0 0.7
CAMERA_PITCH: -3.1415

- id: dora-microphone
build: pip install node-hub/dora-microphone
path: dora-microphone
git: https://github.com/dora-rs/dora.git
rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate
_unstable_deploy:
machine: local
inputs:
tick: dora/timer/millis/2000
outputs:
- audio

- id: parse_whisper
path: examples/remote-so100/parse_whisper.py
git: https://github.com/dora-rs/dora.git
rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate
path: parse_whisper.py
_unstable_deploy:
machine: gpu
inputs:
@@ -95,8 +79,6 @@ nodes:
- id: dora-qwenvl
build: pip install node-hub/dora-qwen2-5-vl
path: dora-qwen2-5-vl
git: https://github.com/dora-rs/dora.git
rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate
_unstable_deploy:
machine: gpu
inputs:
@@ -109,11 +91,7 @@ nodes:
IMAGE_RESIZE_RATIO: "1.0"

- id: parse_bbox
path: examples/remote-so100/parse_bbox.py
git: https://github.com/dora-rs/dora.git
rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate
_unstable_deploy:
machine: gpu
path: parse_bbox.py
inputs:
text: dora-qwenvl/text
outputs:
@@ -124,10 +102,8 @@ nodes:
- id: sam2
build: pip install node-hub/dora-sam2
path: dora-sam2
git: https://github.com/dora-rs/dora.git
rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate
_unstable_deploy:
machine: gpus
machine: gpu
inputs:
image: camera/image
boxes2d: parse_bbox/bbox
@@ -137,8 +113,6 @@ nodes:
- id: box_coordinates
build: pip install node-hub/dora-object-to-pose
path: dora-object-to-pose
git: https://github.com/dora-rs/dora.git
rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate
_unstable_deploy:
machine: gpu
inputs:
@@ -150,9 +124,7 @@ nodes:
CAMERA_PITCH: -3.1415

- id: parse_pose
path: examples/remote-so100/parse_pose.py
_unstable_deploy:
machine: gpu
path: parse_pose.py
inputs:
pose: box_coordinates/pose
outputs:
@@ -161,10 +133,6 @@ nodes:
- id: dora-vad
build: pip install node-hub/dora-vad
path: dora-vad
git: https://github.com/dora-rs/dora.git
rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate
_unstable_deploy:
machine: gpu
inputs:
audio: dora-microphone/audio
outputs:
@@ -173,8 +141,6 @@ nodes:
- id: dora-distil-whisper
build: pip install node-hub/dora-distil-whisper
path: dora-distil-whisper
git: https://github.com/dora-rs/dora.git
rev: f4c10569f7c44e04f44f15fe42e2a82eca4b6cb2 # pinned commit, update this when changing the message crate
_unstable_deploy:
machine: gpu
inputs:


+ 6
- 7
examples/so100-remote/qwenvl.yml View File

@@ -10,7 +10,7 @@ nodes:
- pose
env:
PORT: /dev/ttyACM0
TORQUE: 2000
TORQUE: 5000
IDS: 1 2 3 4 5 6

- id: camera
@@ -34,9 +34,9 @@ nodes:
- pose
- action
env:
URDF_PATH: so100.urdf
URDF_PATH: /home/xavier/Downloads/so100_urdf/so100.urdf
END_EFFECTOR_LINK: "Moving Jaw"
TRANSFORM: -0.18 0.02 -0.65 0.7 0 0 0.7
TRANSFORM: -0.2 -0.01 -0.57 0.7 0 0 0.7

- id: plot
build: pip install -e ../../node-hub/dora-rerun
@@ -53,10 +53,9 @@ nodes:
camera/boxes2d: parse_bbox/bbox
camera/masks: sam2/masks
env:
so100_urdf: so100.urdf
so100_inference_urdf: so100_inference.urdf
so100_transform: -0.18 0.02 -0.65 0.7 0 0 0.7
so100_inference_transform: -0.18 0.02 -0.65 0.7 0 0 0.7
so100_urdf: /home/xavier/Downloads/so100_urdf/so100.urdf
so100_transform: -0.2 -0.01 -0.57 0.7 0 0 0.7
so100_inference_transform: -0.2 -0.01 -0.57 0.7 0 0 0.7
CAMERA_PITCH: -3.1415

- id: dora-microphone


+ 0
- 384
examples/so100-remote/so100.urdf View File

@@ -1,384 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com)
Commit Version: 1.6.0-1-g15f4949 Build Version: 1.6.7594.29634
For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
<robot
name="SO_5DOF_ARM100_8j_URDF.SLDASM">
<link
name="base_link">
<inertial>
<origin
xyz="-2.45960666746703E-07 0.0311418169687909 0.0175746661003382"
rpy="0 0 0" />
<mass
value="0.193184127927598" />
<inertia
ixx="0.000137030709467877"
ixy="2.10136126944992E-08"
ixz="4.24087422551286E-09"
iyy="0.000169089551209259"
iyz="2.26514711036514E-05"
izz="0.000145097720857224" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Base.STL" />
</geometry>
<material
name="">
<color
rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Base.STL" />
</geometry>
</collision>
</link>
<link
name="Rotation_Pitch">
<inertial>
<origin
xyz="-9.07886224712597E-05 0.0590971820568318 0.031089016892169"
rpy="0 0 0" />
<mass
value="0.119226314127197" />
<inertia
ixx="5.90408775624429E-05"
ixy="4.90800532852998E-07"
ixz="-5.90451772654387E-08"
iyy="3.21498601038881E-05"
iyz="-4.58026206663885E-06"
izz="5.86058514263952E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Rotation_Pitch.STL" />
</geometry>
<material
name="">
<color
rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Rotation_Pitch.STL" />
</geometry>
</collision>
</link>
<joint
name="Rotation"
type="revolute">
<origin
xyz="0 -0.0452 0.0165"
rpy="1.5708 0 0" />
<parent
link="base_link" />
<child
link="Rotation_Pitch" />
<axis
xyz="0 -1 0" />
<!-- note for the so100 arm there is no well defined effort/velocity limits at the moment -->
</joint>
<link
name="Upper_Arm">
<inertial>
<origin
xyz="-1.7205170190925E-05 0.0701802156327694 0.00310545118155671"
rpy="0 0 0" />
<mass
value="0.162409284599177" />
<inertia
ixx="0.000167153146617081"
ixy="1.03902689187701E-06"
ixz="-1.20161820645189E-08"
iyy="7.01946992214245E-05"
iyz="2.11884806298698E-06"
izz="0.000213280241160769" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Upper_Arm.STL" />
</geometry>
<material
name="">
<color
rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Upper_Arm.STL" />
</geometry>
</collision>
</link>
<joint
name="Pitch"
type="revolute">
<origin
xyz="0 0.1025 0.0306"
rpy="0 0 0" />
<parent
link="Rotation_Pitch" />
<child
link="Upper_Arm" />
<axis
xyz="1 0 0" />
</joint>
<link
name="Lower_Arm">
<inertial>
<origin
xyz="-0.00339603710186651 0.00137796353960074 0.0768006751156044"
rpy="0 0 0" />
<mass
value="0.147967774582291" />
<inertia
ixx="0.000105333995841409"
ixy="1.73059237226499E-07"
ixz="-1.1720305455211E-05"
iyy="0.000138766654485212"
iyz="1.77429964684103E-06"
izz="5.08741652515214E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Lower_Arm.STL" />
</geometry>
<material
name="">
<color
rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Lower_Arm.STL" />
</geometry>
</collision>
</link>
<joint
name="Elbow"
type="revolute">
<origin
xyz="0 0.11257 0.028"
rpy="-0.1 0 0" />
<parent
link="Upper_Arm" />
<child
link="Lower_Arm" />
<axis
xyz="1 0 0" />
</joint>
<link
name="Wrist_Pitch_Roll">
<inertial>
<origin
xyz="-0.00852653127372418 -0.0352278997897927 -2.34622481569413E-05"
rpy="0 0 0" />
<mass
value="0.066132067097723" />
<inertia
ixx="1.95717492443445E-05"
ixy="-6.62714374412293E-07"
ixz="5.20089016442066E-09"
iyy="2.38028417569933E-05"
iyz="4.09549055863776E-08"
izz="3.4540143384536E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Wrist_Pitch_Roll.STL" />
</geometry>
<material
name="">
<color
rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Wrist_Pitch_Roll.STL" />
</geometry>
</collision>
</link>
<joint
name="Wrist_Pitch"
type="revolute">
<origin
xyz="0 0.0052 0.1349"
rpy="-1.5708 0 0" />
<parent
link="Lower_Arm" />
<child
link="Wrist_Pitch_Roll" />
<axis
xyz="1 0 0" />
<limit
lower="-1.8"
upper="1.8"
effort="0"
velocity="0" />
</joint>
<link
name="Fixed_Jaw">
<inertial>
<origin
xyz="0.00552376906426563 -0.0280167153359021 0.000483582592841092"
rpy="0 0 0" />
<mass
value="0.0929859131176897" />
<inertia
ixx="4.3328249304211E-05"
ixy="7.09654328670947E-06"
ixz="5.99838530879484E-07"
iyy="3.04451747368212E-05"
iyz="-1.58743247545413E-07"
izz="5.02460913506734E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Fixed_Jaw.STL" />
</geometry>
<material
name="">
<color
rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<!-- <collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Fixed_Jaw.STL" />
</geometry>
</collision> -->
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Wrist_Roll_Follower_SO101.STL" />
</geometry>
</collision>
</link>
<joint
name="Wrist_Roll"
type="revolute">
<origin
xyz="0 -0.0601 0"
rpy="0 1.5708 0" />
<parent
link="Wrist_Pitch_Roll" />
<child
link="Fixed_Jaw" />
<axis
xyz="0 1 0" />
</joint>
<link
name="Moving Jaw">
<inertial>
<origin
xyz="-0.00161744605468241 -0.0303472584046471 0.000449645961853651"
rpy="0 0 0" />
<mass
value="0.0202443794940372" />
<inertia
ixx="1.10911325081525E-05"
ixy="-5.35076503033314E-07"
ixz="-9.46105662101403E-09"
iyy="3.03576451001973E-06"
iyz="-1.71146075110632E-07"
izz="8.9916083370498E-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Moving Jaw.STL" />
</geometry>
<material
name="">
<color
rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Moving_Jaw_SO101.STL" />
</geometry>
</collision>
</link>
<joint
name="Jaw"
type="revolute">
<origin
xyz="-0.0202 -0.0244 0"
rpy="3.1416 0 3.33" />
<parent
link="Fixed_Jaw" />
<child
link="Moving Jaw" />
<axis
xyz="0 0 1" />
</joint>
</robot>

+ 0
- 384
examples/so100-remote/so100_inference.urdf View File

@@ -1,384 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com)
Commit Version: 1.6.0-1-g15f4949 Build Version: 1.6.7594.29634
For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
<robot
name="SO_5DOF_ARM100_8j_URDF.SLDASM">
<link
name="base_link">
<inertial>
<origin
xyz="-2.45960666746703E-07 0.0311418169687909 0.0175746661003382"
rpy="0 0 0" />
<mass
value="0.193184127927598" />
<inertia
ixx="0.000137030709467877"
ixy="2.10136126944992E-08"
ixz="4.24087422551286E-09"
iyy="0.000169089551209259"
iyz="2.26514711036514E-05"
izz="0.000145097720857224" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Base.STL" />
</geometry>
<material
name="">
<color
rgba="0.2 0.819607843137255 0.2 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Base.STL" />
</geometry>
</collision>
</link>
<link
name="Rotation_Pitch">
<inertial>
<origin
xyz="-9.07886224712597E-05 0.0590971820568318 0.031089016892169"
rpy="0 0 0" />
<mass
value="0.119226314127197" />
<inertia
ixx="5.90408775624429E-05"
ixy="4.90800532852998E-07"
ixz="-5.90451772654387E-08"
iyy="3.21498601038881E-05"
iyz="-4.58026206663885E-06"
izz="5.86058514263952E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Rotation_Pitch.STL" />
</geometry>
<material
name="">
<color
rgba="0.2 0.819607843137255 0.2 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Rotation_Pitch.STL" />
</geometry>
</collision>
</link>
<joint
name="Rotation"
type="revolute">
<origin
xyz="0 -0.0452 0.0165"
rpy="1.5708 0 0" />
<parent
link="base_link" />
<child
link="Rotation_Pitch" />
<axis
xyz="0 -1 0" />
<!-- note for the so100 arm there is no well defined effort/velocity limits at the moment -->
</joint>
<link
name="Upper_Arm">
<inertial>
<origin
xyz="-1.7205170190925E-05 0.0701802156327694 0.00310545118155671"
rpy="0 0 0" />
<mass
value="0.162409284599177" />
<inertia
ixx="0.000167153146617081"
ixy="1.03902689187701E-06"
ixz="-1.20161820645189E-08"
iyy="7.01946992214245E-05"
iyz="2.11884806298698E-06"
izz="0.000213280241160769" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Upper_Arm.STL" />
</geometry>
<material
name="">
<color
rgba="0.2 0.819607843137255 0.2 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Upper_Arm.STL" />
</geometry>
</collision>
</link>
<joint
name="Pitch"
type="revolute">
<origin
xyz="0 0.1025 0.0306"
rpy="0 0 0" />
<parent
link="Rotation_Pitch" />
<child
link="Upper_Arm" />
<axis
xyz="1 0 0" />
</joint>
<link
name="Lower_Arm">
<inertial>
<origin
xyz="-0.00339603710186651 0.00137796353960074 0.0768006751156044"
rpy="0 0 0" />
<mass
value="0.147967774582291" />
<inertia
ixx="0.000105333995841409"
ixy="1.73059237226499E-07"
ixz="-1.1720305455211E-05"
iyy="0.000138766654485212"
iyz="1.77429964684103E-06"
izz="5.08741652515214E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Lower_Arm.STL" />
</geometry>
<material
name="">
<color
rgba="0.2 0.819607843137255 0.2 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Lower_Arm.STL" />
</geometry>
</collision>
</link>
<joint
name="Elbow"
type="revolute">
<origin
xyz="0 0.11257 0.028"
rpy="-0.1 0 0" />
<parent
link="Upper_Arm" />
<child
link="Lower_Arm" />
<axis
xyz="1 0 0" />
</joint>
<link
name="Wrist_Pitch_Roll">
<inertial>
<origin
xyz="-0.00852653127372418 -0.0352278997897927 -2.34622481569413E-05"
rpy="0 0 0" />
<mass
value="0.066132067097723" />
<inertia
ixx="1.95717492443445E-05"
ixy="-6.62714374412293E-07"
ixz="5.20089016442066E-09"
iyy="2.38028417569933E-05"
iyz="4.09549055863776E-08"
izz="3.4540143384536E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Wrist_Pitch_Roll.STL" />
</geometry>
<material
name="">
<color
rgba="0.2 0.819607843137255 0.2 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Wrist_Pitch_Roll.STL" />
</geometry>
</collision>
</link>
<joint
name="Wrist_Pitch"
type="revolute">
<origin
xyz="0 0.0052 0.1349"
rpy="-1.5708 0 0" />
<parent
link="Lower_Arm" />
<child
link="Wrist_Pitch_Roll" />
<axis
xyz="1 0 0" />
<limit
lower="-1.8"
upper="1.8"
effort="0"
velocity="0" />
</joint>
<link
name="Fixed_Jaw">
<inertial>
<origin
xyz="0.00552376906426563 -0.0280167153359021 0.000483582592841092"
rpy="0 0 0" />
<mass
value="0.0929859131176897" />
<inertia
ixx="4.3328249304211E-05"
ixy="7.09654328670947E-06"
ixz="5.99838530879484E-07"
iyy="3.04451747368212E-05"
iyz="-1.58743247545413E-07"
izz="5.02460913506734E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Fixed_Jaw.STL" />
</geometry>
<material
name="">
<color
rgba="0.2 0.819607843137255 0.2 1" />
</material>
</visual>
<!-- <collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Fixed_Jaw.STL" />
</geometry>
</collision> -->
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Wrist_Roll_Follower_SO101.STL" />
</geometry>
</collision>
</link>
<joint
name="Wrist_Roll"
type="revolute">
<origin
xyz="0 -0.0601 0"
rpy="0 1.5708 0" />
<parent
link="Wrist_Pitch_Roll" />
<child
link="Fixed_Jaw" />
<axis
xyz="0 1 0" />
</joint>
<link
name="Moving Jaw">
<inertial>
<origin
xyz="-0.00161744605468241 -0.0303472584046471 0.000449645961853651"
rpy="0 0 0" />
<mass
value="0.0202443794940372" />
<inertia
ixx="1.10911325081525E-05"
ixy="-5.35076503033314E-07"
ixz="-9.46105662101403E-09"
iyy="3.03576451001973E-06"
iyz="-1.71146075110632E-07"
izz="8.9916083370498E-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Moving Jaw.STL" />
</geometry>
<material
name="">
<color
rgba="0.2 0.819607843137255 0.2 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="Moving_Jaw_SO101.STL" />
</geometry>
</collision>
</link>
<joint
name="Jaw"
type="revolute">
<origin
xyz="-0.0202 -0.0244 0"
rpy="3.1416 0 3.33" />
<parent
link="Fixed_Jaw" />
<child
link="Moving Jaw" />
<axis
xyz="0 0 1" />
</joint>
</robot>

+ 1
- 1
node-hub/dora-rerun/pyproject.toml View File

@@ -28,4 +28,4 @@ extend-select = [
]

[tool.uv.sources]
rerun-loader-urdf = { git = "thttps://github.com/haixuanTao/rerun-loader-python-example-urdf.git", branch = "patch-2" }
rerun-loader-urdf = { git = "https://github.com/haixuanTao/rerun-loader-python-example-urdf.git", branch = "patch-2" }

Loading…
Cancel
Save