[Video] Alternative Kinect Control (using depth images)

Firmware/software/electronics/mechanics
hdmathias
Member
Posts: 47
Joined: Sat Nov 01, 2014 3:24 pm
Location: Florida, USA

Re: [Video] Alternative Kinect Control (using depth images)

Post by hdmathias »

Using broader searches of the forum, I found a solution. I can connect now with the Linux machine on which I have Oliver's project installed. Now to get the rest of it running. /thumbsup
chromebookbob
Beginner
Posts: 12
Joined: Sat Dec 06, 2014 11:40 pm

Re: [Video] Alternative Kinect Control (using depth images)

Post by chromebookbob »

I have nearly got this working, but when I launch kinect tracking, especially when I reset the background the program becomes almost unresponsive. The control input starts to delay by multiple seconds and often, I get Aborted ( core dumped ), and the program crashes, sending the crazyflie to my roof (I have a fair few quad shaped scrapes there now :lol: )
Other programs running at the same time seem to not be as badly affected by the slowdown. Any tips on optimization?
hdmathias
Member
Posts: 47
Joined: Sat Nov 01, 2014 3:24 pm
Location: Florida, USA

Re: [Video] Alternative Kinect Control (using depth images)

Post by hdmathias »

chromebookbob wrote:I have nearly got this working, but when I launch kinect tracking, especially when I reset the background the program becomes almost unresponsive. The control input starts to delay by multiple seconds and often, I get Aborted ( core dumped ), and the program crashes, sending the crazyflie to my roof (I have a fair few quad shaped scrapes there now :lol: )
Other programs running at the same time seem to not be as badly affected by the slowdown. Any tips on optimization?
Have a look at page 8 of this thread where veerarchart discusses changing the control frequency to 30hz. Maybe that will help.

I'm still not able to connect to a Crazyflie using Oliver's code. I can run the CF Python examples in the same environment but following Oliver's instructions, I get no joy when I click on "Scan" in the interface. Any ideas?
hdmathias
Member
Posts: 47
Joined: Sat Nov 01, 2014 3:24 pm
Location: Florida, USA

Re: [Video] Alternative Kinect Control (using depth images)

Post by hdmathias »

I'm really vexed by my inability to connect to a Crazyflie from within Oliver's code. I'm posting the relevant details in the hopes that someone can point out what I've done wrong.

1. If I go into the Crazyflie stack within the ros directory subtree and run ramp.py, I am able to connect to and ramp up the motors on a Crazyflie (both v. 1 and v. 2). Good news but also confusing.

2. When I do roslaunch crazyflieROS pid.launch js:=1 followed by rosrun crazyflieROS driver.py I am able to recognize input from the PS3 controller, including entering hover mode.

3. When I subsequently click on the Scan button at the top of the user interface, the following is printed: -------- STATE 10 -------- MODE MANUAL ---------- URI but there is no other discernible action. I never see any option to Connect and no connection is established.

4. If I exit the ROS process and then go back into the Python examples and run ramp.py, it connects and ramps up.

I have no doubt that this is a result of something I've screwed up but I have no idea what it is. I think I've followed the directions carefully. Any help is greatly appreciated.

David
chromebookbob
Beginner
Posts: 12
Joined: Sat Dec 06, 2014 11:40 pm

Re: [Video] Alternative Kinect Control (using depth images)

Post by chromebookbob »

hdmathias wrote:
chromebookbob wrote:I have nearly got this working, but when I launch kinect tracking, especially when I reset the background the program becomes almost unresponsive. The control input starts to delay by multiple seconds and often, I get Aborted ( core dumped ), and the program crashes, sending the crazyflie to my roof (I have a fair few quad shaped scrapes there now :lol: )
Other programs running at the same time seem to not be as badly affected by the slowdown. Any tips on optimization?
Have a look at page 8 of this thread where veerarchart discusses changing the control frequency to 30hz. Maybe that will help.

I'm still not able to connect to a Crazyflie using Oliver's code. I can run the CF Python examples in the same environment but following Oliver's instructions, I get no joy when I click on "Scan" in the interface. Any ideas?
I looked on page 8, it's there a specific place this setting is located, I couldn't find it. As for your connection issues, have you tried installing and running the standard client, it may install some necessary dependencies for the crazyradio?
hdmathias
Member
Posts: 47
Joined: Sat Nov 01, 2014 3:24 pm
Location: Florida, USA

Re: [Video] Alternative Kinect Control (using depth images)

Post by hdmathias »

In the interface main window, choose Settings. There you can change the rates for a number of aspects of the program.
hdmathias
Member
Posts: 47
Joined: Sat Nov 01, 2014 3:24 pm
Location: Florida, USA

Re: [Video] Alternative Kinect Control (using depth images)

Post by hdmathias »

chromebookbob wrote:As for your connection issues, have you tried installing and running the standard client, it may install some necessary dependencies for the crazyradio?
I've installed the stock client and am able to connect using it. Even though I'm now running natively on a different computer, still can't connect via ROS. Same behavior as before: I click Scan and get this on the screen:
------STATE 10 ------ MODE manual ------ URI
but no connection. The button never changes to "Connect".

Is there something for the Crazyradio that I have to install in crazyflieROS?
grilly
Beginner
Posts: 7
Joined: Tue Jan 20, 2015 10:31 am

Re: [Video] Alternative Kinect Control (using depth images)

Post by grilly »

Hello together,

I am trying to get Oliver's code running with CF2 (using stock firmware). So far only with mixed success. Kinect is doing a fair job with tracking (could be better, but I guess it's the cluttered lab environment) and I am able to fly manually and hand-over control. The autopilot does something, not sure whether it's behaving correctly, yet, because I frequently loose connection. This is my problem right now. Using a CF1 (it might even be the one Oliver used), the connection is as stable as it can possibly be.

The error I get with CF2 is "Too many packets lost" and a reboot of the CF2 is required to reconnect. I also updated the libraries for CF2 and fixed some minor bugs in crazyflieROS without any change to connection quality. When running the stock bitcraze python client with CF2, the connection is stable. Now I'm confused^^ Any ideas how to fix this?

@David: Does the stock python client work properly on your VM?

Cheers,
Lukas
hdmathias
Member
Posts: 47
Joined: Sat Nov 01, 2014 3:24 pm
Location: Florida, USA

Re: [Video] Alternative Kinect Control (using depth images)

Post by hdmathias »

Lukas,

Yes, the stock client works perfectly. I can also run the Python examples from the command line. It's only within ROS that I have a problem. This may well be due to the fact that I am not well-versed in ROS but I thought I followed the instructions closely. Thanks.

David
grilly
Beginner
Posts: 7
Joined: Tue Jan 20, 2015 10:31 am

Re: [Video] Alternative Kinect Control (using depth images)

Post by grilly »

David,

Here is what I used initially to get the client running, for kinect I have a different procedure. Hope this helps:

Code: Select all

roscore
roslaunch crazyflieROS joy.launch js:=0
# for testing the joystick: rostopic echo /joy
rosrun crazyflieROS driver.py
# now try to connect
# press deadman switch (L1) and fly!
# if the joystick does not work, but CF is connected you can try publishing messages manually:
# rostopic pub /cfjoy crazyflieROS/cmd 'thrust: 20000' -r 100
Personally I'd advise against using a VM for any ROS application.

Cheers,
Lukas
Post Reply