200 likes | 338 Views
WP3: Robot Control Testbed. Klas Nilsson. Physical Testbed Virtual Testbed Demo. Hardware Setup. Cameras. Actuator (motor) node. Windows PC. Internet. ETRAX Linux/RTAI. Sensor (resolver) node. ETRAX Linux/RTAI. Switch. PPC * 2 Linux/RTAI & STORK. GlobeThrottle Linux PC.
E N D
WP3: Robot Control Testbed Klas Nilsson Physical Testbed Virtual Testbed Demo
Hardware Setup Cameras Actuator (motor) node Windows PC Internet • ETRAX • Linux/RTAI Sensor (resolver) node • ETRAX • Linux/RTAI Switch • PPC * 2 • Linux/RTAI & STORK • GlobeThrottle • Linux PC Controller node
RT ORB in RTOS • To achieve hard real-time 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! RTOS (RTAI) CORBA client &server application code RT-ORB OCI RTE IIOP TCP IP ThrottleNet EthernetInterface
RT-ORB OCI RTE IIOP TCP IP RT EthernetInterface ORB in Linux/RTAI Linux Soft RT Code Non-RT Code • Use the ORB to establish connection • Extract handle to transport layer • Send and receive directly using handle • Sends only the necessary data (not GIOP) getTransportHandle() RTAI Hard RT Application Code
Demo Setup Cameras Actuator (motor) node • Windows PC • image proc. • non-RT ORB Internet • ETRAX • Linux/RTAI • ORB Sensor (resolver) node • ETRAX • Linux/RTAI • ORB Controller node Two PowerPC Boards Switch • GlobeThrottle • Linux PC STORK RTOS Linux ORB Shared Memory RTAI Slow partsof controller Fast partsof controller
Demo Scenario • Catch ball experiment • Bo Lincoln, Johan Bengtsson,Tomas Olsson
Communication Structure • 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: • ?? • ??
Virtual Testbed Mathias Haage
Arbitrary dynamics Simple vision Simple controller IIOP for simulated RT communication Standard ORB Non-RTOS One computer can contain several system nodes Simplified environment
IDL interface Activity { oneway void start(); // More control parameters }; 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 ); }; };
Nodes / Transports i386 Linux ICa ORB IIOP OCISoftRT transport (slow rate) PPC Linux ICa ORB ETrax Linux ICa ORB ETrax Linux ICa ORB OCISoftRT transport (fast rate) OCISoftRT transport (fast rate) IIOP IIOP JavaIDL
Development road Simplified dynamics Simplified vision Simplified controller JavaIDL with IIOP Actuate in virtual environment Java ETrax, PPC running Linux OS ICa RTORB with OCI SoftRT transport Partial hardware 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 Full experiment
Conclusions • CORBA can be extended with hard real- time 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
Remaining Issues • 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