Reflections on CSE 481C:
Tyler:
a) The most fun part was the coding sessions and diving into different aspects of our project. It feels great cracking a problem after working on it for hours. Those moments when everything clicks and starts working are the best.
b) The most useful thing for me was the labs on ROS2. Getting hands-on with ROS2, from the basics to more advanced stuff, really opened my eyes to how powerful and intricate this system can be. It laid a solid foundation for us to build on and experiment with throughout the course.
c) I felt that the lecture times would have been great to get a little more technical or just skip the lectures to give us more time to do the labs and work on our projects. With so little time, I think this should be a great hand-on learning kind of course.
d) One thing that would've been super helpful is having more robots available in the lab. There were times I was just sitting around, waiting for my turn to test stuff out on the robot while other teams were using it. When you're racing against the clock in a short quarter, every minute counts, and it was pretty frustrating to feel like I was losing valuable lab time just waiting in line.
Saket:
a) The most fun part of this project was definitely working with my group members and working together to see an idea come to fruition. Furthermore, being able to work on our code-base and powering through the many bugs and issues to finally get our implementation and robot behavior working correctly was also very enjoyable and fun. There were times where I jumped with excitement after the robot finally did something correctly. It was a a privilege/honor working with such a great group of people to develop this project.
b) The most useful part of this class was definitely the labs and the resources given by the teaching staff to help debug and understand how to communicate with the Stretch Robot and use the various ROS2 packages. They were really useful when trying to figure out how to fix a bug in our implementation or add a new feature. Additionally being part of a diverse group where everyone had different skill sets and strengths really helped when trying to brainstorm ideas and features.
c) As much as I appreciated the fact that team roles should be designated and that each person should have their own subsection of the project they should handle, I felt that the use of team roles and distinctions took away from the learning and responsibilities each team member should gain in this project. Especially since the project did not require a distribution of specialized roles. I think it would have been better if everyone was able to get a strong grip on the ROS fundamentals to begin with so there would not be much reliance on one or two people in the group. Would make it better for the entire group to be more collaborative and engaged. Although this may be tough with the quarter system.
d) It would have been better to have more stricter scheduling surrounding the usage of the robot. There were definitely days where we would waste alot of time trying to wait for the other groups to finish using the robot and we would be sitting there twiddling our thumbs. Most of the time when a group is using the robot it is for a couple of minutes where the run some actual action. Most of the time however it was just idly sitting there. So if there was some more rules surrounding the scheduling of the robot it would have been really efficient and useful.
Joe:
a) From first working on teleoperating the robot on our interface to adding functionality to the "clean a room", the most fun part of this class was iteratively building out our project idea. It was amazing to see how all the pieces came together in the end to finish our final product.
b) The most useful part of this class for me was giving me insight into how to manage different aspects of a project and team members' skills to complete our project by the deadline. It felt similar to what I did during my internships.
c) I think that the roles that we delegated at the start of the quarter were not too helpful. I think that everybody should be somewhat of a ROS guru for these projects in order to be able to contribute to the code, and some of these roles didn't apply to our project like hardware guru. I understand why we assigned roles, however, I think it may be a little constraining for some.
d) I think one thing that would have been helpful to go over in lecture explicitly (it was in one in of the labs) was the standards for how to handle the Stretch robot, especially its battery. I think it can be confusing to people that are new to the stretch how to charge the robot properly and ensure that it's battery doesn't deteriorate. It felt like the battery of the robot by the end of the quarter was worse than at the beginning of the quarter and this might have been because of the way teams were charging the robot.
Atharva:
a) The most fun part of this project was coding sessions resulting in fulfilling results after a long period of debugging. There were many times when the robot behaved differently from what was expected. So, figuring out what was the issue and debugging to get it work and seeing it work was great.
b) The most useful part of the class was when TA Michael was present to help us find resources. Frequently, we would get stuck on various parts of the coding. While a lot of resources/documentation were provided, it was difficult to keep track of. So, the TA's help in navigating through the resources was valuable.
c) One aspect that ai think was not helpful was the aspect of role delegation. I feel that everyone should know everything. Then, they would get a taste of all aspects of the coding the robot.
d) It would be great to have more robots and perhaps workstations for all the teams. It is difficult to complete the project when sharing the robot with other teams. And, having perhaps two workstations per team could enable more parallelized work.
Jaden:
(a) The most fun aspect of the project was the hands-on work with the robot. Programming it and seeing it actually move around and pick up objects felt rewarding.
(b) The most useful part of the project was the collaboration within our team. We practiced communicating, dividing tasks, and leveraging each other's strengths to accomplish our goals.
(c) One aspect that was not as useful was the time spent troubleshooting technical issues. While it's an inevitable part of any computer project, we felt that some of the challenges, particularly how long it took to get the robot to successfully pick things up, could have been mitigated with better initial planning and testing procedures.
(d) We feel that if we could design our own robot we could have made a more effective and affordable robot. We had a lot of trouble picking up objects because of the robot’s crane like hand, but if we had a robot that took a sweeping object’s up approach, this would have been much easier.
To make improvements we suggest encouraging the use of github or gitlab. We only worked on one computer so we could not work in parallel. This also made it harder for us to all understand the code.