pulver22 / QLAB

Quadrotor LAnding Benchmarking (QLAB) is a simulated environment for developing and testing landing algorithms for unmanned aerial vehicles.
29 stars 11 forks source link

"Service has not been called" #4

Closed yiia closed 5 years ago

yiia commented 5 years ago

When I run the launch file,two lines of error prompts appear:“Service has not been called”.Please help me with this problem.Thank you very much.

pulver22 commented 5 years ago

Hi @yiia,

Many thanks for using my simulator. Let's try to go with order. After you launch the .launch file, can you do in another console rosnode list and check that drl_node is present? Can you eventually post here the output of the command? My fear is that the node responsible for generating the reward signal and all the ros services is not running.

pulver22 commented 5 years ago

In any case, QLAB doesn't allow you to fly from scratch. It just provide you the ros method you need to invoke to control the drone. Therefore you need to be sure the drl_service node is running (with rosnode list) and the proper services are there as well (rosservice list). If this is the case, you can invoke the service in the following way : rosservice call drl/send_command takeoff

You should see the quadrotor taking off in the air. Please can back to me if you continue having problems.

yiia commented 5 years ago

Thank you for your reply.I make sure that the “drl_service” node is running (with “Pronodelist”) and there is the appropriate service (“rosservice list”).As I run this command :rosservice call drl/send_command takeoff, I see the quadrotor taking off in the air.But the mistakes I mentioned earlier still exist.

yiia commented 5 years ago

Can you explain why the ‘stop’ action was set up in the drone's action?Because when I run this file(visualize_action_distribution.py), I always encounter drones doing stop all the time.

pulver22 commented 5 years ago

HI @yiia,

You see the error only one times right? It's a common situation when the node is launched before the service but the fact that the robot takes off means that everything is working fine. Otherwise, the error would be continuously printed in console.

Inserting the stop action in the observation space was a design choice. If the network outputs stop given a mini-batch as input, it means that the network does not recognise the marker in the given frame. Otherwise, one of the other action (left, right, forward, backward, descend, land) would be selected.

yiia commented 4 years ago

Hi,"The batch used for training the policy is assembled picking experiences from each one of the K datasets with a certain fraction ρ ∈ {ρ1 , ..., ρK }." from your paper.Can you tell me which python file the code that implements the priority reward partition during training?I didn't find it. I hope I can get your help, thank you very much.