Skip to content

Commit 6bdf945

Browse files
authored
Merge pull request #14 from ROBOTIS-GIT/fix-f2-head-camera-topic
Fix f2 head camera topic
2 parents 7331697 + 8299eb4 commit 6bdf945

12 files changed

Lines changed: 39 additions & 12 deletions

File tree

‎CHANGELOG.rst‎

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

5+
1.0.1 (2026-08-19)
6+
------------------
7+
* Fixed the F1/F2 robot status camera topic to use the head camera topic.
8+
* Contributors: Hyungyu Kim
9+
510
1.0.0 (2026-08-05)
611
------------------
712
* Improved ROS 2 bridge request synchronization with per-request response queues for discovery, subscription, QoS lookup, publishing, and unsubscribe results.

‎cyclo_manager/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@
2323
running s6-overlay agents via Unix Domain Sockets.
2424
"""
2525

26-
__version__ = '1.0.0'
26+
__version__ = '1.0.1'

‎cyclo_manager/agent/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@
2323
running inside a container via Unix Domain Socket.
2424
"""
2525

26-
__version__ = '1.0.0'
26+
__version__ = '1.0.1'

‎cyclo_manager/ros2_node/constants.py‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,14 @@ class KnownTopicMeta(TypedDict, total=False):
7878
'depth': 10,
7979
},
8080
},
81+
'/camera_head/camera_head/color/image_raw/compressed': {
82+
'msg_type': 'sensor_msgs/msg/CompressedImage',
83+
'qos': {
84+
'durability': 'volatile',
85+
'reliability': 'reliable',
86+
'depth': 42,
87+
},
88+
},
8189
'/camera_left/camera_left/color/image_rect_raw/compressed': {
8290
'msg_type': 'sensor_msgs/msg/CompressedImage',
8391
'qos': {

‎cyclo_manager_cli/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ Defined in [`cyclo_manager_cli/docker/docker-compose.yml`](cyclo_manager_cli/doc
133133

134134
| Compose service | Container name | `cyclo_manager up` | Image (example) |
135135
|-----------------|----------------|--------------------|-----------------|
136-
| `cyclo_manager` | `cyclo_manager` | **Started** | `robotis/cyclo-manager:1.0.0` |
137-
| `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:1.0.0` |
136+
| `cyclo_manager` | `cyclo_manager` | **Started** | `robotis/cyclo-manager:1.0.1` |
137+
| `ui` | `cyclo_manager_ui` | **Started** | `robotis/cyclo-manager-ui:1.0.1` |
138138
| `rmw_zenoh` | `zenoh_daemon` | **Created only** | `robotis/zenoh-daemon:latest` |
139139
| `novnc-server` | `novnc-server` | **Created only** | `robotis/novnc-server:latest` |
140140

‎cyclo_manager_cli/cyclo_manager_cli/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@
1818

1919
"""cyclo_manager CLI - pip-installable launcher for cyclo_manager server and UI containers."""
2020

21-
__version__ = '1.0.0'
21+
__version__ = '1.0.1'

‎cyclo_manager_cli/cyclo_manager_cli/docker/docker-compose.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ services:
1111

1212
cyclo_manager:
1313
container_name: cyclo_manager
14-
image: robotis/cyclo-manager:1.0.0
14+
image: robotis/cyclo-manager:1.0.1
1515
restart: always
1616
network_mode: host
1717
volumes:
@@ -27,7 +27,7 @@ services:
2727

2828
ui:
2929
container_name: cyclo_manager_ui
30-
image: robotis/cyclo-manager-ui:1.0.0
30+
image: robotis/cyclo-manager-ui:1.0.1
3131
restart: always
3232
network_mode: host
3333
environment:

‎cyclo_manager_cli/pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "cyclo-manager"
7-
version = "1.0.0"
7+
version = "1.0.1"
88
description = "cyclo_manager CLI: pip-installable launcher for cyclo_manager server and UI containers. Run 'cyclo_manager up' to start Docker stack."
99
readme = "README.md"
1010
license = "Apache-2.0"

‎cyclo_manager_ui/app/[container]/system/page.tsx‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import Robot3DViewer from "@/components/Robot3DViewer";
4646
import ContainerControlBox from "@/components/system/ContainerControlBox";
4747
import ServiceControlBox from "@/components/system/ServiceControlBox";
4848
import { useTheme } from "@/contexts/ThemeContext";
49+
import type { RobotType } from "@/types/api";
4950

5051
const STATUS_POLL_INTERVAL = 2000;
5152
const ROBOT_DESCRIPTION_TOPIC = "/robot_description";
@@ -214,7 +215,9 @@ export default function SystemPage() {
214215
const robotConfig = robotOption?.config ?? activeSystemProfile.robotTypeOptions[0]?.config ?? UNSUPPORTED_LAUNCH_CONFIG;
215216
const leaderConfig = leaderOption?.config ?? null;
216217
const batteryTopics = activeSystemProfile.batteryTopics;
217-
const cameraTopics = activeSystemProfile.cameraTopics;
218+
const cameraTopics =
219+
activeSystemProfile.cameraTopicsByRobotType?.[robotType as RobotType] ??
220+
activeSystemProfile.cameraTopics;
218221
const controlTopics = useMemo<SystemControlTopic[]>(
219222
() => {
220223
if (!systemProfile) return [];

‎cyclo_manager_ui/config/systemProfiles.ts‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export type SystemProfile = {
5555
leaderTypeOptions: readonly SystemRobotOption[];
5656
batteryTopics: readonly SystemTopic[];
5757
cameraTopics: readonly SystemTopic[];
58+
cameraTopicsByRobotType?: Partial<Record<RobotType, readonly SystemTopic[]>>;
5859
};
5960

6061
const AI_WORKER_BATTERY_TOPICS = [
@@ -68,6 +69,12 @@ const AI_WORKER_CAMERA_TOPICS = [
6869
{ label: "Camera (Wrist R)", topic: "/camera_right/camera_right/color/image_rect_raw/compressed" },
6970
] as const;
7071

72+
const AI_WORKER_F1_F2_CAMERA_TOPICS = [
73+
{ label: "Camera (Head)", topic: "/camera_head/camera_head/color/image_raw/compressed" },
74+
{ label: "Camera (Wrist L)", topic: "/camera_left/camera_left/color/image_rect_raw/compressed" },
75+
{ label: "Camera (Wrist R)", topic: "/camera_right/camera_right/color/image_rect_raw/compressed" },
76+
] as const;
77+
7178
const AI_WORKER_ROBOT_TYPE_OPTIONS = [
7279
{ value: "sg2", label: "SG2", config: SG2_CONFIG, robotType: "sg2" },
7380
{ value: "bg2", label: "BG2", config: BG2_CONFIG, robotType: "bg2" },
@@ -101,6 +108,10 @@ export const SYSTEM_PROFILES: Record<string, SystemProfile> = {
101108
leaderTypeOptions: AI_WORKER_LEADER_TYPE_OPTIONS,
102109
batteryTopics: AI_WORKER_BATTERY_TOPICS,
103110
cameraTopics: AI_WORKER_CAMERA_TOPICS,
111+
cameraTopicsByRobotType: {
112+
f1: AI_WORKER_F1_F2_CAMERA_TOPICS,
113+
f2: AI_WORKER_F1_F2_CAMERA_TOPICS,
114+
},
104115
},
105116
open_manipulator: {
106117
label: "Open Manipulator",

0 commit comments

Comments
 (0)