机器人项目研发
Your current location: Home >> News >> Technical Information

ContactContact Us

Shenzhen Huiwen smart technology co.,LTD.

Tel: 13510191727

Email: james@huiwen-ai.com

Website: www.huiwen-ai.com

Address: Building A, 1st Floor, Tianyou Maker Industrial Park, No. 2 Lixin Road, Qiaotou Community, Fuhai Street, Bao'an District, Shenzhen City, Guangdong Province, China.

What is the role of the ROS system in robot development?

2023-03-28 H:02:33
second

Unified development interface:

Similar to the operating system shielding the interaction between users the underlying hardware, users only need to call the operating system's interface to control the underlying hardware, while the ROS system shields the connection between users the operating system. Users only need to call the interface provided by the ROS system to develop robot applications.

Developers only need to learn the standard interface of the ROS system to complete the development of the robot, so they do need to understand the development functions at the operating system level in detail. Moreover, there are currently multiple underlying operating systems (Windows, Linux, Mac), developers do need to spend extra time learning different operations.

Middleware for data communication:

Many people only emphasize the subscribe publish of messages when explaining ROS as a data communication middleware. In fact, this is only part of data communication. As shown in the figure below, data communication also occurs between service providers requesters. The difference between the two can be simply understood as the two must maintain a connection when the services interact, but messages do need to maintain a connection when they interact. The two can be roughly analogous to the difference between TCP UDP in network communication.

Taking drones as an example, a ROS system is built on an onboard computer. The developed application publishes navigation information by sending the navigation coordinates to Mavros (the Mavlink protocol encapsulated by the ROS system, used to communicate with drones) in the form of a message. If the flight status of the drone needs to be changed, the service provided by Mavros is called, the next step is performed only after the change is successful.

Decouple development:

Nowadays, robot development is done by one two people alone, but by a team. Especially for large-scale robot projects , the robot needs to be split into multiple modules. Each module is responsible for a complete function independently. Each module can be split into multiple nodes. Each node completes a specific task independently. In this way, the purpose of development decoupling can be achieved. Development only needs to distribute tasks, define interfaces, finally combine all nodes function packages to complete all functions of the robot.

Avoid reinventing the wheel:

Thanks to developers around the world, the ROS ecosystem has developed rapidly. Many selfless developers in the community have made their own applications open source to all developers for free. For example, if a developer needs a PID controller, they only need to download ( slightly modify) the open source code of others then compile it to use it directly. They only need to simply adjust a few controller parameters to achieve the desired function, thus avoiding repeated development allowing developers to focus on developing new functions.


Label