smARTLab-liv / sl_crazyflie

0 stars 0 forks source link

CF not responding properly #1

Open Akash-Pardasani opened 7 years ago

Akash-Pardasani commented 7 years ago

Hi @bbroecker @jodafo ! Could you please guide me as I'm having difficulties getting the desired results. The CF seems to take-off properly(by take-off I mean, remain at constant z but x and y vary), it doesn't respond to the wand pose neither does it take the inputs from the joystick. P.S I tried to use multiple joysticks(PS3, Logitech etc.) and I get different result from each. P.S only two buttons seem to be accepted when pressed.

I'm using optitrack motive 1.10.1, with ros indigo on ubuntu 14.04 I could upload a video of its behavior if you'd like.

Here is my rqt_graph

cf2

bbroecker commented 7 years ago

Hi,

which branch are you using. I would recommend using the refactor one and use the ps3_teleop.launch Make sure you use the correct usb dev. Default is /dev/input/js0. Change it in the launch file, if its different. Controls changed a little bit, start is takeoff and land. The L1 Button is the dead man switch, press this button and use the sticks to control the drone velocity controlled.

Make sure the cf-marker has the right orientation, so it moves in x-in rviz if you move it in x in your world.

jodafo commented 7 years ago

Can you fly the cf without actually using the pos controls? I.e. just start the driver, dont press start, see if you can fly it. Sticks are bound in mode 2.

Akash-Pardasani commented 7 years ago

@bbroecker @jodafo The code seems to be working only with the default values for joystick buttons(for functions like TAKEOFF, FORWARD,BACK etc) as when I change those values for some other joystick(like Logitech), the crazyflie doesn't connect. And rviz seems to be working fine, with z axis -up and shows proper movements. Also @jodafo , could you please elaborate more on flying without the pos controls, if I don't press start, it doesn't do anything.

bbroecker commented 7 years ago

Regarding the manual control. You should be able to manually flight it without pressing start. It mode 2, so left stick: throttle/yaw. Right stick: Roll/Pitch If that's not working I would check the /joy topic.

On which branch are you on, use the "refactor" one.

Akash-Pardasani commented 7 years ago

@bbroecker I switched to refactor branch but now the CF doesn't respond to anything even though /joy topic works fine. Here is the rqt_graph rqt Could you please help out ?

bbroecker commented 7 years ago

That sound like you didn't change the radio_frequency parameter to frequency of your crazyflie. Could have been because there where two radio_frequency parameters in the launch file, I cleaned it up. Make another pull of the refactor branch (there are a couple changes) and change the cf1_uri argument in the ps3_teleop.launch.

If it still doesn't work, please use "rostopic echo" and check if you get messages on the /crazyflie1/cmd_vel topic when you move the sticks. If that's the case, it might be that you have a communication problem with the crazyflie.

Akash-Pardasani commented 7 years ago

@bbroecker Thanks for the reply ! I used the new refactor branch and changed the cf1_uri parameter but still there is no response and nothing is published to /crazyflie1/cmd_vel . I don't think it's a communication error as the crazyflie works fine with cfclient and while running ps3_teleop.launch the led blinks when the joystick button is pressed.

The master branch works (without proper result i.e doesn't stay at constant x and y at a height z=z_takeoff) and the z_takeoff is measured from the initial position of crazyflie not the optitrack origin.

bbroecker commented 7 years ago

If you don't get messages on /crazyflie1/cmd_vel means that you don't get messages on the teleop topic /crazyflie1/teleop/cmd_vel. Please check again if you get messages on the /joy topic, if yes go to the file sl_crazyflie/sl_crazyflie_controller/src/sl_crazyflie_controller/teleop/sl_crazyflie_teleop.py and put a print statement in the joy_callback method and see if it prints. The refactor works much better for us and I will merge it soon to master, would be good if you can figure out what's the problem is.