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

Failed to load ArduPilot plugin for BlueROV2 model #19

Closed
rakeshv24 opened this issue Sep 10, 2024 · 1 comment · Fixed by #20
Closed

Failed to load ArduPilot plugin for BlueROV2 model #19

rakeshv24 opened this issue Sep 10, 2024 · 1 comment · Fixed by #20
Assignees
Labels
bug Something isn't working

Comments

@rakeshv24
Copy link
Collaborator

rakeshv24 commented Sep 10, 2024

Issue Summary

The ArduPilot plugin is not loading correctly when testing the BlueROV2 model in the Docker environment. We need to resolve this error to ensure proper functionality.

Details

  1. The BlueROV2 models have been added, but the ArduPilot plugin does not load properly — [Err] [SystemLoader.cc:92] Failed to load system plugin [libArduPilotPlugin.so]: Could not find shared library.
  2. The ardupilot and ardupilot_gazebo are installed in the Docker image at /opt/ardupilot_dave/ in an attempt to resolve the above error.

Conversation Summary

  1. Prerequisites such as libgz-sim8-dev, rapidjson-dev, libopencv-dev, and gstreamer are also required and need to be added to the installation script.
  2. Further testing has shown thatmavros is needed, and possibly mavros_extra_plugins as well.
  3. The USER permissions on the Docker image for Mac are incorrect, and ROS2 is not sourced upon startup.

Commands for Testing BlueROV2 Model

Step 1: Pull the recent docker image

For Ubuntu:

docker pull ioeslab/dave:ros2
docker tag ioeslab/dave:ros2 dave:latest
source ~/dave_ws/dave_venv/bin/activate
cd ~/dave_ws/src/dockwater
./run.bash dave:latest

For Mac:

docker pull ioeslab/dave:ros2-arm-rdp
docker tag ioeslab/dave:ros2-arm-rdp dave:latest
source ~/dave_ws/dave_venv/bin/activate
cd ~/dave_ws/src/dockwater
./run.bash -r dave:latest

Step 2: Launch BlueROV2 model

git checkout robot_launch
cd ~/dave_ws
colcon build && source install/setup.bash
ros2 launch dave_demos dave_robot.launch.py z:=-5 namespace:=bluerov2 world_name:=dave_ocean_waves paused:=false
@rakeshv24 rakeshv24 added the bug Something isn't working label Sep 10, 2024
@woensug-choi
Copy link

woensug-choi commented Sep 19, 2024

With ioeslab/dave:ros2-arm-rdp (which is for Apple SiliconMac with RDP) and ioeslab/dave:ros2 (Ubuntu AMD64)

1. Basic Arudpilot control test (REF: https://ardupilot.org/dev/docs/sitl-with-gazebo.html#iris-quadcopter)

# Terminal 1 :
gz sim -v4 -r zephyr_runway.sdf
# Terminal 2 : (includes --model JSON)
sim_vehicle.py -v ArduPlane -f gazebo-zephyr --model JSON --map --console
# STABILIZE> mode guided
# GUIDED> arm throttle
# GUIDED> takeoff 5

image

2. Bluerov (as it is with -M JSON at robot_config.py's ardusub_cmd

  • At robot_launch branch
    ros2 launch dave_demos dave_robot.launch.py z:=-5 namespace:=bluerov2 world_name:=dave_ocean_waves paused:=false   
  • Error msg:
    [ardusub.parm -IO --home 44.65870,-124.06556,0.0,270.0-5] No JSON sensor message received, resending servos

3. Bluerov (Modified to use -M gazebo)

  • At robot_launch branch
    • Modify -M JSON at robot_config.py's ardusub_cmd to -M gazebo
    ros2 launch dave_demos dave_robot.launch.py z:=-5 namespace:=bluerov2 world_name:=dave_ocean_waves paused:=false   
  • No error msg! Hurray 👍

4. Bluerov (Remove ardusub_process and run sim_vehicle.py instead)

  • At robot_launch branch
    • Remove ardusub_process at robot_config.py
    • First Terminal
    ros2 launch dave_demos dave_robot.launch.py z:=-5 namespace:=bluerov2 world_name:=dave_ocean_waves paused:=false   
    • Second Terminal (Again, without --model JSON)
    sim_vehicle.py -v ArduSub --add-param-file=/home/docker/HOST/dave_ws/src/dave/models/dave_robot_models/config/bluerov2/ardusub.parm --console --map
    
    Screenshot 2024-09-19 at 21 29 43
    • Was able to arm throttle and disarm. But failed to mode guided complaining GUIDED requires position (which means no GPS)
    • Was also able to view it's depth
      image

@rakeshv24 FYI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants