micro-ROS / micro-ROS/system_modes

[FEA] Allow all inactive in DEFAULT MODE.

Aberta
#97 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
C++
Estrelas
45
Forks
13
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

#### SHM file

```yaml
# system modes example
---

actuation:
ros__parameters:
type: system
parts:
drive_base
left/manipulator
right/manipulator
modes:
__DEFAULT__:
drive_base: inactive.__DEFAULT__
left/manipulator: inactive.__DEFAULT__
right/manipulator: inactive.__DEFAULT__
LEFT:
# drive_base: active.__DEFAULT__
left/manipulator: active.__DEFAULT__
# right/manipulsator: inactive.__DEFAULT__
RIGHT:
# drive_base: active.__DEFAULT__
# left/manipulator: inactive.__DEFAULT__
right/manipulator: active.__DEFAULT__

left/manipulator:
ros__parameters:
type: node
modes:
__DEFAULT__:
ros__parameters:
max_torque: 0.1

drive_base:
ros__parameters:
type: node
modes:
__DEFAULT__:
ros__parameters:
max_speed: 0.1
controller: PID

right/manipulator:
ros__parameters:
type: node
modes:
__DEFAULT__:
ros__parameters:
max_torque: 0.11

```

#### step to reproduce

```sh
zs@zs-vm-2204:~/zs_ws/ga_ros$ time ros2 service call /actuation/change_state lifecycle_msgs/ChangeState "{transition: {id: 1, label: configure}}"
waiting for service to become available...
requester: making request: lifecycle_msgs.srv.ChangeState_Request(transition=lifecycle_msgs.msg.Transition(id=1, label='configure'))

response:
lifecycle_msgs.srv.ChangeState_Response(success=True)

real 0m2.185s
user 0m0.459s
sys 0m0.086s
```

#### expected behavior

all nodes would be in DEFAULT mode, which is all inactivated

#### actual behavior

![image](https://user-images.githubusercontent.com/17764118/201473046-79fc3047-d99b-4cd7-a65d-11a8f446535a.png)

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece pelo ponto de entrada do serviço ROS 2 /actuation/change_state e reproduza a solicitação de configuração usando o exemplo YAML de modos do sistema. Rastreie como as atribuições do modo __DEFAULT__ são aplicadas e, em seguida, verifique se configurar /actuation mantém drive_base e ambos os manipuladores inativos.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
cpp
Domínio
robotics
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.