To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.handyboardOpen lugnet.robotics.handyboard in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / Handy Board / 7146
7145  |  7147
Subject: 
Re: evaluate inverse cosine, sine in IC
Newsgroups: 
lugnet.robotics.handyboard
Date: 
Mon, 29 Nov 1999 18:44:55 GMT
Original-From: 
Gary Livick <GLIVICK@PACBELL.NETantispam>
Viewed: 
763 times
  
I've been trying to do this as well.  The problem I have found is that the Taylor series expansion needs to be developed near the solution to get accurate results.

Some may wonder why finding the arcsine of a number might be of interest.  If one has a robot that is sitting at some angle to a wall, and by using a ranging device of some kind (SONAR, IR ranging) mounted on a servo is able to get two ranges to the wall, the first at one angle from the robot and the second at a different angle from
the robot, then the angle of the robot axis to the wall can be determined.  In dead reckoning navigation, it is often necessary to update robot position from known landmarks.

To do this calculation, the "law of cosines" is first used, and the interim results are then used in the "law of sines" to get the angle.  Arcsine is needed in the last calculation.

One could generate a lookup table to go into in memory to find the angle, but what a waste of space.  It would be nice if Motorola had a freeware math function of arcsine, but they appear not to.  After days of head scratching, I have yet to turn up a simple algorithm to calculate arcsine from a random argument.  Any math majors out
there with nothing to do?

Thanks for any help,

Gary Livick



Will wrote:

bedirhan wrote:

Hi, is there a way to evaluate inverse cosine and sine using IC? Thx

The most efficient way to do it is to use Taylor Series approximations of the functions.  Decide how much precision you need, and then write functions that evaluate the first few terms in the appropriate series.

Usually, a series will converge quite rapidly, and only half a dozen or so terms are needed.  For example, if the sixth term in the series is on the order of 1.0E-6, then you're getting close to the limit of single-precision arithmetic anyway (and certainly close enough for horse shoes, hand grenades, and tactical nuclear weapons).

-- Will



Message has 1 Reply:
  Re: evaluate inverse cosine, sine in IC
 
Taylor series should converge quite rapidly. After 2 or 3 terms, the error is usually neglectable (depending or your demands, of course: this should be fine for up to a few decimals) For those not familiar with the Taylor expansion, I've added a (...) (25 years ago, 29-Nov-99, to lugnet.robotics.handyboard)

Message is in Reply To:
  Re: evaluate inverse cosine, sine in IC
 
(...) The most efficient way to do it is to use Taylor Series approximations of the functions. Decide how much precision you need, and then write functions that evaluate the first few terms in the appropriate series. Usually, a series will converge (...) (25 years ago, 16-Nov-99, to lugnet.robotics.handyboard)

6 Messages in This Thread:


Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR