CSM/Perception Integration & Cleaner Benchmarking
My work this week was centered around preparing my CSM codebase for the demo, changing my timeline based on feedback from the Professor, and taking measure to prepare for integrating Perception into the CSM framework.
First, in anticipation for the demo, I had to organize my accomplishments to date into a visually-intuitive medium. This meant setting up benchmarks that can work across threads to measure the CSM’s speed when operating through its most critical pathways. These include the time taken between a message being received via a simulated bluetooth connection with a remote user interface, to a frame being extracted from a testing video that simulates a Picamera image stream, and the message being output as motor controls without Perception processing yet integrated. A second benchmark involves a frame being taken by the CSM’s Camera Manager and being pushed to the Comms Manager, where it would be sent via bluetooth to the remote user interface when the user requests a frame snapshot.
Following the demo, the Professor had given us feedback to focus on software integration as soon as possible. For this reason, I changed my and Diego’s timelines to push back our respective work (for me, this involves remote interface development) to integrate Perception into the CSM framework.
There are two circumstances that make this integration difficult. The first being that I cannot yet run or even compile the majority of the Perception code yet since my Jetson Nano has not yet arrived via mail (due solely to COVID-19 complications that have temporarily shut down my apartment’s package system). The second being that Diego, who is the only team member who can currently run the Perception code, is not as familiar with the CSM framework. Since I cannot do anything regarding the first issue, I have been working to improve the CSM for developers not familiar with the codebase to be able to develop on and integrate modules. My first step in this process after the demo has been to improve unit testing measures in order to assure code quality with every major change incorporated into the framework. These testing structs are still being finalized and will be ready for code review in the near future.
0 Comments