Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Problem changing the system modes when there are rules

Đang mở
#94 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
cpp
Lĩnh vực
robotics

Hướng nghiên cứu

Bắt đầu bằng việc xem xét các quy tắc system-mode và hành vi cấu hình lại top-down được mô tả trong issue. Xác định liệu một lệnh có thể chuyển hệ thống từ COMPROMISED sang DEFAULT trong khi quy tắc bảo vệ vẫn được áp dụng hay không; được xem là hoàn tất khi hành vi được hỗ trợ hoặc giới hạn của nó được ghi lại và được bao phủ bởi một bài kiểm thử phù hợp.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hi all

I am trying to use system modes for a system composed of these nodes: {nav2, manipulator, camera, guard}. guard is a special node that detects if the system has been compromised. In this case, all the nodes should be in mode COMPROMISED and camera in the inactive state. The specification is:

# system modes safety benchmark
---

safety:
  ros__parameters:
    type: system
    parts:
      manipulator
      nav2
      camera
      guard
    modes:
      __DEFAULT__:
        manipulator: active.__DEFAULT__
        nav2: active.__DEFAULT__
        camera: active.__DEFAULT__
        guard: active.__DEFAULT__
      COMPROMISED:
        manipulator: active.COMPROMISED
        nav2: active.COMPROMISED
        camera: inactive.COMPROMISED
        guard: active.COMPROMISED
    rules:
      guard_detect_compomise_in_default:
        if_target: active.__DEFAULT__
        if_part: [guard, active.COMPROMISED]
        new_target: active.COMPROMISED
      guard_detect_default_in_compromise:
        if_target: active.COMPROMISED
        if_part: [guard, active.__DEFAULT__]
        new_target: active.__DEFAULT__

manipulator:
  ros__parameters:
    type: node
    modes:
      __DEFAULT__:
        ros__parameters:
          max_torque: 0.5
      COMPROMISED:
        ros__parameters:
          max_torque: 0.1

nav2:
  ros__parameters:
    type: node
    modes:
      __DEFAULT__:
        ros__parameters:
          forbidden_areas: false
      COMPROMISED:
        ros__parameters:
          forbidden_areas: true

guard:
  ros__parameters:
    type: node
    modes:
      __DEFAULT__:
        ros__parameters:
          compromised_system: false
      COMPROMISED:
        ros__parameters:
          compromised_system: true

camera:
  ros__parameters:
    type: node
    modes:
      __DEFAULT__:
        ros__parameters:
          use_sim_time: false
      COMPROMISED:
        ros__parameters:
          use_sim_time: false

If I change the mode of guard, all the system reacts as I want. BUT if I want to command all the system to go from COMPROMISED to __DEFAULT__ I can't do it because guard is COMPROMISED, and that doesn't let the system reconfigure to __DEFAULT__.

Is there any way to combine the bottom-up rules with the possibility of changing the system mode (an up-bottom reconfiguration)?

Thanks!!

Ngôn ngữ chính
C++
Star
45
Fork
13
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của micro-ROS/system_modes

Tất cả issue của micro-ROS/system_modes

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.