I Is it worth learning ros to make AUV or what advantages can it offer?
ROS is great if you don’t have a specific expertise to add advanced algorithms or intregration with custom hardware.
But as someone said to me once, ROS is great if you don’t have a domain field on the task that ROS is performing. For everything else, I would recommend to isolate from ROS and use it only when necessary.
You could also use ROS for the entire abstraction of the system if you want to reach high level goals, but it’s something that depends on the scope of the project, personal experience, expertise and more.
If you are new to ROS, I also highly recommend to follow the tutorial from point to point, it’s truly important to follow.
Thanks for your reply. I did a turtlebot waflle with jetson and arduino due for beginner project. I used gazebo and rviz for simulation. Actually I am a beginner for ros but there is something that I want to ask to you. How AUV software works with a task requires multithreading. I use Python and Pymavlink Libraries in our rov but should I use a threading or ROS for multithreading in tasks.
Well, usually, each ROS service is considered one thread, of course that is not written in stone, you can have a single services with multiple threads if performance and parallelism is necessary.
There is no right answer, I would recommend to do what you can do and has the expertise isolated from ROS and connect only the parts that you’ll need ROS services.
For python, you can also use async, take a look at this example: Example of using asyncio to run multiple mavlink components · GitHub