Team Status Report for 3/23/24

Risks:

Once again the greatest risk is getting everything to work together in time for the final showcase. We plan on making extra time to meet up outside of class to make sure all the systems are properly integrated with each other.

Design Changes:

We realized that it would be inefficient to control the scissor lift motor as well as to process the data from the sensor to generate a point cloud on a single Raspberry Pi. Therefore, we separated the two tasks into two Raspberry Pis. We need a second RPI, which we were able to get. In doing this, we have to send the z-position of the sensor to the other RPI.

Schedule Changes and Updates:

No major updates to the schedule.

Zuhieb’s Status Report for 3/16/2024

I was able to get the electric components of the scissor lift mechanism working with the Raspberry Pi. There have been some issues preventing me from being able to get the wood necessary to start building the arms, so I focused on getting the electrical systems; namely the linear stepper motor and distance sensor. I need to build out the mechanical component to know what to set the limits of the stepper motor to.  Therefore, my aim next week is to get the wood to cut and assemble the lift and have it working. Due to the unexpected setback, I am a little behind where I would like to have been, but I plan on making the time up this week once the order arrives.

Grace’s Status Report for 3/16/2024

This week, I focused on improving how we combine LiDAR scan data from different parts of a room to make a single 3D model. I used the Open3D library, which is known for its 3D data processing capabilities, including point cloud registration. I’ve made some progress, but aligning the scans from different locations is still a problem. The scans don’t match up perfectly, which has put us behind schedule. Because of these alignment issues, this part of the project is behind schedule. Getting the point clouds to line up correctly is crucial for moving forward and affects the quality of the 3D models we’re creating. Next week, I plan to look for new ways to combine point clouds, beyond what Open3D offers. This might include trying out different registration algorithms for better accuracy. Work on algorithms to fill in gaps in the data. The misalignment means there are areas without enough information. I’ll focus on finding ways to fill these gaps effectively.

Team Status Report for 3/16/24

Risks:

The mechanical stability and reliability of the scissor lift are crucial for the accuracy and completeness of our LiDAR scans. A failure or instability in the scissor lift mechanism could result in incomplete or inaccurate data collection, impacting the quality of the generated 3D models. In the event of significant issues with the scissor lift, we have prepared designs for a shorter, more stable version. 

Utilizing a camera for furniture classification introduces the complexity of accurately associating the identified items with their specific locations within the LiDAR-generated 3D scan. Relying solely on LiDAR data for furniture classification may be limited by the resolution and detail of the point clouds generated by the RPLiDAR.

Design Changes:

A small design change was made to the scissor lift. We have opted to use longer scissor arms and slightly larger bearings, which would mean fewer arms overall, and the larger bearings are more readily available. Neither the longer scissor arms nor the bearings will incur a significant cost as we are still within our budget.

Schedule Changes and Updates:

Some changes were made to the schedule to the Web Application Development section. The 3D Model section was removed as we felt the LiDAR Integration section was covering most of the work with the 3D modeling. The Web App Backend section was also replaced with Web Application Beta because the web app as a whole is being worked on rather than just the backend due to how interconnected everything is and that felt like a better description. More time was given to the Beta section to reflect how it’s just overall development now instead of just one part. The Web App Testing section was also pushed back to reflect this.

Developments:

Overall, just making progress on getting all the parts of out project to work together.

Alana’s Status Report for 3/16/24

Personal Accomplishments:

I had the goal of uploading a 3D model into the web app using the data from the LiDAR. Admittedly, I wasn’t able to make big progress on it as I found getting the web app (which is written in Javascript) to run Python code (which is the language for PyVista and produces the 3D models from the scans) was more difficult than I thought. While I don’t have much to show visually, I’m still learning on the coding side of things so progress is being made there at least.

Progress:

Technically, I’m not behind schedule but I’m not making as much progress as I wanted this week. I plan on doubling my efforts to make things work, but if I keep having issues, I’ll try to get web app’s Three.js (which is what produces 3D models there) to produce the models directly over trying to get it to interface with PyVista. Hopefully it won’t come to that as PyVista has some useful functions that would make the process easier.

Schedule Status: Behind.

Next Week’s Deliverables:

I hope to get more interaction with PyVista and the web app done this week and be able to import models created by PyVista at least.

Alana’s Status Report for 3/9/24

Personal Accomplishments:

I was able to get the web application to build a functional 3D plane that can generate 3D objects, can view models at multiple angles, and has a menu that allows them to change the position of the object. While the visual results are interesting, I think the more valuable progress was bettering my understanding of how to work with Three.js. As I was implementing these features, I came across a library known as React Three Fiber, an open source library that makes Three.js easier to implement with React. Finding this library made coding the 3D space much easier as a lot of the functionality was turned into premade React components. This will help me spend more time implementing and less time trying to figure out how to get Three.js to work harmoniously with React.

Moving an object in 3D space:

Viewing the object at multiple angles:

Progress:

I am currently on schedule as I had hoped to have the prototype of the web application done by now and with the 3D functionality being implemented I am happy with the progress made so far. From here, I’ll start refining the web application as I integrate it to work with the other parts of the project, like getting the lidar data or interacting with the scissor lift.

