1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Programming a robot for a contest

  1. May 3, 2005 #1


    User Avatar

    I am programming a robots movements(virtual robot not a physical, like a game) its a contest, I asked last year students that did this contest and there robot got to 4th place by a fluke, their robot did random stuff :rofl:. I'm in highschool grade 11. University students are also partisipating in this event, last year their robot shot ahead of other robots. Thats what I want to do.

    I know the obsolute position of my own robot(lets call my robot R for Robo) and its rotation, also its rotation of stuff like gun, and radar for detecting other robots. If the R detects another robot, R only knows the distance between R and the robot, and the degrees it would have to turn to face the robot. So I need to convert this to obsolute coordinates so when R moves around it can look where it last scene the robot.

    If I can get the obsolute coordinates of the enemy robot, its all I need for my plan to shoot ahead of its path. I already tested this plan out and it works good if R is just standing still and not moving. How may I get obsolute coordinates of the enemy robot?

    I tryed doing this my self but R is rotated so I cant just add obsolute coordinates of R to enemy robots. I'm lost I don't know how to do this.

    Thanks in advance!
    Last edited: May 3, 2005
  2. jcsd
  3. May 3, 2005 #2


    User Avatar
    Science Advisor
    Homework Helper

    R's position is (x,y) (known) and he is facing in direction A (known) relative to the reference, which I will assume is the +x axis. The second robot R2 is a distance D2 (R2D2; cute heh :rolleyes: ) from R in a direction B from the direction R is facing.

    Let R turn B to face R2. R will know the direction (A+B) he is facing relative to the +x axis after this turn. The position of R2 is then (x+D2cos(A+B), y+D2sin(A+B))
  4. May 4, 2005 #3


    User Avatar


    I have one problem, I tryed my self using sign, I even made if statements for different quadrants on the plane for this.

    I have after movement converted R2 to be relative to R now I need to get the angle to move the gun on it. 0 degrees is up, I can't seem to get it to aim properly. I have worked with something similar before but 0 degrees was right.

    Knowing 0 degrees is up, lets say after converting R2 relative to R the R2(x,y) lay in the bottom left quadrant where x & y are negative. How may I calculate the angle there,

    Iam doing this
    angle = acos(-R2(x)/R2(distance from R))
    since R2(x) is negative I make the whole thing be positive.
    angle = angle + 90
    I added by 90 for bottom quadrant
    angle = angle * -1
    I inverse it for other quadrant

    It doesn't work properly. Whats wrong?

    Thanks in advance!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook