Late nights, excitement and learning are how I would describe the GSoC period in a few words. These past two months have been a lot of fun, from starting off...
Week 6: Coding Period
This week was quite hectic for me. My college started offline after a while, due to travelling and a few other events the time I could spend on Visual Circuit was reduced to a certain exent.
Still, I managed to make some progress on last week’s goals.
I continued work on the FSM, I realized that the old block model I was using was unsustainable. This was due to a flaw in which all of the states were not updated, i.e. when the control moved from block 0 -> block 1 -> block 2 the state changes from 0 -> 1 -> 2. However block 1 will keep supplying state 1 to block 2 even though block 2 supplies 0 to block 0, this cause block 2 to repeatedly execute.
To fix this I switched to a Master-Controller relationship between the blocks as suggessted by my mentors last week. This involved having one block just to oversee the state and control the other blocks, the diagram looked something like this:
After this implementation I was able to get the Vacuum Cleaner implementation working the way it was intended. However there were certain cases in which it showed erratic behavior still. I showed it to my mentors and the conclusion seemed to be that the multiprocessing aspect of the application was causing some unexpected behavior. To fix this I suggested having a lock for the process what was currently being executed, however we did not come to a fixed conclusion about this issue.
Last week I had found pdoc as a useful tool for documenting the application. This week I extended on last week’s work by writing a simple Python script to extract all the json data from the block files, store them as python files and then run pdoc on them to generate some rudimentary documentation.
The next step for this was to adapt the tool to work according to our needs. That part will be worked on next week. The problem with the json implementation and custom block type work meant that this will require some rewriting of the code of
Perhaps, not 100% sure about it yet.
While giving a demo of some blocks I found that the Threshold block was incorrectly saved in the Tool, that will be fixed in a PR soon. Aside from that I identified what was causing the bug of the blocks opening with very small sizes. Apparently while saving the blocks their size was saved incorrectly. By editing these values in the JSON I was able to restore them to a normal size. This meant that would open in the correct size by default and the user would not have to spend time trying to re-size them.
On an unrelated note, the Mid-Term evaluations of GSoC were this week. Quite happy that the project is on track!
No new Issues were raised this week
No new Pull Requests were issued this week however some corrections and updates were made on already active ones from the previous week.
Going by the suggestions of my mentors, I spent this week working on the documentation of the blocks and some updates to my blog.
This week I looked into MultiProcessing Conditions and finished the video of the FSM.
This week saw the completion of the FSM video and the solution to the block size bug.
I made more progress with the documentation and some other auxillary bug fixes this week.
Another pretty busy week for me personally. This led to a bit of slowdown in the work done. However I started with the documentation editing through Jinja an...
This week was quite hectic for me. My college started offline after a while, due to travelling and a few other events the time I could spend on Visual Circui...
This was a week where I started to work on the Finite State Machine that I had mentioned in my proposal.
This week marked a focus on completing the remaining PRs from last week. I also finished adding a new IMU block and worked on general share() and read() func...
This week I finally finished the remaining templates from last week. I also managed to upload my created videos to the JdeRobot YouTube Channel.
This week was about identifying and solving some bugs I had noticed during usage of the tool. I also started with the work template updation.
This week marked the official beginning of the coding period. Going by last week’s set goals I started on the video creation part first and foremost.
This was the last week of community bonding, however due to other commitments in college I had a hard time working on Visual Circuit.
In my previous posts I had highlighted the challenges I faced while installing Jde Drones and getting code running on it. Next after these steps was to solve...
After I got the drones running now it was time to actually write the code to solve some exercises. The goal for this week of the GSoC period was to get 1-2 a...
Getting started with my GSoC period, one of my goals during the project was to make drone applications using Visual Circuit. JdeRobot’s Academy already has s...