Schedule Status: On time.

Next Week’s Deliverables:

Now that I have a better understanding of Three.js, I want to start building a system to have it incorporate data from the LiDAR system in real time. I want to see how far I can get with a web app getting models from PyVista and allowing the user to play with them a bit. For the bare minimum, I want to try getting the room scan uploaded into the 3D space.

Team Status Report for 3/9/24

Risks:

The greatest risk remains getting all the different pieces of the project to fit together in the time we have. We’ve made good progress there, though moving forward we’ll probably need to coordinate more directly with each other as the parts of the project become more intertwined for the final product. Making sure we are effectively communicating with each other and our team advisors for this final venture seems to be the best way to avoid risk.

Design Changes:

We reintroduced the design requirement for furniture classification into our design. This required adjustments to the system requirements, updates to the block diagram to incorporate furniture classification components. This made it necessary to include a camera in our design to capture images of furniture in the room. Adding the camera did not introduce significant additional costs because we plan to use a camera from the 18-500 inventory.

Schedule Changes and Updates:

We adjusted the schedule to reincorporate the furniture classification section in the schedule.

Weekly Questions:

Part A was written by Zuhieb, Part B was written by Alana and Part C was written by Grace.

Part A:

With the way we are developing TailorBot, we are aiming to provide a seamless user experience that would allow anyone of any background to interact with our product. TailorBot makes the time-consuming and physically demanding process of interior room designing accessible simply through a computer. This eliminates many existing barriers that prevent people from getting involved with the redesigning process, allowing anyone to use TailorBot regardless of knowledge, technical expertise, location, or physical ability.

Part B:

Our product has a small cultural niche, appealing to anyone interested in interior design. While not grand, it could help foster that community by making the interior design process easier for those outside of the professional sphere. It is not uncommon for communities to form around tasks or projects once reserved for big companies or wealthy individuals as the tools for them become more accessible. For an example, for a long time making video games was only feasible for big companies as they were the only ones with access to the funds and tech to do so. However, in the modern day, multiple successful game titles have been made by small teams or even one person as tools for game development have been made accessible and entire communities about game creation are out there to engage with. While TailorBot isn’t a game development tool, perhaps it could also help make interior design more accessible in a similar way.

Part C:

TailorBot is designed for sectors like interior design, real estate, and inventory management and it provides critical insights into space utilization and arrangement. This room scanning system encourages a more informed approach to space planning and furniture arrangement, promoting efficient use of resources and materials. By providing detailed 3D models and accurate furniture classifications, the system enables users to optimize space utilization, potentially reducing the need for unnecessary furniture purchases and encouraging the recycling or repurposing of existing items. This not only aids in minimizing waste but also supports sustainability efforts by advocating for more thoughtful consumption patterns.

The system’s design also provides environmental considerations. The use of a LiDAR sensor, allows for the rapid collection of spatial data without the need for the use of materials that could harm the environment. The system’s design emphasizes low energy consumption, with components like the Raspberry Pi and efficient LiDAR sensors minimizing the overall energy footprint.

Developments:

Overall, we had made some good progress individually and decided to add back the furniture classification system based on some feedback we got. Here are some pics of what we’ve done.

A scissor lift prototype:

 

3D models in the web application:

Zuhieb’s status report for 3/9/2024

I spent the majority of the week working on the scissor lift. I was able to build a prototype that worked. As we wanted the actual height to be a bit higher, I reviewed the design to accommodate this. I also looked at other potential design choices to improve the stability, such as changing out the lift platform and changing the number of scissor components used. The lift needs to be able to be controlled, so we chose to use a linear stepper motor to do this. Next week I hope to build out the final scissor lift and implement a reasonable system to incorporate the linear stepper motor. I do feel as though I’m on schedule.

Grace’s Status Report for 3/9/2024

This week, my focus was on improving LiDAR data processing and starting the furniture classification component. I managed to combine LiDAR data from different room locations into a single point cloud, a crucial step for creating accurate 3D models of the entire room. Additionally, I began working on furniture classification by downloading a dataset with labeled images and writing preliminary code for data preprocessing and setup for model training.

We’re on schedule with the project’s timeline. The integration of LiDAR data from various positions and the start of furniture classification aligns with our planned milestones.

For the next week, my goals are to advance the furniture classification by training the model on a subset of the data and starting to test its accuracy. Alongside this, I’ll work on improving the 3D mesh quality, specifically developing methods to fill in gaps where LiDAR scanning is insufficient.

Zuhieb’s Status Report for 2/24/24

This week was spent working through some of the final design choices for the stand. We have chosen to continue with the scissor lift, as the rotating mount proves to complicate the calculation (and we have been able to process a slice of a room from the scanner and generate a 3d rendering of it). Therefore, I have been looking for ways to build this, speaking with people from robotics and MechE. I have been told laser cutting the lift would be best, so I made a file ready to be printed and then assembled. I have also worked on getting the Raspberry Pi to work for our project. I feel overall we are on schedule, but I might need to put in extra work during spring break regarding the lift. I hope to have tested the laser-cut scissor lift by next week so I can modify and upgrade the design if needed.