BlueRov2 heavy return phenomenon by using rostopic command and mavros package

Dear All,

I try to use mavros and rostopic to send a command to the robot. In mode GUIDED, after using arm throttle, the command sending and execution are no problem, but the BlueRov2 will not stop at the goal, then it will go back at once.
Please look at the gif.
test_1018-1

My rostopic command is below:
rostopic pub -1 /mavros/setpoint_velocity/cmd_vel geometry_msgs/TwistStamped “header: auto
twist:
linear:
x: 1.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0”

About mavros, I use melodic version (using apt-get ros-melodic-mavros to install). I also complie the bluerov_ros_playground package with (GitHub - patrickelectric/bluerov_ros_playground: Scripts to help BlueRov integration with ROS)

So, please help me to solve the return problem of blueRov2. I want it to stop at the goal that I send. By the way, I also use mavproxy command, which is no problem to control it with position x, y, z command.

Hi @piggy2008,

Is this the same as your previous issue? If so, please try updating to the latest development (not stable or beta) ArduSub firmware to see if it fixes your issue.

Thanks for your help. Yes, it is the same problem as my previous one. But, this time, I analyze the source code of the packages that I am using. I find that this rostopic command is sent at the final stage to control ROV. So, this time, I directly test the command. So, the return problem is still existing. Do you mean the ArduSub version will affect the control of the ROV command?

As @williangalvani described in your original post,

That pull request has been merged into the master branch, but is not yet in a tagged release. You can access the changes by installing the latest development firmware.

Sorry, I tested the new version ArduSub last week. I think it works. The new version fixes the “springy” behavior.
Thanks a lot.
However, I found a new problem. When ROV is under the water, the moving of ROV is good by using rostopic command. But, when the ROV floated on the surface of the water, the command control doesn’t work. Is it normal?

Glad to hear it :slight_smile:

I don’t have experience with ROS, and you haven’t specified enough information about what you’re trying to do for us to be able to help you. As a few questions to clarify:

  1. What are you trying to achieve?
  2. Is the vehicle armed when it’s at the surface?
  3. What command(s) are you sending to try to control it?
  4. Do you have a telemetry log or similar, where you/we can identify what you were sending and what you expected to change that didn’t?