TechTheTime-HighLevel 0.0.1
The high level robot's code using ros2-foxy for the robotics competition(Erobot-2022)
TechTheTime-HighLevel

Introduction:

This is the high level code for the autonomic robot designed to participate in Erobot2022 robotics cup. It is developed using ROS2(foxy) and has 5 nodes:

  • microcontroller_proxy
  • manager
  • robot_vision
  • motion_control
  • urg_node

Each node is represented by doxygen module. Each class contains a reference back to its module/node.

You have the brief description and the reference to each node below.

microcontroller_proxy

microcontroller_proxy node is used to ineteract with microcontroller. It treats orders coming from other nodes and then transforms them and sends them to the microcontroller. In the case of motion orders, it provides a feedback from the microcontroller.

Link to the microcontroller_proxy

manager

manager node is responsible for the orders distribution and robot's position tracking. It sends data to the motion_control node and requests robot_vision and microcontroller_proxy nodes to execute some orders. It takes the user action script as input.

Link to the Manager node.

robot_vision

robot_vision is responsible for image processing, distance measuring and aruco tag scanning. It receives requests from manager.

motion_control

motion_control is responsible for area scanning, path finding and sending basic orders to the microcontroller_proxy node.

Link to the motion_control.py

urg_node

urg_node is a default ROS2 node, which publishes the points data of lidar.




You have a complete diagram of high level functionning below.

The high level diagram:





The example of functionning of the manager <-> microcontroller_proxy communication.