Subject
- Posted on
Re: Linux Network Joystick interface
- 04-29-2006
April 29, 2006, 12:56 am
While I am in no way advocating or encouraging its use, look at JAUS
(Joint Autonomous Unmanned Systems Protocol). It is a high level protocol
for transmitting and receiving robotic controls between an unmanned
vehicle and OCU (operator control unit)
Look for my rant about what a hack job JAUS is in a later posting. :^)
BTW: if you are using wireless ethernet for control of your robot then
don't fall into the trap of using TCP transport. Use UDP instead.
-noone of consequence
Re: Linux Network Joystick interface
on a mobile device you don't want all those ack/nak signals floating
across the network. They can saturate the network and cause messages to
be queued up and processed in much longer than real-time: a problem
if you're expecting to have joystick commands immediately processed. This
is one case where QOS isn't a good thing because although TCP delivery is
somewhat guaranteed, there is no guarantee (when) the message will finally
get there.
Then there is the speed difference. TCP over 802.11b (what you'll use if
going peer to peer) will be very slow. Figure as a best case UDP on
802.11b will give effective thruput of about 5mb/s whereas TCP (with
no drops) will be less than half that rate.
UDP is really the only option for wireless command and control, but to
further the discussion, wireless ethernet really isn't appropriate for
wireless robotic control in real-time, especially if you want to do
(beyond line of sight) control.
Re: Linux Network Joystick interface
good option where latency needs to be kept low and an occasional lost or
out of order packet is tolerable. If you're sending something like
joystick states updated every few ms, UDP is good. If a packet is
missed an update is coming soon behind it. Include a sequence number in
the packet, and unless there's a severe delay between packets go with
the latest packet as current. If there are several packets lost in
sequence TCP is unlikely to be getting through either.
On the other hand, if the protocol sends only changes in state most of
the time you need the reliability of TCP, but are saving bandwidth by
not sending redundant data. Depending on the nature of data to be
communicated, TCP with such a protocol may deliver less latency on
account of bandwidth.
Re: Linux Network Joystick interface
While that is somewhat true, but, properly coded you can "timeout" on the
API calls. If you have QOS issues, a networked API is problematic no matter
what. Using TCP ensures that packets get there and if they don't, you know
it.
Depending on packet size, maybe. If you are not sending a lot of data, i.e.
filling the MTU , as in sending a file, but are sending and receiving
relatively small packets, the bandwidth is not really an issue, even with
11b.
The best analogy I can come up with is the X Window System in UNIX. Human
interface devices are VERY SLOW, keyboards, mice, and joysticks are
nothing. Video and audio, now *that's* a lot of load.
Well, the video over IP is a problem as the video signal must be digitized
and there is often a few seconds lag with an MPEG encoder. I need to find
something faster, and that data is appropriate for UDP, absolutely.
Site Timeline
- » seeking an engineer
- — Next thread in » General Robotics Forum
-

- » Need Panasonic Robot Help (Pana Robo - HR55
- — Previous thread in » General Robotics Forum
-

- » evoMUSART 2013: First CFP (with correct dates)
- — Newest thread in » General Robotics Forum
-

- » Heat pump refrigerant change to R-22 substitute
- — The site's Newest Thread. Posted in » General Metalworking
-

- » DCC sound question
- — The site's Last Updated Thread. Posted in » Model Railroad Forum
-







