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.
Simplified ROS graph for single robot on educational center can be seen on image below.
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.
To localize a robot via camera we use /ar_track_alvar package. Robots are marked with tags seen on image below.
For robot localization robot_localization package is used. Robot_localization is ROS implementation of extended Kalman filter. Sources for localization:
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.
ROS navigation package is used to guide the robot to goal.
robot node is implementation of rosinljubljana package.