|
|
|
![]() |
|
|||||||
|
||||||||
How to structure robot code for modularity and testability. Examples in C++ and Java.
This whitepaper describes a method of structuring robot code used in the FIRST Robotics Competition. Many sources give examples of how to get basic functionality working or how to use specific sensors but fewer have approached how to structure the system beyond splitting code by the physical components controlled. This paper is intended to be language-neutral but is aimed at teams who already have some basic level of proficiency in their chosen language.
robot_control.pdf
29-12-2015 22:02
apalrd
I haven't been on CD in awhile and didn't see this, but it's interesting to me.
Your paper appears to be very object-oriented-centric although the concepts themselves could be ported to other paradigms. Moving the block-diagram to the beginning might help with this, and switching from code snippets to more abstract figures and psudocode could help with readability. I honestly don't know C++11 (I learned C++ before 11 and haven't used it since), and I had to look up your note on the 'auto' keyword.
As to the overall architecture:
-Could the status block be removed, as the status-detail should contain all of the information and the method is usually a passthrough?
-Could the ready block be removed, and included in status-detail struct?
11-07-2016 01:33
SoftwareBug2.0|
I haven't been on CD in awhile and didn't see this, but it's interesting to me.
Your paper appears to be very object-oriented-centric although the concepts themselves could be ported to other paradigms. Moving the block-diagram to the beginning might help with this, and switching from code snippets to more abstract figures and psudocode could help with readability. I honestly don't know C++11 (I learned C++ before 11 and haven't used it since), and I had to look up your note on the 'auto' keyword. As to the overall architecture: -Could the status block be removed, as the status-detail should contain all of the information and the method is usually a passthrough? -Could the ready block be removed, and included in status-detail struct? |