strands-project / scitos_apps

Applications that can be run on the robot hardware and in simulation.
2 stars 17 forks source link

docking in the dark #40

Closed bfalacerda closed 10 years ago

bfalacerda commented 10 years ago

I'm pretty sure Bob failed to dock last night because it was dark and it couldn't see the robot station marker. For doing overnight runs we'll have to take care of this problem somehow

nilsbore commented 10 years ago

screenshot from 2013-10-11 16 21 59 @gestom Can you make it work with the IR image instead?

gestom commented 10 years ago

I have tried already. The problem is that it did not work well for longer distances.

bfalacerda commented 10 years ago

I think that we can assume that the robot will always position itself in front of the charging station before starting the docking behaviour, thus if it works well for distances below 2 meters, that would be enough

gestom commented 10 years ago

Hi, I have done some tests today and encountered the following problems: 1) IR and RGB cannot be streamed simultaneously. The openni driver decides if to stream RGB or IR based on the number of subscribers. If there is one or more subscriber to RGB, IR stream is switched off. 2) The images we get from the /head_xtion/ir/image_raw look much worse than the image from Nils. @nilsbore Nils, did you obtain the aforeposted image from this ROS topic ?

To solve the docking in case of low visibility, we can go for following solutions:

1) Using SICK to identify the station: Feasible, laborious and probably not as reliable as the visual charging. 2) Using IR: Possible if the planner ensures that all subscribers for RGB are turned off prior to running the charging process. 3) Keep the charging station's room lights on. Definitely preferable for me. 4) Attach lol to the PTU base and use the 12V line (that is avail at the PTU base) to power it. The dynamic reconfiguration ability of scitos_mira can be used to switch the spotlight on and off. Simply awesome.

hawesie commented 10 years ago

This raises tons of interesting issues.

For 2) I think we can get the controller to turn off RGB subscribers.

3) is not possible for us. We don't have control of the the lights where our charging station is, as was evidenced by the failure that caused this. AFAIK the lights are actually on, but at low level and probably not illuminating the sign,

4) is actually a cool idea. I expect the security scenario may want RGB pictures taken in low light environments, so an on-demand light source would be useful.

nilsbore commented 10 years ago

@gestom 2) Yes, I received that image from either of the two topics on IR. However, I did it on my computer as the robot was patrolling. Also, the room was lit at that moment.

nilsbore commented 10 years ago

I've checked it out again, and the quality of the image is really bad when you get as little as two meters away. far

gestom commented 10 years ago

Buy something like this: http://www.diy.com/nav/decor/lighting/light-bulbs/led_bulbs/Diall-LED-4-5W-MR16-GU5-3-12418964?skuId=12939670 + holder

Hook the wires to the power lines at the PTU platform and use the American screwdriver to fix it in place : ptu2 ptu3

Works reasonably http://www.youtube.com/watch?v=jxmgsPZRf2A, but I will test Linda to run with it over night. As soon as the previous visual charging pull request is merged, I will open a new one, which implements the on-demand light.

hawesie commented 10 years ago

Super cool!

marc-hanheide commented 10 years ago

great! @gestom have you checked that the light isn't interfering with the point cloud? It appears to be suspiciously close to the projector of the ASUS...

gestom commented 10 years ago

The point cloud seems to be fine for now. However, we'll need to find a better way to fix the spotlight, so it does not block the ASUS accidentally. Moreover, the power line for the lights were supposed to be used for the stereocameras, so this is probably a temporary solution only.

arbeitor commented 10 years ago

awesome! one alternative to dock in the dark would be to use directly the point cloud from the asus (specially once the second camera is mounted on the chest) to detect the docking station pose directly in the point cloud. The detection should work reasonably well between 1 and 4 meters. This could be used to drive the robot close enough in front of the docking station to do the final docking using the laser scanner (as initially planned during RoAr) or turning on the light source for final visual docking.

gestom commented 10 years ago

Linda has been using the light for three days without any problems: http://www.youtube.com/watch?v=btYD1HJo8yA.

bfalacerda commented 10 years ago

cool! Is there a way to control the light in our software?

gestom commented 10 years ago

Yeap, the visual charging is controlling it via the mira bridge - thanks to @cburbridge who made the EBC dynamically reconfigurable parameters. The rosrun dynamic_reconfigure dynparam set /EBC 'Port0_12V_Enabled' True rosrun dynamic_reconfigure dynparam set /EBC 'Port0_12V_Enabled' False should turn on and off the light.

johnfolk commented 10 years ago

eery but cool!