vyRobot

ROS2 Control System v2.4.0

Connection

{{ ros.connected ? 'CONNECTED' : 'DISCONNECTED' }}

URL: {{ ros.url }}
Nodes: {{ ros.nodes.length }} Topics: {{ ros.topics.length }} Services: {{ ros.services.length }}

CPU Usage

{{ systemMetrics.cpu.toFixed(2) }}%

Memory

{{ systemMetrics.ram.toFixed(2) }}GB

Frequency

{{ systemMetrics.hz.toFixed(0) }}Hz

ROBOT UNITS

Status

{{ selectedRobot.status }}

Mode

{{ selectedRobot.mode }}

Battery Level {{ selectedRobot.battery.toFixed(1) }}%
Core Temperature {{ selectedRobot.temperature.toFixed(1) }}°C

JOINT GROUPS

{{ group.name }}
{{ joint }} {{ getJointValue(joint).toFixed(2) }}°

3D VISUALIZATION

URDF Model Visualization

Position X

{{ selectedRobot?.pose.position.x.toFixed(3) || '0.000' }}m

Position Y

{{ selectedRobot?.pose.position.y.toFixed(3) || '0.000' }}m

Position Z

{{ selectedRobot?.pose.position.z.toFixed(3) || '0.000' }}m

VELOCITY CONTROL

Linear Velocity

{{ axis }}-Axis {{ twist.linear[axis].toFixed(3) }} m/s

Angular Velocity

{{ axis }}-Axis {{ twist.angular[axis].toFixed(3) }} rad/s

JOINT CONTROL

{{ joint.name }} {{ joint.position.toFixed(2) }}°
Velocity: {{ joint.velocity.toFixed(3) }}
Effort: {{ joint.effort.toFixed(3) }}

QUICK ACTIONS

Executing: {{ currentAction.name }} {{ currentAction.progress.toFixed(1) }}%

SENSOR STREAMS

IMU
{{ sensors.imu.rate.toFixed(0) }}Hz

Roll

{{ sensors.imu.orientation.roll.toFixed(1) }}°

Pitch

{{ sensors.imu.orientation.pitch.toFixed(1) }}°

Yaw

{{ sensors.imu.orientation.yaw.toFixed(1) }}°

Force/Torque
{{ ft.frame }}
{{ ft.force.toFixed(1) }}N {{ ft.torque.toFixed(1) }}Nm
LiDAR
{{ (sensors.lidar.points / 1000).toFixed(1) }}k pts
Range {{ sensors.lidar.minRange }}-{{ sensors.lidar.maxRange }}m
Cameras

{{ cam.name }}

{{ cam.fps }}fps

SYSTEM DIAGNOSTICS

{{ diag.name }}
{{ diag.message }}

AVAILABLE TOPICS

{{ topic.name }}

{{ topic.messageType }}

TOPIC DETAILS

Topic Name

{{ selectedTopic.name }}

Message Type

{{ selectedTopic.messageType }}

Live Message Echo

{{ JSON.stringify(selectedTopic.lastMessage, null, 2) }}

No messages received yet

Publish Message

Select a topic to view details

AVAILABLE SERVICES

{{ service.name }}

{{ service.serviceType }}

SERVICE INTERFACE

Service Name

{{ selectedService.name }}

Request Parameters

Response

{{ JSON.stringify(serviceResponse, null, 2) }}

Select a service to call

ROS PARAMETERS

{{ param.name }} {{ param.type }}

Parameter Groups

{{ group.name }}
{{ param }} {{ getParamValue(param) }}

TRANSFORM TREE

{{ frame.id }}

Frame: {{ selectedFrame.id }}

TRANSLATION
X {{ selectedFrame.transform.translation.x.toFixed(4) }}m
Y {{ selectedFrame.transform.translation.y.toFixed(4) }}m
Z {{ selectedFrame.transform.translation.z.toFixed(4) }}m
ROTATION (QUATERNION)
X {{ selectedFrame.transform.rotation.x.toFixed(4) }}
Y {{ selectedFrame.transform.rotation.y.toFixed(4) }}
Z {{ selectedFrame.transform.rotation.z.toFixed(4) }}
W {{ selectedFrame.transform.rotation.w.toFixed(4) }}

Select a frame to view transform

ACTION SERVERS

{{ server.name }}

{{ server.status }}

{{ server.type }}

Feedback:

{{ JSON.stringify(server.feedback, null, 2) }}

Result:

{{ JSON.stringify(server.result, null, 2) }}

BAG RECORDING & PLAYBACK

RECORDING

Select Topics to Record

Duration

{{ formatDuration(bagRecording.duration) }}

Messages

{{ bagRecording.messageCount }}

Size

{{ formatBytes(bagRecording.size) }}

PLAYBACK

Topics

{{ selectedBag.topics.length }}

Duration

{{ selectedBag.duration || '00:00:00' }}

Playback Speed {{ playbackSpeed.toFixed(1) }}x
Progress {{ playbackProgress.toFixed(1) }}%

Saved Bag Files

{{ bag.name }}

{{ bag.date }}

Size

{{ formatBytes(bag.size) }}

Topics

{{ bag.topicCount }}

Duration

{{ bag.duration }}

Last Update: {{ lastUpdate }}
Messages/sec: {{ messageRate.toFixed(0) }}
Latency: {{ latency.toFixed(1) }}ms