Skip to content

Commit 6546377

Browse files
authored
Merge pull request #7 from ROBOTIS-GIT/feature-vr-offset
Feature vr offset
2 parents 463aa89 + 07bd92f commit 6546377

9 files changed

Lines changed: 21 additions & 45 deletions

File tree

docker/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
services:
22
robotis_applications:
33
container_name: robotis-applications
4-
image: robotis/robotis-applications:0.0.3
4+
image: robotis/robotis-applications:0.0.4
55
tty: true
66
build:
77
context: .

robotis_applications/CHANGELOG.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
Changelog for package robotis_applications
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
0.0.4 (2026-04-17)
6+
------------------
7+
* Updated VR z offsets
8+
* Contributors: Hyunwoo Nam
9+
510
0.0.3 (2026-04-13)
611
------------------
712
* Add VR support for HX5

robotis_applications/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
44
<name>robotis_applications</name>
5-
<version>0.0.3</version>
5+
<version>0.0.4</version>
66
<description>Meta package for Robotis Applications</description>
77
<maintainer email="pyo@robotis.com">Pyo</maintainer>
88
<license>Apache License 2.0</license>

robotis_vuer/CHANGELOG.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
Changelog for package robotis_vuer
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
0.0.4 (2026-04-17)
6+
------------------
7+
* Updated VR z offsets
8+
* Contributors: Hyunwoo Nam
9+
510
0.0.3 (2026-04-13)
611
------------------
712
* Add VR support for HX5

robotis_vuer/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
44
<name>robotis_vuer</name>
5-
<version>0.0.3</version>
5+
<version>0.0.4</version>
66
<description>VR Publisher for Robotis</description>
77
<maintainer email="pyo@robotis.com">Pyo</maintainer>
88
<license>Apache License 2.0</license>

robotis_vuer/robotis_vuer/vr_publisher_hx5.py

Lines changed: 1 addition & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import threading
2323
import traceback
2424

25-
from geometry_msgs.msg import Point32, Quaternion
25+
from geometry_msgs.msg import Point32
2626
import nest_asyncio
2727
import numpy as np
2828
import rclpy
@@ -121,13 +121,6 @@ def __init__(self):
121121
self.prev_poses_left = np.zeros((21, 3))
122122
self.start_poses_left = False
123123

124-
# Cached transform constants for hot paths
125-
self.vr_to_ros_matrix = np.array([
126-
[0.0, 0.0, -1.0],
127-
[-1.0, 0.0, 0.0],
128-
[0.0, 1.0, 0.0],
129-
], dtype=np.float64)
130-
131124
# VR data storage
132125
self.left_hand_data = None
133126
self.right_hand_data = None
@@ -139,7 +132,6 @@ def __init__(self):
139132

140133
# Low-pass filter settings
141134
self.low_pass_filter_alpha = 0.9
142-
self.pose_filters = {}
143135

144136
self.hand_log_counter = 0
145137
self.wrist_debug_log_counter = 0
@@ -181,38 +173,12 @@ def _set_vr_publishing_enabled(self, new_state):
181173
self.start_poses_right = False
182174
self.prev_poses_left.fill(0.0)
183175
self.prev_poses_right.fill(0.0)
184-
self.pose_filters.clear()
185176

186177
def log_status(self):
187178
"""Log current system status for debugging."""
188179
vr_status = 'ENABLED' if self.vr_publishing_enabled else 'DISABLED'
189180
self.get_logger().info(f'Status: VR={vr_status}')
190181

