-
Notifications
You must be signed in to change notification settings - Fork 13
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 Install GISNav, Multiple packages found #92
Comments
Thank you for reporting the issue - I will probably have some time to look at this one next week. I will try to get back to you then. My initial hunch would be that you perhaps have an older copy of If you want to build the newer message definitions you could try removing |
I figured the same thing, I tried to delete |
I tried this in a fresh ROS 2 Humble container (
Todo:
Notes:
|
Interesting, I had always been trying to set up GISNAV on Ubuntu 20.04 (as suggested in the Documentation). I saw the choice between Foxy and Humble on the Documentation page, and always assumed if im on 20.04, I should be working with Foxy. Edit: I just tried to install Humble on 22.04, I think I have to build from source? Or should I switch to Ubuntu 22.04? |
Some more context for the Foxy/Humble situation: The current GitHub pages guide (gisnav.org) for the latest release 0.64 recommends Ubuntu 20.04 and ROS 2 Foxy in line with PX4 recommendations from one year ago when the release was made - that was also my development system back then. Since then Foxy has reached end of life, but we still need Foxy for the PX4 "Gazebo Classic" SITL simulation. This is because PX4's Gazebo Classic SITL simulation has the Typhoon H480 model with a simulated 3-axis gimbal and video stream that is difficult to replace if you want to make a nice mock GPS demo. PX4 seems to already support Ubuntu 22.04 with their 1.14 release and once the SITL simulation situation is somehow resolved I think GISNav should also go with that version of Ubuntu for the So while the GISNav ROS 2 package itself already works with Ubuntu 22.04 and ROS 2 Humble, for the PX4 SITL simulation we need an Ubuntu 20.04 / ROS 2 Foxy system. With Docker containers this should not be a major issue - I think GISNav has made a lot of progress in moving all its supporting services from a monolithic single container into dedicated containers since that last 0.64 release was made. These services are all orchestrated via I'm currently working on a major refactoring on the |
The 0.64 release had On the current |
Thank you for the detailed explanation, looking forward to the updated documentation!
Of course! I forgot to checkout with the 0.64.0 tag. Thank you! |
Another issue came up, when pip installing requirements, pyproj-3.2.1 always raises errors. I previously dealt with this issue by installing an older version of cython (0.26.0) but I can't seem to install older versions of cython on this docker image (which might be a python version issue). I hope the revised document will also include the recommended version of Python! |
I have successfully got the docker running, but in QGC the bottom left window is saying waiting for video and its giving me: qgc-1 | VideoReceiverLog: gst_element_factory_make() for data source failed |
Thank you for finding this issue! To study this I updated the QGC service to use Ubuntu Jammy instead of Focal and managed to get the video feed displaying in the QGC UI. In this case this was undesirable since with QGC occupying the UDP port, gscam was now unable to bridge that video feed into ROS which is what we actually want. So I might hold off on updating the QGC service to Jammy for now even though it technically fixes this bug. Generally to troubleshoot these kinds of issues you could check that the video stream is available on your host with gstreamer. Run the following command when the PX4 SITL simulation is running (this is the same launch string that is used by the
You should be seeing the simulated video feed. Some commands to help you verify the video stream is being published to ROS by gscam:
If you feel like some GUIs or windows are not appearing, you might also want to check that your X server is exposed to your containers, you can do that with
Or if you are feeling dangerous, you can also just do
|
After running: I can see the video feed. So to resolve this for now, should I updated the QGC service to use Ubuntu Jammy instead of Focal? How should I do this? |
I opened another MR to solve this issue here: #94 To view the video stream in QGC one would just need to configure QGC to use port 5601 instead of 5600. I will next see if I can do that by default in the Docker container. |
Sorry but I'm still a little confused, does the bug affect gisnav demo? I successfully started the docker with "docker compose up....", should i run the demo using "make -C docker demo"? |
This bug should not affect the demo, only the visibility of the video feed in the QGC UI. |
Does After running
|
I have managed to successfully run
Also, the RViz window, which I assume should be the window to display ortho image, is just a black stage with grids. |
Nice to hear you got the simulation running! Unfortunately I currently do not have a solution for the failsafes triggering when you turn off the simulated GPS. Some time after I made the demo video the PX4 EKF was updated so that it no longer worked with the old mock GPS messages - I suspect it's because the EKF now requires a velocity estimate here https://github.com/PX4/PX4-Autopilot/blame/main/src/modules/ekf2/EKF2.cpp#L2375-L2382 which GISNav's MockGPSNode does not compute. I've thought about adding a filter to compute the velocity estimate and variances from the position estimates based on some simple state model in GISNav but no concrete plans yet since these are downstream of what I'm now working on (I'm currently working on setting up Docker bridge networks to isolate related services so that they would not have to share the same host network to have a bit better security and modularity). On some of the other issues you mentioned:
|
I see, so if I run v0.65, should the demo be working? What is your suggestion if I want a working demo to play with? |
The solution is probably a combination of modifying the PX4 EKF2 related parameters to try to increase tolerances (responsibly and in moderation) to different kinds of variation and delays in the GPS signal, and updating what goes in the MockGPSNode outgoing message. The latter I think requires more thought and will ultimately depend on what version of PX4 you will be targeting in the future. I am unfortunately not working on this yet since I expect there to be multiple releases of PX4 before GISNav is mature enough to spend more development effort on the integration. |
I see, but since the demo used to work, is it possible to roll back to an older version of PX4 to fix this issue for now? |
I created #109 to track this issue since it is not related to installation. Please see my response there. |
Release 0.67.0 should fix these installation issues and improve the situation with the failsafes triggering in SITL simulation. So I am closing this issue but of course feel free to open a new issue if similar issues appear again. I also recommend rebuilding any Docker images you might have. Thank you for reporting! |
~/ws_sensor_combined/src$ rosdep install --from-paths . -y --ignore-src
ERROR: Rosdep experienced an error: Multiple packages found with the same name "gisnav_msgs":
Please go to the rosdep page [1] and file a bug report with the stack trace below.
[1] : http://www.ros.org/wiki/rosdep
rosdep version: 0.22.2
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 146, in rosdep_main
exit_code = _rosdep_main(args)
File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 446, in _rosdep_main
return _package_args_handler(command, parser, options, args)
File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 501, in _package_args_handler
pkgs = find_catkin_packages_in(path, options.verbose)
File "/usr/lib/python3/dist-packages/rosdep2/catkin_packages.py", line 35, in find_catkin_packages_in
packages = find_packages(path)
File "/usr/lib/python3/dist-packages/catkin_pkg/packages.py", line 103, in find_packages
raise RuntimeError('\n'.join(duplicates))
RuntimeError: Multiple packages found with the same name "gisnav_msgs":
The text was updated successfully, but these errors were encountered: