Ebeo / ardupilot-mega

Automatically exported from code.google.com/p/ardupilot-mega
0 stars 0 forks source link

Pan-tilt camera support #264

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
P/T support through APM
Would it be a good idea to add a function in the APM code that can be enabled 
or disabled in config.h that will control 2 open channels if they available .

Advantage of this. 

1. A CMD_command can be added for waypoints for people with onboard recorders 
that has no wireless link.(gives new view on mission planning)

2. When entering loitering mode they P/T system can automatically look at the 
loiter center point on ground for C.O(Continual Observation) Parameters of this 
such as height and radius can automatically be done by APM to keep P/T system 
pointed at ground.

3. Once 2way telemetry is supported then P/T system can be controlled from 
ground via CMD commands or GCS software .

Original issue reported on code.google.com by bambum0...@gmail.com on 1 Jan 2011 at 4:07

GoogleCodeExporter commented 9 years ago
Bambum0125 is  Johann Van Niekerk .

Original comment by bambum0...@gmail.com on 1 Jan 2011 at 4:15

GoogleCodeExporter commented 9 years ago
Thanx to Antony Bee the math should be simple and here example 
http://www.diydrones.com/forum/topics/regarding-apm-a-servo-question?commentId=7
05844%3AComment%3A245252&xg_source=activity

Original comment by bambum0...@gmail.com on 1 Jan 2011 at 10:34

GoogleCodeExporter commented 9 years ago
I take it "P/T" means pan-tilt camera control?  If so, this functionality has 
been discussed in the dev team (I think Jason was planning on trying to 
implement it in the beginning of December).

However, I don't think this is nearly as easy as you think, even assuming 
perfect camera mounting where the pan axis is the plane's vertical axis when 
level and the tilt axis is contained in the plane normal to the pan axis.  To 
see why, try to figure out what pan and tilt angles are required for a plane 
oriented with 10 degrees pitch and 10 degrees roll to point at a target that is 
20 meters left of it, 2 meters in front of it, and 10 meters below it.

Even if the problem is simplified to assume that the target is always directly 
off the plane's wing (thus negating the need for the camera's pan axis), extra 
control code would have to be written to track the yaw exactly, and it would 
only work when the pitch was zero.

It is certainly possible to construct an algorithm that compensates for all 
these factors (and even allows camera rotation schemes other than pan-tilt), 
but I'm not currently prepared to release my algorithm.

Original comment by bjpcalt...@gmail.com on 6 Jan 2011 at 11:17

GoogleCodeExporter commented 9 years ago
Yes PT means Pan Tilt System , I understand for 100% accurate pointing alot of 
variables has to be concedered and worked out probably Gyro on camera would 
help , but what I was thinking of was simple code that would just turn pan left 
or right by a # defined degree / relevant to loiter radius and tilt calculated 
by altitude and loiter radius to center .?

I know it won't be accurate but with a 45* field of view on a these Sony Had 
CCD"s it won't be that big of
a problem, I'd say only when big zoom functions comes in accuracy would be 
needed to look because field of view would change . 

So I would think that what the P/T system would need to be told by APM is 
When entering loiter clockwise set pan 45degree right when antclockwize turn 
pan 45 degree left then using TAN. Work out the angle needed for tilt because 
hight you have and distance you have ( loiter radius) so angle could be 
determined . 

Note: this isn't really for FPV viewing but more for mission planning before 
flight and something extra for people with outputs left open on there APM's 

Original comment by bambum0...@gmail.com on 7 Jan 2011 at 12:12

GoogleCodeExporter commented 9 years ago
How about just stabilization at first, with neato stuff like manual point and 
auto track later... should be easy based on IMU data alone... aircraft 
banks/turns, pan and tilt to compensate... 

Original comment by Draconis...@gmail.com on 8 Jan 2011 at 4:35

GoogleCodeExporter commented 9 years ago
That is a Idea but wouldn't the Pan tilt system then be mounted on the same 
level as the APM ? other wize IMU vaules wont help.

Original comment by bambum0...@gmail.com on 8 Jan 2011 at 5:21

GoogleCodeExporter commented 9 years ago
well, yes depending on location of the camera PT mount/gimbal... programmed 
offset or manual nudging should be enough dont u think?

Original comment by Draconis...@gmail.com on 8 Jan 2011 at 5:25

GoogleCodeExporter commented 9 years ago
True yes. But I think the fether away from the APM the more inaccurate when 
aircraft rolls it should work great but what if it pitches ? The PT system 
going to be somewhat 20cm above the APM .... I think that might pose a problem. 
Or how would you go bout it? 

Original comment by bambum0...@gmail.com on 8 Jan 2011 at 5:48

GoogleCodeExporter commented 9 years ago
if based on the loiter mode for example, then distance from target should be 
limited to + - what the platform / PID will keep it going round. just trying to 
suggest starting with the simplistic approach of linking the P/T to the gyros, 
as you would in a simple stabilized gimbal setup. 