191-
def is_valid_float(self, value):
192-
"""Check if value is valid float (excluding NaN, inf)."""
193-
return isinstance(value, (int, float)) and np.isfinite(value)
194-
195-
# Body head-relative frame from head_inverse @ world:
196-
# +Y=forward, +Z=right, +X=down. Convert to ROS (+X forward, +Y left, +Z up).
197-
BODY_HEAD_TO_ROS_POSITION = np.array([
198-
[0, 1, 0], # ROS X = head +Y (forward)
199-
[0, 0, -1], # ROS Y = -head Z (left)
200-
[-1, 0, 0] # ROS Z = -head X (up)
201-
])
202-
203-
def quat_multiply(self, q1, q2):
204-
"""Multiply two quaternions."""
205-
w = q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z
206-
x = q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y
207-
y = q1.w * q2.y - q1.x * q2.z + q1.y * q2.w + q1.z * q2.x
208-
z = q1.w * q2.z + q1.x * q2.y - q1.y * q2.x + q1.z * q2.w
209-
msg = Quaternion()
210-
msg.x = x
211-
msg.y = y
212-
msg.z = z
213-
msg.w = w
214-
return msg
215-
216182
def process_hand_joints(self, hand_data, side='left'):
217183
"""Process VR hand data (retarget) and publish HandJoints."""
218184
if hand_data is None or len(hand_data) != 400:

robotis_vuer/robotis_vuer/vr_publisher_sg2.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ def __init__(self):
5656
self.get_logger().set_level(rclpy.logging.LoggingSeverity.INFO)
5757
self.declare_parameter('left_wrist_offset_x', 0.0)
5858
self.declare_parameter('left_wrist_offset_y', 0.0)
59-
self.declare_parameter('left_wrist_offset_z', 0.0)
59+
self.declare_parameter('left_wrist_offset_z', -0.3)
6060
self.declare_parameter('right_wrist_offset_x', 0.0)
6161
self.declare_parameter('right_wrist_offset_y', 0.0)
62-
self.declare_parameter('right_wrist_offset_z', 0.0)
62+
self.declare_parameter('right_wrist_offset_z', -0.3)
6363
self.declare_parameter('left_wrist_roll_offset_deg', 90.0)
6464
self.declare_parameter('left_wrist_pitch_offset_deg', 0.0)
6565
self.declare_parameter('left_wrist_yaw_offset_deg', 0.0)
@@ -79,10 +79,10 @@ def __init__(self):
7979
self.declare_parameter('lift_to_arm_z_scale', 1.0)
8080
self.declare_parameter('left_elbow_offset_x', 0.0)
8181
self.declare_parameter('left_elbow_offset_y', 0.0)
82-
self.declare_parameter('left_elbow_offset_z', 0.0)
82+
self.declare_parameter('left_elbow_offset_z', -0.3)
8383
self.declare_parameter('right_elbow_offset_x', 0.0)
8484
self.declare_parameter('right_elbow_offset_y', 0.0)
85-
self.declare_parameter('right_elbow_offset_z', 0.0)
85+
self.declare_parameter('right_elbow_offset_z', -0.3)
8686
self.declare_parameter('goal_pose_squeeze_threshold', 0.8)
8787

8888
# VR publishing control flag

robotis_vuer/robotis_vuer/vr_publisher_sh5.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,10 +225,10 @@ def __init__(self):
225225
# Wrist/elbow position offsets (head-relative, ROS frame: X forward, Y left, Z up)
226226
self.declare_parameter('wrist_offset_x', 0.0)
227227
self.declare_parameter('wrist_offset_y', 0.0)
228-
self.declare_parameter('wrist_offset_z', 0.0)
228+
self.declare_parameter('wrist_offset_z', -0.3)
229229
self.declare_parameter('elbow_offset_x', 0.0)
230230
self.declare_parameter('elbow_offset_y', 0.0)
231-
self.declare_parameter('elbow_offset_z', 0.0)
231+
self.declare_parameter('elbow_offset_z', -0.3)
232232

233233
self.enable_vr_image = (
234234
self.get_parameter('enable_vr_image')

robotis_vuer/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
setup(
1414
name=package_name,
15-
version='0.0.3',
15+
version='0.0.4',
1616
packages=find_packages(exclude=['test']),
1717
data_files=[
1818
('share/ament_index/resource_index/packages',

0 commit comments

Comments
 (0)