
Team Management
Our Structure
Our team was structured via small groups dedicated to each sub division of the project (Book grabbing, Computer Vision, Navigation, Web App and Business).
The main divisions of work can be seen in the "Meet our team" section below. When challenges arose in certain groups, we re-evaluated the groups to allow more people to help in the more challenging areas. For example, when we encountered a lot of technical issues with installations and making the arm move smoothly, the arm team was expanded and a part of the arm team was set aside to focus on the gripper design, a separate goal that still needed to be achieved. This re-arrangement was successful and we now have a smoothly moving arm and efficient gripper design. We assigned Greig as our project manager, who has been responsible for monitoring all the subgroups' progress.
We have had at least one full group meeting per week. These meetings allowed us to discuss the progress of the subgroups, share suggestions on the tasks and make important decisions that require input from all team members. We also use the meetings to set goals for the upcoming weeks or demos. Minutes are taken during the meetings to inform absent team members of the discussions.
​
Development Tools
We use several tools to stay organised and collaborate:
Slack
For group communication. Discussions were organised based on topic in different channels with relevant members.
Trello
For keeping track of tasks and knowing what each member of the team is up to.
​
Google Calendar
For arranging meetings and keeping track of important dates. It was set up to send reminders to team members through Slack.
Google Drive
Used for sharing files and documents, as well as any backups.
GitHub
For code sharing and version control. A different repository is set up for each subsystem and the members of the corresponding team are the collaborators.
Overleaf
For collaborating on formal reports typeset in LaTeX.
​
Skype/Google Hangouts
For online meetings, as we can no longer meet in person due to the recent lockdown.
​
Wix
Used to make this website.
​
Challenges
During this project, there were many occasions where we really tested our team's ability to be flexible.
Firstly, when some areas turned out to be more challenging than expected, we had to re-arrange our sub groups and re-plan some of the goals for our demos. Despite this, we still found we were making good progress, and were indeed on track to finishing the project on time.
The strikes, like for most of the other groups, also created a challenge for us as we had to find a way to present the new features we had created, without the physical robot being present.
Of course, then there's the final, most critical obstacle we faced during this course: the global coronavirus pandemic and the University's move to online learning. Nevertheless, we found we were still able work strongly as a team, even though many of us are now located in completely different parts of the world.
​
​
Replanning
On the left are four Gantt charts to show how our plan changed after each demonstration of the robot. The main changes are also outlined in the accompanying paragraphs. Click the images to download a pdf version to see the details of our planning.
Initial Plan
The initial Gantt chart was part of our Project Plan. The project was divided into milestones and each milestones into tasks which needed to be finished in order to complete the milestones. These tasks are the ones shown in the first Gantt chart on the left.
First demo
After the first demo and feedback on our project plan, a new Gantt chart was produced. The main changes for this iteration are that we removed the idea of having a second arm as we deemed that unrealistic to achieve in the scope of the project. We also removed the recommendation system after feedback on our project plan.
We added tasks and milestones for having a smoother arm motion as the movement was too jerky in the first demo, and we added one for tracking a book in a video feed to allow us to align the robot with the right book. We achieved a website prototype and a book recognition system early, in time for the first demo.
Second demo
By the second demo, we had not been able to achieve smooth arm movement as we encountered a lot of installation problems, including having to install a new operating system which supported a different ROS version for an SDK which could make the arm movement smoother. Because most of our book grabbing team had been busy working on achieving smooth arm movement the goal to grab and pull out a book from a tightly packed bookshelf was also not achieved for the second demo. We set the new goal of achieving these goals time for the third demo.
Third demo
By the third demo we had caught up on all the goals originally set for demo 2 and completed most of the goals for demo 3 as well. Our focus had been on getting the arm to a state where it could smoothly grab a book on the bookshelf and pull it out and we did not have access to the lab or the robot towards the end of the week before the third demo. Therefore, we did not have the time to finish the goal of going up to a book and grabbing it, meaning combining the navigation, vision, and book grabbing to one smooth run.