But as you stated earlier, it would most likely depend on keeping the camera 
near the cg. If the camera is on top, then it should be able to see 180pan with 
90tilt to see from wing level to horizon+ in a bank. if its hung below then 
typicaly the wing cuts off visibility to alot of ground in a bank.
this is why most have camera forward of cg. or better yet in a clear pod out 
front.

Original comment by Draconis...@gmail.com on 8 Jan 2011 at 9:13

GoogleCodeExporter commented 9 years ago
Yes that makes sence to me as well and I plan to install my camera close to the 
CG , would it be a option to add a little gyro board to the pan head and let 
APM handle it from there or are we better of getting a dother board to handel 
that.?
below is a link t the origenal Arducam program that triggered camera when 
arriving at way point. see files attached.
With alot of help from Ritchie it should be easy just to add this onto that code
void CMD_PAN(int angle){
if angle < -45 {
angle = -45;
}
if angle >45 {
angle = 45;
}
servo_out[CH_5] = angle;
}
this should allow the first part of this enhancment to be complete but as you 
said stabilization is needed to ,what would be your thoughts?

Original comment by bambum0...@gmail.com on 9 Jan 2011 at 10:01

Attachments:

GoogleCodeExporter commented 9 years ago
Original thread here
http://diydrones.com/forum/topics/photos-with-apm-issues-tweaks?xg_source=activi
ty&id=705844%3ATopic%3A213509&page=2#comments

Original comment by bambum0...@gmail.com on 9 Jan 2011 at 10:02

GoogleCodeExporter commented 9 years ago
check out this page . it already covers tracking for objects , implemented with 
Arduino , even the code is present .

http://umassgv.blogspot.com/2010/07/realtime-tracking-with-pan-tilt-camera.html

Original comment by abx...@gmail.com on 9 Jan 2011 at 2:55

GoogleCodeExporter commented 9 years ago
Abx666 you made my day.....
I saw his video on youtube but  could nt get his link to wotk thanx. have you 
built it?

Original comment by bambum0...@gmail.com on 9 Jan 2011 at 3:10

GoogleCodeExporter commented 9 years ago
Thanx Abx666
Here is target tracking code written in arduino 
can we implement it?

Original comment by bambum0...@gmail.com on 9 Jan 2011 at 3:22

Attachments:

GoogleCodeExporter commented 9 years ago
no but im planning on ..  i need to know wheter it would be smarter to 
integrate into the I2c or the regular OUTS

Original comment by abx...@gmail.com on 9 Jan 2011 at 3:42

GoogleCodeExporter commented 9 years ago
I think we will soon find out ...I put a link on front page in"pan tilt blog"to 
get people to look at it.  

Original comment by bambum0...@gmail.com on 9 Jan 2011 at 3:45

GoogleCodeExporter commented 9 years ago
id be glad to help in any way.

Original comment by abx...@gmail.com on 9 Jan 2011 at 4:07

GoogleCodeExporter commented 9 years ago
One question . what will we be tracking from a Airplane?

Original comment by bambum0...@gmail.com on 9 Jan 2011 at 4:25

GoogleCodeExporter commented 9 years ago
cars ? people ? geo features?

Original comment by abx...@gmail.com on 9 Jan 2011 at 5:53

GoogleCodeExporter commented 9 years ago
Hehe abx666 
I like the Geo features idea  ;-)

How is your programming skills?

Original comment by bambum0...@gmail.com on 9 Jan 2011 at 6:18

GoogleCodeExporter commented 9 years ago
A team member (Joe Holdsworth) has been added to the dev team to implement 
camera tracking functionality.

Original comment by dewei...@gmail.com on 10 Jan 2011 at 12:23

GoogleCodeExporter commented 9 years ago
Awesome thanx . 
Looking forward to it!

Original comment by bambum0...@gmail.com on 10 Jan 2011 at 12:28

GoogleCodeExporter commented 9 years ago
prototype version in operation here:

http://diydrones.com/profiles/blogs/camera-gps-targeting-assisted

Original comment by joeholds...@gmail.com on 10 Jan 2011 at 1:22

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
yea i can help out with code , but i need to first get all the hardware 
required , which might take a while .

Original comment by abx...@gmail.com on 10 Jan 2011 at 4:22

GoogleCodeExporter commented 9 years ago
Hi Joe Great work !

I added this one without seing your blog about it, must have been before i 
joined but cant wait! 
Thanx for sharing your hard work

Original comment by bambum0...@gmail.com on 10 Jan 2011 at 6:21

GoogleCodeExporter commented 9 years ago
Most of the points here are already implemented in the APM_Camera branch. And 
are documented on the wiki. But some more tests are needed.

Original comment by amilcar....@gmail.com on 12 Apr 2012 at 11:24

GoogleCodeExporter commented 9 years ago
The new AP_Mount code now supports this.

Original comment by tridg...@gmail.com on 19 Jul 2012 at 5:28