0% found this document useful (0 votes)
176 views1 page

Gazebo Ros Control

This document outlines the data flow and components involved in controlling a robot, including controller plugins that are dynamically loaded and called by a controller manager to set control setpoints. These controllers receive data from ROS interfaces and send commands to a hardware interface layer, which enforces joint limits and converts signals to/from the real robot hardware through devices like actuators, transmissions, and an embedded communication bus.

Uploaded by

rorro_mr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
176 views1 page

Gazebo Ros Control

This document outlines the data flow and components involved in controlling a robot, including controller plugins that are dynamically loaded and called by a controller manager to set control setpoints. These controllers receive data from ROS interfaces and send commands to a hardware interface layer, which enforces joint limits and converts signals to/from the real robot hardware through devices like actuators, transmissions, and an embedded communication bus.

Uploaded by

rorro_mr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Control

Controller
e.g. joint_position_controller

Dynamically allocated from loaded controller plugin.

Data flow of controllers

e.g. PID
Controller
list_controllers
load_controller
unload_controller
switch_controller

Controller Manager
Loads, unloads and calls
updates to controllers

ROS Interface
e.g. msg
joint_trajectory

Controller 1

ROS Interface
e.g. msg
joint_position

Controller 2

ROS Interface
e.g. msg
joint_velocity

Controller 3

Set point from


ROS Interface

Hardware Resource Interface Layer


Joint Command Interfaces
e.g. EffortJointInterface

Joint State Interface


e.g. JointStateInterface

Robot Commands
e.g. joint efforts - N.m.

Robot States
e.g. joint states - radians

hardware_interface::RobotHW
Joint Limits
Enforce limits (optional)

(Forward) State
Transmissions
Real mechanical state

Effort Transmissions
Convert from joint
torques to motor torques
update()

write()
Actuator Efforts
e.g. current

read()
Communication Bus
e.g. Ethercat,
Serial, USB

Mechanism States
e.g. encoder ticks

Real Robot
Embedded Controllers
e.g. PID loop to follow
effort setpoint
Optional
Components
Dave Coleman
Updated Jun 20, 2013

Hardware /
Embedded

Actuators
Servos, etc

Encoders
Sensors on the real
robot

You might also like