Software in Tractors: Aspects of Development ... - Club of Bologna
Software in Tractors: Aspects of Development ... - Club of Bologna
Software in Tractors: Aspects of Development ... - Club of Bologna
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Session: Information Technology for Agricultural Mach<strong>in</strong>es<br />
Bonn, 03. September 2006<br />
» <strong>S<strong>of</strong>tware</strong> <strong>in</strong> <strong>Tractors</strong>:<br />
<strong>Aspects</strong> <strong>of</strong> <strong>Development</strong>, Ma<strong>in</strong>tenance and Support «<br />
Dipl.-Ing. Ra<strong>in</strong>er H<strong>of</strong>mann, AGCO GmbH, Germany
Bonn, 03. September 2006<br />
<strong>Development</strong> <strong>of</strong> <strong>S<strong>of</strong>tware</strong> is like build<strong>in</strong>g a Cathedral …
Structure<br />
(1) General aspects <strong>of</strong> s<strong>of</strong>tware eng<strong>in</strong>eer<strong>in</strong>g (<strong>in</strong> agricultural mach<strong>in</strong>es)<br />
(2) <strong>S<strong>of</strong>tware</strong> applications <strong>in</strong> tractors – an overview<br />
(3) Economical requirements for s<strong>of</strong>tware<br />
(4) <strong>S<strong>of</strong>tware</strong> development process<br />
(5) Ma<strong>in</strong>tenance <strong>of</strong> s<strong>of</strong>tware<br />
(6) <strong>S<strong>of</strong>tware</strong> as a product<br />
(7) Integration across manufactures – ISOBUS and other standards<br />
(8) Conclusions<br />
Bonn, 03. September 2006
1) General aspects <strong>of</strong> s<strong>of</strong>tware eng<strong>in</strong>eer<strong>in</strong>g <strong>in</strong> tractors …<br />
• <strong>S<strong>of</strong>tware</strong> controls all vital functions <strong>of</strong> agricultural mach<strong>in</strong>es<br />
• Technical <strong>in</strong>novation is driven by s<strong>of</strong>tware<br />
Bonn, 03. September 2006<br />
• <strong>S<strong>of</strong>tware</strong> is key and core competence <strong>in</strong> agricultural mach<strong>in</strong>ery companies<br />
• Manufacturers <strong>in</strong>tellectual property <strong>in</strong> s<strong>of</strong>tware eng<strong>in</strong>eer<strong>in</strong>g is a key factor<br />
• Quality <strong>of</strong> s<strong>of</strong>tware def<strong>in</strong>es the quality <strong>of</strong> a mach<strong>in</strong>e<br />
• <strong>Tractors</strong> and other agricultural mach<strong>in</strong>es are safety critical systems<br />
• Time, cost and quality have to be balanced<br />
• >> <strong>S<strong>of</strong>tware</strong> can be easily and quickly modified
2) <strong>S<strong>of</strong>tware</strong> applications <strong>in</strong> tractors<br />
Areas <strong>of</strong> s<strong>of</strong>tware applications <strong>in</strong> tractors<br />
1. Basic (tractor) control functions<br />
2. Human mach<strong>in</strong>e <strong>in</strong>terface (HMI)<br />
3. Automatic functions<br />
4. Data management<br />
5. Service and support<br />
Bonn, 03. September 2006
2) <strong>S<strong>of</strong>tware</strong> applications <strong>in</strong> tractors<br />
Basic control functions (tractor tractor)<br />
• Eng<strong>in</strong>e<br />
• Transmission<br />
• Hydraulic spool valves and power lift<br />
• Power tra<strong>in</strong> (4-WD, diff.lock)<br />
• PTO<br />
• Steer<strong>in</strong>g<br />
• Brake systems<br />
• Electrics (light<strong>in</strong>g, washer, …)<br />
• HVAC<br />
Optimisation <strong>of</strong> mechanical functions:<br />
� Efficiency = ‘Load sens<strong>in</strong>g’<br />
� Ease <strong>of</strong> operation<br />
� Flexibility <strong>of</strong> production<br />
� Supervision to reduce wear and prevent damage<br />
� Diagnostic and calibration<br />
Bonn, 03. September 2006
2) <strong>S<strong>of</strong>tware</strong> applications <strong>in</strong> tractors<br />
Human-Mach<strong>in</strong>e<br />
Human Mach<strong>in</strong>e-Interface Interface (HMI)<br />
• Dashboard<br />
• Graphical display systems (term<strong>in</strong>al)<br />
• Operator panels (armrest)<br />
• Multifunction levers<br />
• Warn<strong>in</strong>g and error <strong>in</strong>dication<br />
• External or remote operation<br />
� Identification <strong>of</strong> driver to a mach<strong>in</strong>e<br />
� Ergonomic and <strong>in</strong>tuitive operation<br />
� Driver focus on ma<strong>in</strong> or critical function<br />
� Simple operation / easy to learn ↔ option for manual optimisation <strong>of</strong> tractor<br />
functions via menu setups<br />
Bonn, 03. September 2006
2) <strong>S<strong>of</strong>tware</strong> applications <strong>in</strong> tractors<br />
Automatic Functions<br />
• Eng<strong>in</strong>e – transmission management<br />
• Headland management (automatic operation sequence)<br />
• Automatic steer<strong>in</strong>g via GPS / camera / sensors<br />
• Implement process control<br />
• Precision farm<strong>in</strong>g process control<br />
� Optimisation for unskilled drivers<br />
� Driver focus on ma<strong>in</strong> or critical function<br />
� Intuitive and context sensitive operation <strong>of</strong> parallel processes<br />
Bonn, 03. September 2006
2) <strong>S<strong>of</strong>tware</strong> applications <strong>in</strong> tractors<br />
Data acquisition and logg<strong>in</strong>g<br />
• Mach<strong>in</strong>e (load, condition, performance, position ..)<br />
• Agricultural work<strong>in</strong>g process<br />
• Driver and labour hours<br />
• (chemical) substances and material flow<br />
Office <strong>S<strong>of</strong>tware</strong><br />
• Documentation / Plant Production<br />
• Precision Farm<strong>in</strong>g<br />
• Fleet management<br />
• Account<strong>in</strong>g<br />
Data Management<br />
� Legal requirements for traceability <strong>of</strong> food production<br />
� Economic traceability and optimisation<br />
� Driver is not owner <strong>of</strong> the process<br />
Bonn, 03. September 2006
2) <strong>S<strong>of</strong>tware</strong> applications <strong>in</strong> tractors<br />
Service and Support<br />
• Diagnostic systems (<strong>of</strong>f board)<br />
• Flash download and parameterize the system at<br />
assembly l<strong>in</strong>e<br />
• Field programm<strong>in</strong>g systems for s<strong>of</strong>tware and<br />
parameter update<br />
� Reduce downtime and costs for service<br />
� Track<strong>in</strong>g <strong>of</strong> mach<strong>in</strong>e dur<strong>in</strong>g life cycle<br />
� Increase flexibility <strong>in</strong> production<br />
� Logistic handl<strong>in</strong>g <strong>of</strong> s<strong>of</strong>tware as a (‘mechanical’) part<br />
� Prevent manipulation e.g. speed control, eng<strong>in</strong>e power<br />
Bonn, 03. September 2006
2) <strong>S<strong>of</strong>tware</strong> applications <strong>in</strong> tractors …<br />
Electronic architecture <strong>of</strong> a top end standard tractor<br />
Bonn, 03. September 2006
2) <strong>S<strong>of</strong>tware</strong> applications <strong>in</strong> tractors …<br />
Complexity<br />
• Network 4 (CAN) Busses<br />
• 20 ECUs<br />
• <strong>S<strong>of</strong>tware</strong> per ECU<br />
� Multifunction armrest: 16.000 l<strong>in</strong>es <strong>of</strong> code (50 files)<br />
� Dashboard: 28.000 l<strong>in</strong>es <strong>of</strong> code (94 files)<br />
� Ma<strong>in</strong> tractor-ECU: 120.000 l<strong>in</strong>es <strong>of</strong> code(230 files)<br />
� Vario-Term<strong>in</strong>al: 160.000 l<strong>in</strong>es <strong>of</strong> code<br />
� Term<strong>in</strong>al with L<strong>in</strong>ux OS: 50.000.000 l<strong>in</strong>es <strong>of</strong> code (OS) and<br />
• > 90 % C-Code;<br />
• � 50 % <strong>Development</strong> by OEM<br />
• � 50% <strong>Development</strong> by suppliers<br />
250.000 l<strong>in</strong>es <strong>of</strong> code (application)<br />
Bonn, 03. September 2006
3) Economical requirements for s<strong>of</strong>tware design …<br />
Challenges for s<strong>of</strong>tware design<br />
• Low volumes <strong>of</strong> components<br />
• Differentiation <strong>of</strong> products<br />
• Short life cycles <strong>of</strong> electronic hardware components: μ-processor, memory, …<br />
• Long life cycle <strong>of</strong> mach<strong>in</strong>es <strong>in</strong> production: 10 … 15 years<br />
and <strong>of</strong> spare parts: 15…18 years<br />
• Safety critical system: hazards as mach<strong>in</strong>e operation and <strong>in</strong> public road traffic<br />
• Security aga<strong>in</strong>st manipulation: e.g. speed control or eng<strong>in</strong>e power<br />
Bonn, 03. September 2006<br />
• Costs <strong>of</strong> hardware decrease <strong>in</strong> time compared to performance, but add to each tractor<br />
• Reusability <strong>of</strong> s<strong>of</strong>tware is an economic must
3) Economical requirements for s<strong>of</strong>tware design …<br />
Strategies and Solutions<br />
� Hardware <strong>in</strong>dependence<br />
� Increas<strong>in</strong>g number <strong>of</strong> s<strong>of</strong>tware modules per microprocessor<br />
� Integration <strong>of</strong> s<strong>of</strong>tware modules from (different) suppliers <strong>in</strong> an (any) ECU<br />
� Network topology<br />
� Real-Time operat<strong>in</strong>g system<br />
� Generic s<strong>of</strong>tware modules<br />
� Generic communication protocols<br />
<strong>in</strong>side microprocessor units = Virtual bus system<br />
and on bus networks (CAN)<br />
� Def<strong>in</strong>ite and detailed s<strong>of</strong>tware design and verification processes<br />
� <strong>S<strong>of</strong>tware</strong> version control system<br />
Bonn, 03. September 2006
3) Economical requirements for s<strong>of</strong>tware design …<br />
ECU s<strong>of</strong>tware architecture<br />
External bus<br />
system (CAN,..)<br />
Real-Time Operat<strong>in</strong>g system<br />
Application <strong>S<strong>of</strong>tware</strong> 1<br />
Application <strong>S<strong>of</strong>tware</strong> 2<br />
Internal virtual<br />
bus system (GD)<br />
Basic <strong>S<strong>of</strong>tware</strong>:<br />
• I/O Interface<br />
• Network communication management (CAN, …)<br />
Core <strong>S<strong>of</strong>tware</strong> Microcontroller<br />
Hardware Microcontroller<br />
Bonn, 03. September 2006<br />
Application <strong>S<strong>of</strong>tware</strong> n<br />
ECU
3) Economical requirements for s<strong>of</strong>tware design …<br />
Interchangeability <strong>of</strong> s<strong>of</strong>tware modules<br />
Module<br />
Module<br />
Basic <strong>S<strong>of</strong>tware</strong><br />
Core <strong>S<strong>of</strong>tware</strong> Microcontroller<br />
Hardware Microcontroller<br />
External bus<br />
system (CAN,..)<br />
Module<br />
Module<br />
ECU ‚C‘<br />
Basic <strong>S<strong>of</strong>tware</strong><br />
Module<br />
Core <strong>S<strong>of</strong>tware</strong> Microcontroller<br />
Hardware Microcontroller<br />
Module<br />
Module Hardware Microcontroller<br />
Basic <strong>S<strong>of</strong>tware</strong><br />
Core <strong>S<strong>of</strong>tware</strong> Microcontroller<br />
Bonn, 03. September 2006<br />
ECU ‚B‘<br />
Module<br />
ECU ‚A‘
4) <strong>S<strong>of</strong>tware</strong> development process …<br />
V-Model: Model: design and validation cycle<br />
- Tractor function<br />
- Hardware<br />
- <strong>S<strong>of</strong>tware</strong> architecture<br />
- Network topology<br />
- Module<br />
- Control algorithm<br />
- Simulation<br />
Requirements<br />
Def<strong>in</strong>ition<br />
Basic Design<br />
- C-cod<strong>in</strong>g<br />
Specific Design<br />
- Code generation<br />
Component<br />
Implementation<br />
Component<br />
Test<br />
Integration Test<br />
(ECU)<br />
Vehicle Test<strong>in</strong>g<br />
System Test<strong>in</strong>g<br />
(HIL, Network)<br />
Bonn, 03. September 2006<br />
- Test bench<br />
- Tractor <strong>in</strong>tegration<br />
- Network <strong>in</strong>tegration<br />
- Debugger<br />
- Code tester<br />
- Simulation<br />
- Field test<br />
- Fleet test
4) <strong>S<strong>of</strong>tware</strong> development process …<br />
Quality Management <strong>of</strong> <strong>S<strong>of</strong>tware</strong>: Design<br />
Requirements<br />
Def<strong>in</strong>ition<br />
Basic Design<br />
Specific Design<br />
Component<br />
Implementation<br />
• Risk analysis<br />
• Functional specification<br />
• FMEA<br />
• <strong>S<strong>of</strong>tware</strong> specification<br />
• Network and communication layout<br />
• Manual code generation<br />
Bonn, 03. September 2006<br />
• Simulation, rapid prototyp<strong>in</strong>g and C-code generator
4) <strong>S<strong>of</strong>tware</strong> development process …<br />
Quality Management <strong>of</strong> <strong>S<strong>of</strong>tware</strong>: Validation<br />
Diversification <strong>of</strong> test methods and persons:<br />
• Modul level - manual and automatic test:<br />
� Debugger, Emulator,<br />
� Hardware-<strong>in</strong>-the loop: simulation and stimulation<br />
� Automatic code test tools<br />
• Integration level <strong>in</strong> tractor:<br />
� Validation <strong>of</strong> functionality<br />
� Validation <strong>of</strong> FMEA<br />
• Field test<br />
• Fleet test<br />
Component<br />
Test<br />
»Does a modification <strong>of</strong> 1 l<strong>in</strong>e <strong>of</strong> code require the full test cycle?«<br />
Integration Test<br />
(ECU)<br />
Bonn, 03. September 2006<br />
Vehicle Test<strong>in</strong>g<br />
System Test<strong>in</strong>g<br />
(HiL, Network)
5) Ma<strong>in</strong>tenance <strong>of</strong> s<strong>of</strong>tware …<br />
Maxim <strong>of</strong> s<strong>of</strong>tware updates<br />
Update <strong>of</strong> one module has to be consistent to any other module <strong>in</strong> any<br />
other ECU <strong>in</strong> the network <strong>of</strong> a tractor … for the whole life cycle!<br />
Bonn, 03. September 2006
5) Ma<strong>in</strong>tenance <strong>of</strong> s<strong>of</strong>tware - update process …<br />
<strong>S<strong>of</strong>tware</strong> version control for ECU update<br />
• Hardware - ID<br />
• Bootloader Flash - ID<br />
• Applikationss<strong>of</strong>tware - 1 - ID • Applikationss<strong>of</strong>tware - 2 – ID<br />
• Applikationss<strong>of</strong>tware - 2 – ID•<br />
…<br />
• …<br />
• Applikationss<strong>of</strong>tware - n - ID • Parametersatz - ID<br />
• Parametersatz - ID<br />
• Hardware - ID<br />
• Bootloader Flash - ID<br />
• Applikationss<strong>of</strong>tware - 1 - ID<br />
• Applikationss<strong>of</strong>tware - n - ID<br />
• Hardware - ID<br />
• Bootloader Flash - ID<br />
• Applikationss<strong>of</strong>tware - 1 - ID<br />
• Applikationss<strong>of</strong>tware - 2 – ID<br />
• …<br />
• Applikationss<strong>of</strong>tware - n - ID<br />
• Parametersatz - ID<br />
• Hardware - ID<br />
• Bootloader Flash - ID<br />
• Applikationss<strong>of</strong>tware - 1 - ID<br />
• Applikationss<strong>of</strong>tware - 2 – ID<br />
Bonn, 03. September 2006<br />
Identification <strong>of</strong> hard- and s<strong>of</strong>tware <strong>of</strong> each ECU and each module <strong>in</strong> a tractor<br />
• …<br />
• Applikationss<strong>of</strong>tware - n - ID<br />
• Parametersatz - ID<br />
• Hardware - ID<br />
• Bootloader Flash - ID<br />
• Applikationss<strong>of</strong>tware - 1 - ID<br />
• Applikationss<strong>of</strong>tware - 2 – ID<br />
• …<br />
• Applikationss<strong>of</strong>tware - n - ID<br />
• Parametersatz - ID
5) Ma<strong>in</strong>tenance <strong>of</strong> s<strong>of</strong>tware - update process …<br />
<strong>S<strong>of</strong>tware</strong> update<br />
• Data base conta<strong>in</strong>s all relevant s<strong>of</strong>tware modules<br />
• ‚Label‘ is def<strong>in</strong>ed as a tested comb<strong>in</strong>ation <strong>of</strong> s<strong>of</strong>t- und hardware-versions<br />
Bonn, 03. September 2006<br />
• Update means flash<strong>in</strong>g all modules and ECUs to achieve a higher or lower level<br />
• Update <strong>of</strong> a s<strong>in</strong>gle ECU or module is not possible
6) <strong>S<strong>of</strong>tware</strong> is a product <strong>in</strong> general …<br />
• Modular architecture <strong>in</strong> s<strong>of</strong>tware und communication (generic protocol)<br />
Bonn, 03. September 2006<br />
• Identification and registration <strong>of</strong> <strong>in</strong>dividual s<strong>of</strong>tware equipment <strong>of</strong> a customer tractor<br />
• Commercial release process for a s<strong>of</strong>tware update on dealer level<br />
• Protection aga<strong>in</strong>st copy<br />
• Organisation, adm<strong>in</strong>istration and logistic processes
7) Integration across manufacturers - ISOBUS …<br />
Standards, the way to handle complex electronic structures:<br />
Bonn, 03. September 2006<br />
… the automotive approach: … the agricultural mach<strong>in</strong>ery approach:<br />
AUTomotive Open System ARchitecture<br />
‘ISOBUS ISOBUS’ ISO 11783
7) Integration across manufacturers - ISOBUS …<br />
Manufacturer ..<br />
Manufacturer C<br />
Manufacturer B<br />
Manufacturer A<br />
Manufacturer ..<br />
Manufacturer C<br />
Manufacturer B<br />
Manufacturer A<br />
Bonn, 03. September 2006<br />
Manufacturer ..<br />
Manufacturer C<br />
Manufacturer B<br />
Manufacturer A<br />
Manufacturer ..<br />
Manufacturer C<br />
Manufacturer B<br />
Manufacturer A<br />
Manufacturer ..<br />
Manufacturer C<br />
Manufacturer B<br />
Manufacturer A<br />
Manufacturer ..<br />
Manufacturer C<br />
Manufacturer B<br />
Manufacturer A
7) Integration across manufacturers - ISOBUS …<br />
An approach for further manufacturer <strong>in</strong>tegration<br />
Anwender-Plattform<br />
Anwender Plattform ISOBUS e.V. e.V<br />
• Membership for manufacturers, associations,<br />
suppliers, test <strong>in</strong>stitutes<br />
• Platform for electronic eng<strong>in</strong>eer<strong>in</strong>g<br />
• Coord<strong>in</strong>ation <strong>of</strong> <strong>in</strong>dustrial <strong>in</strong>troduction <strong>of</strong><br />
electronic standards<br />
• <strong>Development</strong> <strong>of</strong> test tools and test scenarios and<br />
documentation (data base)<br />
• Organisation and performance <strong>of</strong> workshops,<br />
plugfests and certification tests<br />
• Coord<strong>in</strong>ation <strong>of</strong> technical enhancements<br />
• Tra<strong>in</strong><strong>in</strong>g<br />
Bonn, 03. September 2006
8) Conclusions …<br />
Grow<strong>in</strong>g <strong>in</strong>crease <strong>of</strong> …<br />
Functionality <strong>of</strong> s<strong>of</strong>tware:<br />
• Automatic control <strong>of</strong> mach<strong>in</strong>es and processes<br />
• Field robotic<br />
Complexity <strong>of</strong> s<strong>of</strong>tware:<br />
• Number <strong>of</strong> modules and their <strong>in</strong>terdependencies<br />
• Integration <strong>of</strong> mach<strong>in</strong>e networks and data l<strong>in</strong>kage to <strong>of</strong>fice s<strong>of</strong>tware<br />
Eng<strong>in</strong>eer<strong>in</strong>g efforts and expenses:<br />
• … for design and development <strong>of</strong> s<strong>of</strong>tware<br />
• … for test and validation <strong>of</strong> s<strong>of</strong>tware<br />
Bonn, 03. September 2006<br />
• … for adm<strong>in</strong>istration and support <strong>of</strong> s<strong>of</strong>tware <strong>in</strong> production und service
8) Conclusions …<br />
… possible approaches<br />
• ‘Th<strong>in</strong>k <strong>in</strong> processes’<br />
• Improve methods for absolute encapsulation <strong>of</strong> s<strong>of</strong>tware modules<br />
• ‘Functional safety’: improve robustness <strong>of</strong> s<strong>of</strong>tware<br />
• Extension <strong>of</strong> standards e.g. ‘ISOBUS’ (ISO 11783)<br />
Bonn, 03. September 2006<br />
• Establish models and platforms for s<strong>of</strong>tware development processes between manufacturers<br />
• Establish economic platforms for s<strong>of</strong>tware cooperation between OEM and suppliers<br />
• Open source systems – or at least open architecture