Main Concepts

Main Concepts

Coordinate Frames

Coordinate orientation of mobile robot frames is compliant with REP103. Coordinate frame tree for mobile robots is compliant with REP105. Robot transformation graph can be seen on image below. In our case robot_#/odmo is fixed to robot_#/map frame.

ROS graph

Simplified ROS graph for single robot on educational center can be seen on image below.

Robot_control node

robot_control node is run on mobile robot. Its task is to convert incoming twist message from move_base to wheel velocity and transmit measured velocity from encoders and measurements from imu.

ar_track_alvar

To localize a robot via camera we use /ar_track_alvar package. Robots are marked with tags seen on image below.

Robot localization

For robot localization robot_localization package is used. Robot_localization is ROS implementation of extended Kalman filter. Sources for localization:

  • twist0: measured velocity from robot's encoders
  • imu0: measurements from robot's imu
  • pose0: measured position from ar tags

For calculation of robot location covariance of individual source is taken into consideration.

Robot localization parameters can be changed by modifying spawn_robot.launch or spawn_robot_gazebo.launch and by modifying individual measurement source.

Move base

ROS navigation package is used to guide the robot to goal.

robot

robot node is implementation of rosinljubljana package.



rosinljubljana
Author(s): Igor Banfi
autogenerated on Mon Feb 24 2020 12:32:36