Hardware platform
Hardware platform selection offers a wide variety of options, such as wheeled chassis, bipedal or quadrupedal robots, drones, and more. The technology related to hardware platforms has now become relatively mature—you can either build your own or purchase directly. If you choose the latter, you can refer to the accompanying user manual for specific usage instructions after purchase. Typically, suppliers provide corresponding driver packages; you can simply download, compile, and execute them to drive the hardware platform. Of course, if you opt for a complete robot solution with an integrated onboard computer, the drivers are usually pre-installed, so you can run them directly when needed.
Common development boards used in robot lower-level controllers include STM32, ESP32, GD32, Arduino, 51MCU, and others. (If you don't understand, ask the control team and the circuit team.)
Common methods for communicating with the robot's lower-level development board include serial communication and MicroROS. Please refer to the tutorial above.
We can have the lower-level controller transmit data such as odometry (ODOM), inertial measurement unit (IMU) data, and global positioning (GNSS) data to the upper-level controller. Of course, these devices can also communicate directly with the industrial PC, allowing the industrial PC to process the robot's localization information before passing it all to the lower-level controller.
Below, we need to introduce how this data is transmitted.
Most of the source code I wrote myself is for reference only. If you have a better approach, feel free to share it.
I use the Jazzy version more often, so everything should ultimately reference the Jazzy version. The main difference between Humble and Jazzy is Gazebo; for Gazebo-related code, you can refer to the Humble repository.
https://github.com/CyberNaviRobot/CyberRobot\_ROS2\_Humble\_WS
https://github.com/CyberNaviRobot/CyberRobot\_ROS2\_Jazzy\_WS