UNav-Sim
UNav-Sim copied to clipboard
Ardusub SITL etc.
Question
What's your question?
Hi!
I trying to evaluate whether the project I'm working on should switch from gazebo to UNav-Sim/Airsim.
We were interacting with simulated BueROV2s using Ardusub SITL from ROS2 through mavros before. We would like to be able to do something similar in Unreal to make sure that our software can run on real hardware, not just in the simulator. Does anyone here know if that is supported in this project? Is this guide applicable?: https://ardupilot.org/dev/docs/sitl-with-airsim.html
Also: How does the ROS2 integration work? Any ETA for the maps you used in the paper? (If they are being released at all?)
Include context on what you are trying to achieve
Multi domain, multi robot simulation to support the development of real world demonstrations.
I had some initial problems, but seem to have gotten the UNav-Sim started on ubuntu 22.04 at least!
Hi,
-
Regarding SITL its still not being integrated unfortunately. We would like to have it integrated as it would facilitate hardware deployment as you have mentioned.
-
UNav-Sim is compatible with ros2 similar to Airsim. Follow Airsim instructions on how to setup a colcon ws and run a ros node.
-
Regarding the pipe underwater scene that we used in our simulations, unfortunately it's not open-source since it has some paid assets. You can recreate the pipe scenario using these free to use assets in UE market place https://www.unrealengine.com/marketplace/en-US/product/01704eb934564d2fae021e419fca7c3a?sessionInvalidated=true. Also the water is a free plugin in UE5.
Thank you @abdelhakim96!
Regarding SITL its still not being integrated unfortunately. We would like to have it integrated as it would facilitate hardware deployment as you have mentioned.
I may be able to spend some time getting it integrated if it seems relatively straightforward. Any tips on where in the code to get started? Any comments about what's currently not working/not working?
UNav-Sim is compatible with ros2 similar to Airsim. Follow Airsim instructions on how to setup a colcon ws and run a ros node.
I tried building the ros2 workspace in UNav-Sim and running the following commands:
ros2 launch airsim_ros_pkgs airsim_node.launch.py
ros2 topic pub /airsim_node/RovSimple/pwm_cmd airsim_interfaces/msg/PwmCmd "{pwmvals: [500, 500, 500, 500, 500, 500, 500, 500]}"
I'm not sure about the what size of values I should publish to get the propellers to start moving, but I tried a few different ones and can't get anything to happen. The ROV is just floating and not moving.
Am I doing something wrong, or is it not working as it should?
I can echo the imu and view the image topic on /airsim_node/RovSimple/front_right_custom/Scene, so the ROS2 connection is at least working partially.
Regarding the pipe underwater scene that we used in our simulations, unfortunately it's not open-source since it has some paid assets.
Makes sense. Thanks for the info!
I finally got the ROV moving a bit by building your HelloRov example!
Comments in the code suggest that it should be moving in i circular path, but does not seem to be doing that on my system:
Still no luck getting it to respond to PwmCmd from ROS2...
Hi,
Sorry for the late response, I just got back from holidays. :)
Regarding ROS2 not working, I'm not entirely sure what might be causing the issue. I will need to test the setup to investigate further. In the meantime, if you have access to ROS1, could you check if the same problem occurs there? We've tested the control extensively in ROS1.
It's great to hear that you managed to get the example running. The example is designed to follow a circular trajectory. Initially, it moves to a specific point before starting the circular motion. If you wait a bit longer, you should see it moving in a circle. While the controller can be tuned for better performance, the primary goal of this example is to demonstrate interfacing with the ROV.
Regards,
@samiamlabs hi, can you help me how to run HelloROV? I'm running this project on Ubuntu 22.04. And any clue to use PythonAPI? Thank you