Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dockerfile build can't run example missions #7

Closed
frogmasta opened this issue Feb 6, 2023 · 5 comments · Fixed by #8
Closed

Dockerfile build can't run example missions #7

frogmasta opened this issue Feb 6, 2023 · 5 comments · Fixed by #8

Comments

@frogmasta
Copy link

frogmasta commented Feb 6, 2023

@clydemcqueen
I've recently decided to use this library to communicate with the BlueROV through ROS2. I built the docker file included in the repository and tried to execute the example mission provided in the documentation. It worked fine at first until all of a sudden there was a TCP error. I've copied the relevant error messages below.

[controller_server-14] [INFO] [1675701766.523667448] [controller_server]: Passing new path to controller.
[ardusub-2] ERROR: Floating point exception - aborting
[ardusub-2] Running: sh dumpstack.sh 85909 >dumpstack.sh_ardusub.85909.out 2>&1
[ardusub-2] Failed
[ardusub-2] Running: sh dumpcore.sh 85909 >dumpcore.sh_ardusub.85909.out 2>&1
[ardusub-2] Failed
[mavros_node-8] Error: mavconn: tcp0: receive: Connection reset by peer
[mavros_node-8] at line 283 in ./src/tcp.cpp
[mavros_node-8] Error: mavconn: tcp0: shutdown: Transport endpoint is not connected
[mavros_node-8] at line 194 in ./src/tcp.cpp
[ERROR] [ardusub-2]: process has died [pid 85909, exit code -6, cmd 'ardusub -S -w -M JSON --defaults /home/orca4/colcon_ws/install/orca_bringup/share/orca_bringup/cfg/sub.parm -I0 --home 33.810313,-118.39386700000001,0.0,270.0'].
[mavros_node-8] Error: mavconn: tcp0: send: channel closed!
[mavros_node-8] at line 234 in ./src/tcp.cpp

What's the cause of this error? Thanks.

@clydemcqueen
Copy link
Owner

Thanks for the report!

The first error is the floating point exception in ArduSub. mavros is unhappy after the TCP connection is lost.

I am not sure why this is occurring, but it may be related to: clydemcqueen/bluerov2_ignition#5

You may be able to fix this by copying the changes in that PR to:

<!-- Second order stability derivative: -->

I am away from my workspace this week. I'll take a deeper look next week.

@frogmasta
Copy link
Author

frogmasta commented Feb 7, 2023

Hi Clyde!

Thanks for looking into it a bit. Unfortunately, it didn't seem to fix the issue as I received the same Floating Point Exception.

I'm copying below another error message I just got. I realized that every time it crashed it was right after attempting to initialize the odometry.

mavros_node-8] [INFO] [1675795855.387838482] [mavros.sys]: FCU: EKF3 IMU0 yaw aligned
[manager-9] [INFO] [1675795858.836524125] [manager]: setting message rates to 20 hz every 10s
[mavros_node-8] [INFO] [1675795858.955341551] [mavros.imu]: IMU: Attitude quaternion IMU detected!
[base_controller-10] [INFO] [1675795859.058081915] [base_controller]: EKF is running, state => RUN_NO_MAP
[manager-9] [INFO] [1675795859.058799056] [manager]: EKF is running
[base_controller-10] [INFO] [1675795859.082343166] [base_controller]: initialize odometry to {{-0.000138908, -0.000141547, -0.183731}, {0, 0, -5.75734e-05}}
[ardusub-2] ERROR: Floating point exception - aborting
[ardusub-2] Running: sh dumpstack.sh 285661 >dumpstack.sh_ardusub.285661.out 2>&1
[ardusub-2] Failed
[ardusub-2] Running: sh dumpcore.sh 285661 >dumpcore.sh_ardusub.285661.out 2>&1
[ardusub-2] Failed
[mavros_node-8] Error:   mavconn: tcp0: receive: Connection reset by peer
[mavros_node-8]          at line 283 in ./src/tcp.cpp
[mavros_node-8] Error:   mavconn: tcp0: shutdown: Transport endpoint is not connected
[mavros_node-8]          at line 194 in ./src/tcp.cpp

Hope you can take a look next week!

@Codaero
Copy link

Codaero commented Feb 9, 2023

Yes I am also getting a floating point exception 10-20 seconds after running sim_launch.py

@clydemcqueen
Copy link
Owner

I was able to fix this by copying the SDF changes, see the linked PR.

It would be nice to catch the overflow in ArduSub & not crash, but I'll leave that for another day.

@frogmasta
Copy link
Author

Thanks Clyde, the fix worked! I'll mark this issue as closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants