The cosmic signpost


Overview

The "Cosmic Signpost" is a mechanical pointing device under motor control. The user can select objects through a computer interface, and cause the arrow to quickly slew and point in the target's direction. Like a human guide, or a robotic telescope, it can point out constellations or planets in the night sky automatically, but additionally it will precisely point to targets even if they are below the horizon. It is not limited to static pointings, but will follow time-dependent trajectories through space, such as a fast-moving satellite in Earth orbit.

This device is motivated by the general problem in astronomy that coordinate systems often get in the way of understanding the fundamental relationships. Even with computer planetarium software, it is difficult to relate the positions on a star map to physical directions on Earth. A pointer can help practically by locating visible targets in the sky, but also provides a connection to more indirect sights. For instance, it can point out the instantaneous direction towards the Voyager spacecrafts, or help to illustrate abstract concepts like the direction that the Earth travels in its orbit.

Educational uses

  • Geography -- Directions to places on Earth can be pointed out. For instance, where do you get to if you tunnel straight down from Hawaii? Or, which way is California? Japan?
  • The celestial sphere -- Constellations, including the zodiac, can be easily pointed out. During the day, the relation between the Sun and the zodiac can be explored.
  • The solar system -- The instantaneous positions of the Sun and planets can be pointed out. The relationship between the phase of the moon and the position of the sun can be reinforced.
  • Satellites and spacecraft -- The pointer can be directed to the positions of spacecraft and satellites. Earth satellites can be followed in real-time.
  • Special directions -- abstract directions, e.g., the CMB dipole, center of the Milky Way or the Earth orbit direction can be illustrated.
  • Telescope mechanics -- the device is a simple telescope mount and illustrates the hardware and software used to operate real observatories.
  • The prototype

    A working device was built for the Institute for Astronomy at the University of Hawaii open house, April 2007. It was a success and Uranus was found many times. Below we describe the mechanical and software design.
  • watch the movie of it in action
  • Try the graphical interface.

    Hardware design

    The current design uses a simple equatorial mount made of wood. The equatorial axis consists of a rod aligned to the celestial pole; it is directly coupled to a stepper motor to orient the pointer in right ascension. The arrow is made of foam board and is attached to a small servo motor mounted to the end of the rod, providing the declination drive.

    The motors are run with off-the-shelf controllers. We used a Pontech stepper motor board (STP100 www.pontech.com) to drive the stepper motor and a servo controller from Pololu (www.pololu.com). These controllers connect to a computer over an RS232 serial port.

    The control computer is a (10 year old?) iMac G3, made new again with a fresh install of Ubuntu linux. The motor controllers are connected via USB with USB to serial dongles.

    Software control

    The software is all run on the iMac computer. The low level motor control is done with Python using the pyserial interface. The controller runs as a socket server. I don't know much about it, but it's easy in python! A client-server system makes it possible for the software to continuously update the position of the arrow to track moving targets. Additionally, it adds the advantage that the client can be physically separated from the server to allow remote control.

    Coordinate and time calculations are performed in python with pyEphem. pyEphem is an easy to use module that performs ephemeris calculations on RA and Dec coordinates, planets in the solar system and even spacecraft given their orbital elements. The equatorial mount on our pointer simplifies the coordinate transformations. We only need to calculate the hour angle from meridian with delcination for the targets, not a full alitude and azimuth. (At the cost of fixed coordinates on Earth.)

    The client software is written in php with a web interface, described next.

    Software user interface

    The user interface presents a menu for the user to navigate. First, the user selects between constellations, solar system objects, spacecraft and geographic locations. Submenus appear for each category providing a list of available targets. When a target is finally selected, a box appears with an image and a button allowing the user to command the arrow to point. The coordinates and the name of the target then appear along the bottom of the screen, with a clock. A `stop' button allows the user to halt a slew command.

    Frequent calibration is necessary, especially with our wood set-up. The calibration menu allows the user to calibrate on fixed directions (up, down north, east, south and west). Assuming the device is properly aligned with North, and the clock is correct, two points, eg Up and East, fully determine the pointing.

    The user interface is a web page that controls the php client script. It is simply hosted on the iMac and accessed locally with Firefox. But, again, the web interface is particularly extensible making a distributed system -- even over the internet -- simple.

    The interface is made interactive via Javascript, including the menu system and buttons. Status information is displayed, and updated, on the web page with Javascript and `ajax' methods.

    A feature of the interface is the `clickable Earth,' which allows the user to select locations on a 3D globe, which then rotates to center the selected location. This is crudely done with javascript and a server-side php script which provides the rendered images. The 3D earth renderer is from www.fourmilab.ch and we use a composite satellite image from NASA. When the user moves the mouse cursor over the image of the 3D earth, a javascript calculates the longitude and latitude under the cursor. Upon clicking, the php script sends the selected longitude and latitude coordinates to the C program which renders a new Earth image to display. Many users found the interface not intuitive, expecting the earth to be `draggable' (like Google maps) To add a more reactive display, a client-side Java applet could be used to provide instant feedback.

    Improvements

    The next version of the software should allow the time to be set. This would add significant complication to the interface, and it would be difficult to integrate it in an intuitive way. However, it would be interesting to allow the user to speed-up time -- eg, to watch the Sun travel across the sky or even follow the analemma figure over the course of a year! This should definitely be implemented.

    Source code

    I provide the source code for reference only, here. Note that it includes many images that I dont have the rights to.

    Future plans

    The device used for our open house exhibit was largely made of borrowed electronics, and so, it needed to be dismantled. With funding, I would like to build a more self-contained and portable device. Perhaps it could run off a laptop or even an integrated computer.

    Credits

    Original design is by Ben Granett. Construction and design work by Ben Granett, Geoff Mathews and Cooper Downs, plus shop work by Paul Toyama and Randy Chung.