WP3 - UPM ASLab

HRTC
IST 37652 Hard Real-time CORBA
WP3: Robot Control Testbed
Klas Nilsson
1. Physical Testbed
2. Virtual Testbed
3. Demo
1
Cameras
Actuator (motor) node
Windows PC
ETRAX
• Linux/RTAI
Internet
Sensor (resolver) node
ETRAX
• Linux/RTAI
PPC * 2
• Linux/RTAI & STORK
Switch
GlobeThrottle
• Linux PC
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Hardware Setup
Controller node
HRTC
IST 37652 / Hard Real-time CORBA
2
 To achieve hard realtime the ORB (or parts of
it) must run in an RTOS
(RTAI)
 Not part of this project
 However, in the testbed
the ETRAX and PPC
application code need to
run in RTAI!
 Fix needed!
HRTC
IST 37652 / Hard Real-time CORBA
RTOS (RTAI)
CORBA client &
server application code
RT-ORB
OCI
RTE
IIOP
TCP
IP
RT
ThrottleNet Ethernet
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
ORB in RTOS
Interface
3
Linux
 Use the ORB to
establish connection
 Extract handle to
transport layer
 Send and receive
directly using handle
 Sends only the
necessary data (not
GIOP)
HRTC
IST 37652 / Hard Real-time CORBA
Soft RT
Code
Non-RT
Code
RT-ORB
OCI
RTE
IIOP
TCP
getTransportHandle()
IP
RTAI
Hard RT
Application
Code
RT
Ethernet
Interface
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
ORB in Linux/RTAI
4
Cameras
Actuator (motor) node
ETRAX
• Linux/RTAI
• ORB
Sensor (resolver) node
Windows PC
• image proc.
• non-RT ORB
Internet
ETRAX
• Linux/RTAI
• ORB
Controller node
STORK RTOS
Slow parts
of controller
HRTC
Shared Memory
Two PowerPC Boards
IST 37652 / Hard Real-time CORBA
Switch
Linux
ORB
RTAI
Fast parts
of controller
GlobeThrottle
• Linux PC
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Demo Setup
5
 Catch ball experiment
 Bo Lincoln, Johan Bengtsson,Tomas
Olsson
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Demo Scenario
6
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Ball trajectory prediction
7
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Original experiment system
8
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Experiment
9
 Hard RT Channel:
Sensor  Controller (sensor values)
 Hard RT Channel:
Controller  Actuator (control signals)
 IIOP communication from Image
Processing PC to Controller (ball data)
 Soft RT Channels:


HRTC
??
??
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Communication Structure
10
HRTC
IST 37652 Hard Real-time CORBA
Virtual Testbed
Mathias Haage
11
Arbitrary dynamics
Simple vision
Simple controller
IIOP for simulated
RT communication
Standard ORB
Non-RTOS
One computer can
contain several
system nodes
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Simplified environment
12
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Dataflow
13
IDL
module visualcontrol { // Vision
interface Vision : Activity { // Fresnel JavaIDL
};
interface VisualControl : Activity { // Fresnel JavaIDL
oneway void setObjectPos(in Point3D objectPos);
};
};
module armcontroller { // Controller
interface Resolver : Activity { // IOR Etrax
};
interface Servo : Activity { // C3PO PPC
oneway void setArmPos( in Joint6D armPos );
oneway void setArmRef( in Joint6D armRef );
};
interface Actuator : Activity { // PUH Etrax
oneway void setTorqueRef( in Torque6D torqueRef );
};
};
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
interface Activity {
oneway void start();
// More control parameters
};
14
i386 Linux ICa ORB
IIOP
OCI
SoftRT transport (slow rate)
ETrax Linux ICa ORB
OCI
SoftRT transport (fast rate)
PPC Linux ICa ORB
ETrax Linux ICa ORB
OCI
SoftRT transport (fast rate)
IIOP
IIOP
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Nodes / Transports
JavaIDL
HRTC
IST 37652 / Hard Real-time CORBA
15
Java
Partial hardware
Full experiment
HRTC
IST 37652 / Hard Real-time CORBA
Simplified dynamics
Simplified vision
Simplified controller
JavaIDL with IIOP
Actuate in virtual environment
ETrax, PPC running Linux OS
ICa RTORB with OCI SoftRT transport
ETrax, PPC running Linux-RTAI RTOS
ThrottleNet ethernet driver
Linux-RTAI controller
IEEE1394 cameras with vision system
ICa RTORB with OCI HardRT transport
Actuate in real environment
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Development road
16
 CORBA can be extended with hard realtime transport

8 kHz, 64 Byte messages with hard real-time
guarantees
 However, we are not certain that the
approach chosen is the correct way to go
 Minimum CORBA (or even smaller –
Micro CORBA) with selected features
from RT-CORBA a better alternative
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Conclusions
17
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Demo of the Day
18
 Fix the current ThrottleNet Problem – maybe done
already √
 Compile under ETRAX – moderate, half-day - Martin

Will everything fit into ETRAX?
 Compile under PPC (incl writing/porting Ethernet RTAI
device driver) – moderate, half-day and full night √
 Fix memory map problem – crucial for demo √
 Port the current resolver (sensor) code to
RTAI – easy, little time
 Port the existing actuator (motor) code to
RTAI – easy, little time
 Integrating the parts
 Porting the ball catch demo to the new system
HRTC
IST 37652 / Hard Real-time CORBA
Copyright © 2002 The HRTC Consortium. www.hardrealtimecorba.org. All rights reserved.
Remaining Issues
19