Skip to content

mgmateus/controller_PD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stage_Controller package

Autor: Matheus Gonçalves (157142)

Esse pacote contem um arquivo launch que inicia o simulador 2D Stage e o nodo controller_PD para fazer o robô chegar no alvo desejado.


Pré-requisitos


scripts/diferencial_PD.py

Foi implementado uma classe que, a partir da leitura do laser e da posição do robô no mundo, se movimenta em direção ao alvo solicitado, desviando de obstáculos se estiverem no seu caminho.

  • Para a movimentação foi utilizado um Controle Proporcional Derivativo para a posição do veículo, onde as constantes kp e kd podem ser alteradas nos parâmetros do launcher
  • Para o desvio de obstáculos se dividiu os feiches do scanner pela metade centralizado-o a partir do centro do robô, se obtendo assim um cone centralizado. Foi implementado a estratégia de rotacionar na direção oposta à que tiver a menor leitura do scan.

Informações do robô:

  • A posição do robô é atualizada a partir da leitura do tópico passado via parâmetro para topic_odom;
  • A leitura do sensor é atualizada a partir da leitura do tópico passado via parâmetro para topic_lidar;
  • A movimentação do robô

Vídeo

Como rodar

  1. Crie um workspace com o diretório src:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
  1. Clone o pacote dentro da pasta workspace/src
$ git clone [email protected]:mgmateus/controller_PD.git
$ cd ~/catkin_ws
  1. Compile o pacote
$ catkin build

3.1. Se estiver usando bash

$ source devel/setup.bash

3.2. Se estiver usando zsh

$ source devel/setup.zsh
  1. Inicie o launcher
$ roslaunch controller_PD launcher.launch 
  1. Para modificar as posições alvo, alterar os valores para target_x e target_y
$ roslaunch controller_PD launcher.launch target_x:=-1.0 target_y:=2.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published