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

Makefile to build and launch #15

Closed
matteovidali opened this issue Mar 11, 2023 · 4 comments · Fixed by #16
Closed

Makefile to build and launch #15

matteovidali opened this issue Mar 11, 2023 · 4 comments · Fixed by #16

Comments

@matteovidali
Copy link
Contributor

Hey,
I have made a Makefile for this project that will handle the dependencies required as well as the build process. This is the first version of the Makefile, and it works on a fresh install of Ubuntu 20.04.5, Kernel: 5.15.0-67-generic.

To use this file, first download the gist, and place it the directory where you would like your catkin_ws to be made.
Then run make deps to install dependencies required. This will only work on distros and versions that support ROS1, and I have only tested it on 1 machine, so it will be updated as required.

Next, run make build to build the multi_uav_simulator.
Finally, run make launch to launch the simulation, and an Rviz window should open.

Included is a make clean command, to remove the entire catkin_ws.

Please leave comments either here and mention me (@matteovidali) with updates, or place requests on the gist itself.

@malintha
Copy link
Owner

malintha commented Mar 17, 2023

Hi @matteovidali,

Kudos on the script for managing the dependencies. I think we can bundle this with the repository eventually. I have a few comments however, especially on reinstalling those dependencies that comes standard to ros.

@malintha
Copy link
Owner

malintha commented Mar 17, 2023

@matteovidali The clean command shouldn't erase the whole catkin_ws. At best it should only erase the devel, build and logs directories inside the catkin_ws. Automating this can cause the false implication that it would only "clean" mavswarm, when erasing all the built packages inside the workspace (many people use one big catkin_ws for running multiple packages for planning, mapping etc.). So, I think it's best to remove the clean command.

@matteovidali
Copy link
Contributor Author

@malintha, thank you for the review! I am working on implementing these changes, but I have a few questions.

  • Is it necessary to do a full install of ROS-noetic-desktop? I was working with just the base install, and adding packages as necessary to avoid the bloat, but I am unsure that that is the correct move.
  • The python3-catkin-lint package is indeed not necessary, and was just a typo as it was part of a seperate dependacy install that I used in the intermediate process. (it has been removed)
  • Extra python3-pip install has been removed
  • The python3-rosdep2 requirement was added to solve the error recorded in Required package not found while building 'mav_trajectory_generation' during catkin build. #14, I managed to do Only 1 install and build that succeeded without this package, and did not manage to rebuild without it, but I will do some digging to see if it can be removed. Perhaps if I do a full install of the ros-noetic-desktop would fix this?
  • The clean command will be updated, the reason it was fully removing the catking ws was for testing this makefile and confirming that it allowed for hassle free building! It will be adjusted in version 2! - if you think it best to completely remove it, I will do so!

I'm glad I could assist, and I look forward to more exploration!

@malintha
Copy link
Owner

@matteovidali For development and simulation I would totally recommend ros desktop full installation. The base (or bare bone) installation is mostly targeted for running inside the robot computing boards; some of them are in fact incompatible for full desktop installation.

Yes, I think a full installation might solve this issue. Let's give it a try. Please make a PR when you are done with the changes. :)

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.

2 participants