JSKAerialRobot / jsk_uav_forest

THe platform for the uav forest challenge
8 stars 10 forks source link

[jsk_uav_forest_simulation] add hector_quadrotor_gazebo in run_depend #119

Closed knorth55 closed 7 years ago

knorth55 commented 7 years ago

run_depend hector_quadrotor_gazebo is missing.

tongtybj commented 7 years ago

Why needs this run_depend?

knorth55 commented 7 years ago

The package is used in forest_simulation.launch. https://github.com/tongtybj/jsk_uav_forest/blob/ac7435b129ec49f18365d3c8ee4720e547c87247/jsk_uav_forest_simulation/launch/forest_simulation.launch#L31

tongtybj commented 7 years ago

@knorth55
Just a simple question. So far, no problem without this PR. So I wonder whether you meet some new problem or just want to specify this dependency explicitly.

knorth55 commented 7 years ago

I tried to use this package in a lecture, and I clone this package. At that time, I use rosdep install to install all the dependencies, but hector_quadrotor_gazebo was not installed, and simulation.launch could not find out the package.

tongtybj commented 7 years ago

@knorth55

Did you read README.md, and follow the instruction like:

wstool merge -t src https://raw.githubusercontent.com/tongtybj/jsk_uav_forest/master/jsk_uav_forest.rosinstall
wstool update -t src
rosdep install -y -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO
  1. We explicitly add the git repositories about hector (including hector_quadcopter_gazeb ) in the jsk_uav_forest.rosinstall to compile from source, but not from debian package.
  2. I did in this way, because we only use the indigo_devel version of hector, no matter what the ros distro of your PC (indigo, jade, kinetic, etc) is. So do not do rosdep install individually.
  3. Beside hector related package, I also have lots of the dependency packages which are not written as run_depend, but are added in jsk_uav_forest.rosinstal.
knorth55 commented 7 years ago

if there is a deb release, i want to install deb package. installation of packages from source with .rosinstall is what I want to avoid. Actually, I can run the simulation with only deb packages, so I made this PR.

tongtybj commented 7 years ago

I definitely agree with your opinion, but the fact is if your pc is kinetic and do the same thing, it won`t work. I also try my best to install dependencies from deb, however there are two special cases to install from source.

  1. want to use the specific branch version regardless of the ROS_DISTRO. For example, the kinectic version of hector is suck, so we consider to use the indigo version even in kinectic pc
  2. add some additional function for the original repository(of course PR is sent, but not merged yet). Then we use the own forked repository in its instead. This always happens for the hardware interfaces(DJI SDK).
knorth55 commented 7 years ago

If the problem is ROS_DISTRO, how about making branches indigo-devel and kinetic-devel?

tongtybj commented 7 years ago

This is one of the solutions what I thought. However, the hector dependencies is not the crucial part of this repository, and making different branches just for this is not efficiently, especially for the competition oriented repository.

knorth55 commented 7 years ago

You are right, but I prefer branch solution. Anyway, I just tried to use this package for lecture, so it doesn't matter.

tongtybj commented 7 years ago

Anyway, your advice is very important for the code management. Thx a lot! We will take the branch solution into account.