• Nenhum resultado encontrado

Uso de Controladores no ROS

N/A
N/A
Protected

Academic year: 2021

Share "Uso de Controladores no ROS"

Copied!
20
0
0

Texto

(1)

Uso de Controladores no ROS

Walter Fetter Lages

[email protected]

Universidade Federal do Rio Grande do Sul Escola de Engenharia

Departamento de Sistemas Elétricos de Automação e Energia ENG10026 Robótica A

(2)

Introdução

Pacote para descrever e implementar

controladores no ROS

A definição de controlador do ROS não é a

clássica de Sistemas de Controle

Módulo que é carregado pelo gerenciador de

controladores

Não necessariamente implementa um

controlador

Existem alguns controladores já

implementados no ROS (PID)

(3)

Estrutura do Pacote

mob_controllers/

CMakeLists.txt

launch/

bypass.launch

joint_velocity.launch

config/

bypass.yaml

joint_velocity.yaml

package.xml

(4)

Dependências

ros_control

control_toolbox

controller_interface

controller_manager

hardware_interface

joint_limits_interface

transmission_interface

realtime_tools

sudo apt−get install ros−indigo−ros−control

(5)

Dependências

ros_controllers

effort_controllers

joint_effort_controller

joint_position_controller

joint_velocity_controller

position_controllers

joint_position_controller

velocity_controllers

joint_velocity_controller:

joint_state_controller

(6)

Dependências

robot_model

kdl_parser

robot_state_publisher

Já instalado no ROS desktop

orocos_kdl

Já instalado no ROS desktop

(7)

Dependências

gazebo_ros_pkgs

gazebo_ros_control

sudo apt−get install ros−indigo−gazebo−ros−pkgs ros−indigo− gazebo−ros−control

(8)

Criação do Pacote

source /opt/ros/indigo/setup.bash

source $HOME/catkin_ws/devel/setup.bash cd ~/catkin_ws/src

catkin_create_pkg mob_controllers

(9)

package.xml

Editar o arquivo

mob_controllers/package.xml

Descrição

Mantenedor

Licença

Autor

Dependências

build_depend

run_depend

(10)

package.xml

<buildtool_depend>catkin</buildtool_depend>

<build_depend>controller_interface</build_depend> <build_depend>effort_controllers</build_depend> <run_depend>controller_interface</run_depend> <run_depend>controller_manager</run_depend> <run_depend>effort_controllers</run_depend>

<run_depend>joint_state_controller</run_depend>

(11)

Reconfigurar o Ambiente

cd ~/catkin_ws catkin_make

(12)

Gráfico de Computação

Com controlador

(13)

Simulação em Malha aberta

mob_controllers/launch/bypass.

launch

<launch>

<arg name="paused" default="true"/>

<include file="$(find mob_description)/launch/gazebo.launch"> <arg name="paused" value="$(arg paused)"/>

</include>

(14)

Simulação em Malha aberta

<node name="controller_spawner" pkg="controller_manager" type

="spawner" respawn="false"

output="screen" ns="/mob" args=" left_wheel_joint_effort_controller

right_wheel_joint_effort_controller joint_state_controller"/> </launch>

(15)

bypass.yaml

mob_controllers/config/bypass.

yaml

mob: joint_state_controller: type: joint_state_controller/JointStateController publish_rate: 100

(16)

bypass.yaml

left_wheel_joint_effort_controller: type: effort_controllers/JointEffortController joint: left_wheel_joint right_wheel_joint_effort_controller: type: effort_controllers/JointEffortController joint: right_wheel_joint

(17)

Simulação com PID de Velocidade

mob_controllers/launch/joint_

velocity.launch

<launch>

<arg name="paused" default="true"/>

<include file="$(find mob_description)/launch/gazebo.launch"> <arg name="paused" value="$(arg paused)"/>

</include>

(18)

Simulação com PID de Velocidade

<launch>

<arg name="paused" default="true"/>

<include file="$(find mob_description)/launch/gazebo.launch"> <arg name="paused" value="$(arg paused)"/>

</include>

<rosparam file="$(find mob_controllers)/config/joint_velocity.yaml"

command="load"/>

<node name="controller_spawner" pkg="controller_manager" type

="spawner" respawn="false"

(19)

joiny_velocity.yaml

mob_controllers/config/joint_

velocity.yaml

mob: joint_state_controller: type: joint_state_controller/JointStateController publish_rate: 100

(20)

joiny_velocity.yaml

left_wheel_joint_velocity_controller: type: effort_controllers/JointVelocityController joint: left_wheel_joint pid: {p: 0.0, i: 0.0, d: 0.0} right_wheel_joint_velocity_controller: type: effort_controllers/JointVelocityController joint: right_wheel_joint pid: {p: 0.0, i: 0.0, d: 0.0}

Referências

Documentos relacionados

Por conta disso, preocupados com a extinção deste campo de dunas e seus ecossistemas adjacentes, e para que estes se conservem para usufruto das próximas

Em casos excepcionais de iliquidez dos ativos financeiros componentes da carteira do FUNDO, inclusive em decorrência de pedidos de resgates incompatíveis com a liquidez existente,

Tem-se, portanto, que a partir do momento em que o Direito se mostra incapaz de alcangar seus objetivos, como, por exemplo, definir os fenomenos que deseja regular, ou ate

Moreover, the results obtained for both time panels (before and after the crisis) show that reverse causality ( running from economic growth to public debt) is not only negative

Tendo sido o foco deste estudo a população sem queixa vocal, seria esperado que, nos casos de alterações vocais presentes, essas fossem decorren- tes mais de alterações irritativas

para fazer cumprir o disposto no Memorando de Entendimento estatuía critérios demasiado vagos, ob.. 25 Da definição de discriminação indireta prevista no artigo 23.º, nº1,

7 – Contribuições do capítulo: os sujeitos e as palavras como fonte sócio-histórica .... Capítulo IV - COM A PALAVRA, OS SUJEITOS DA INVESTIGAÇÃO: REVELANDO E

O objectivo do presente estudo centra-se em comparar a diversidade e estrutura da comunidade de macroinvertebrados bentónicos associados à espécie invasora não