Azimuth / Elevation control

Discussion specific to projects ideas and support.
Post Reply
roscohead
Posts: 18
Joined: 29 Sep 2010, 03:09

Azimuth / Elevation control

Post by roscohead »

Hi all,

Most of you guys can probably do this in your sleep, so please bear with me. I'm working on a project in which I want to control an Azimuth/Elevation mount with a NXT. I want to be able to supply it with a list of co-ordinates like:
Time / Az / El
0 / 1 / 1
1 / 1.5 / 1.1
2 / 1.9 / 1.2
3 / 2.2 / 1.25
4 / 2.4 / 1.2
5 / 2.5 / 1.1

etc

The units of time could be anything - seconds, 10ths of seconds, minutes, etc
The units for Az and El will be motor rotations (from origin)

I would like the motion to be as smooth as possible, so at the end of each segment I want to not stop the motor if it needs to keep moving to the next point. And I want it to hit each point as accurately as possible. Does anyone have an algorithm that could do something like this?

Thanks

ROSCO
hassenplug
Posts: 346
Joined: 27 Sep 2010, 03:05
Contact:

Re: Azimuth / Elevation control

Post by hassenplug »

I assume you want the "time" intervals to be consistent. Meaning the time to move between 0 and 1 is the same as the time from 4 to 5, even though from 0 to 1 the distance is .5, while 4 to 5 the distance is .1, right?

I think the first key is to use the "motor block" and turn on "Control: motor power". This will force the NXT to move the motor at the correct power level to move the motor at the desired speed.

Second, you want to move the motor some number of degrees (or rotations) per second. So the power will be proportional to the distance.

step 1: az=.5 rot/sec; el=.1 rot/sec
step 2: az=.4 rot/sec; el=.1 rot/sec
step 5: az=.1 rot/sec; el=-.1 rot/sec

Assuming .5 rot/sec is the maximum value, that should be set to a power of 100, and .0 rot/sec = 0, so .1 rot/sec = 20% power.

Get it?
Steve
---> Link to lots of MINDSTORMS stuff under my picture --->
roscohead
Posts: 18
Joined: 29 Sep 2010, 03:09

Re: Azimuth / Elevation control

Post by roscohead »

Thanks Steve, yes the time intervals will all be equal.

How do I set (for example) .5 rot/sec as power 100? (Noting that perhaps in my next run, the max may be .8 rot/sec).

ROSCO
hassenplug
Posts: 346
Joined: 27 Sep 2010, 03:05
Contact:

Re: Azimuth / Elevation control

Post by hassenplug »

roscohead wrote:How do I set (for example) .5 rot/sec as power 100? (Noting that perhaps in my next run, the max may be .8 rot/sec).
Good question. Somewhere, you have to decide what the maximum speed will be, and scale everything from there. I would see two ways to do that. One method would be to pick the maximum distance you'll EVER need to travel, and set that as your max power; so if you may travel 1.0 rot/sec, that has to be your max (100).

Another would be to scan the data, and find the max value (ie: .8 or .5 or 1.0) and set that as your max.

Steve
---> Link to lots of MINDSTORMS stuff under my picture --->
h-g-t
Posts: 552
Joined: 07 Jan 2011, 08:59
Location: Albania

Re: Azimuth / Elevation control

Post by h-g-t »

Sounds like you need the new speed/ acceleration control in the latest firmware. See https://sourceforge.net/apps/phpbb/mind ... =pid#p7314 and elsewhere in these forums.

This enables you to monitor the speed of rotation and continually change it to get a smooth result.
A sophistical rhetorician, inebriated with the exuberance of his own verbosity, and gifted with an egotistical imagination that can at all times command an interminable and inconsistent series of arguments to malign an opponent and to glorify himself.
roscohead
Posts: 18
Joined: 29 Sep 2010, 03:09

Re: Azimuth / Elevation control

Post by roscohead »

They look interesting, but the doco is a bit lean. Am I able to specify an actual speed, in rotations / sec, or degrees / ms or whatever? I can't find any info about that?

Thanks

ROSCO
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests