Skip to content

Instantly share code, notes, and snippets.

@Dayof
Created May 15, 2018 04:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Dayof/4dfa43d04ac1e73e4807d3abab035014 to your computer and use it in GitHub Desktop.
Save Dayof/4dfa43d04ac1e73e4807d3abab035014 to your computer and use it in GitHub Desktop.

Programação concorrente - Trabalho 1

  • Problema de software de controle de robótica cirúrgica

Entidades :

  • 3 motores (3 graus de liberdade)
  • 1 software de controle
  • 1 joystick com 6 direções de movimento
  • buffer com espaço M

Problema :

  • Para movimentar um robô cirúrgico é necessário alguma interface que indique as direções para ele se mover, no caso será utilizado um joystick com 6 direções.

Para controlar os motores é usado uma interface com joystick e os motores, denominado por software de controle. Ele é responsável por informar aos motores qual direção o joystick enviou a ele, recebe dos motores se eles estão desconectados ou conectados e armazena em um buffer uma fila de comandos a serem executados.

Quando uma direção for acionada no joystick o motor só irá se movimentar se estiver conectado e se não estiver com outro movimento em execução.

Caso algum movimento esteja em execução então o software de controle irá guardar em um buffer de M espaços uma fila de direções acionadas. Ele irá executar os movimentos na fila do buffer de acordo com que as execuções dos movimentos forem finalizando.

Se o buffer estiver cheio então novas entradas não serão aceitas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment