ROS(robot operating system)机器人操作系统,之前跟着古月居学习ROS21讲,学了一遍感觉云里雾里,虽然跟着例程跑了跑小海龟的程序,但是仍不清楚ROS有何用,感觉只会了小海龟。
直到后面我遇到使用双线程后才慢慢明白了ROS的真正作用,才明白真香,ROS给带来的便利很多。比如我既要调用摄像头检测人脸,又要读取IMU数据,那面对这样的两个功能,有两种方法。第一,写一段程序,可以使用两种功能;第二,写两段代码,利用双线程并行运行。但尝试双线程后的我才发现ROS是真香,单双线程就很麻烦,创建线程,开始,再利用queue队列读取线程中的数据,与ROS相比相当麻烦,而且队列存在问题,我往往需要的是最新的数据,而不是储存在队列中的数据。
而ROS可以利用ROS驱动程序发布的话题topic访问硬件设备,每个节点就是一个进程,无论节点数量多少,都可以订阅该话题发布的消息。这种机制降低了计算复杂度,提高了整个系统的可调试能力。
后面有新的体会了我再补充。。。。。