OpenRoads-nerve

OpenRoads-nerve is the layer that is the nearest to a device in OpenRoads family.

It works as server in the robot, and behaves like device driver via wireless network. We named it ADD - Air Device Driving - System. Air means invisible, however there is something surely.

It enables the free placement of the application. You can place application on PC. Of course you can place applicatioin in SPC-101.

OpenRoads-nerve server shall

  1. receive network packet from socket(2).
  2. decode it
  3. send request to device

all about device level request.



Special thanks to itojun.
itojun(http://www.itojun.org) gave me many advice about basic level implementation.

R.I.P itojun

InfoToAlphaTester

Informations to alpha tester.

dependency information to compile client sample

  • c99
  • prepared library is on FreeBSD 6.2-RELEASE/i386, NetBSD-3/i386, NetBSD-2/evbsh3.
    I will work to prepare library for Windows, Mac OS X. However, it is not yet decided when I perform the work.
  • using cut(http://www.falvotech.com/content/cut).
    including FreeBSD's ports/packages, but not including and NetBSD's pkgsrc.
    planning to use check(http://check.sourceforge.net).
    [info]: A sample cord may work when you define some empty macros.

    If you use NetBSD, see SetUpCutOnNetBSD.

Now, you can compile and run the program by 'make test' in 'client' directory.

obtaining OpenRoads-nerve server

OpenRoads-nerve server is attached to Robot Broadcasting Evaluation Kit.
Please see detail of Robot Boradcasting Evaluation Kit in Speecys Web page. Sorry, it is Japanese page only.

What can do by OpenRoads-nerve

  • You must care to joints by the installation direction of servo.
  • You can design your original Robot that use RPU-50 and RS301CR/RS302CD, and control that.
  • You can make new utility like MotionEditor.
    So, you can replace motion data format.

Summery

All commands has a priority, be processed in turn by higher priority.
Client can send commands by an arbitrary timing.
And supported event handler of button(in chest and hands) and accelaration sensor.

  • Servo control
    • servo On/Off
    • Directing Position(servo angle) and its movement time.
    • Change servo parameters. See servo manual(in Japanese) for datial.
      • max torque
      • compliance mergin
      • compliance slope
      • punch
    • Reading servo parameters(units is unknown)
      • compliance mergin
      • compliance slope
      • punch
      • temperature
      • load
  • LED board control(It is installed in a chest and hands of SPC-101)
    • prepare for a fixed pattern.
  • About motion control
    • If client appoint a timing and send data beforehand, the nerve server measures a timing and transmits data to devices.
      But It is need to the message is a device packet.
  • Event handling
    • Buttons in LED borads(It is instaled in a chest and hands of SPC-101)
    • accelerarion sensor. Because some status reading is slow, I'm looking for a countermeasure.
  • About sound output
    • Format
      Fs: 22050Hz
      raw data(PCM signed stereo), wave format(PCM, ADPCM, A-Law, u-Law)
    • Speaker volume control

Details

write later

OpenRoads-boss over nerve

New OpenRoads-boss will release soon. see BossOverNerve for functional detail.

Any Questions?

: