This week, I mostly worked on learning about how to connect the thermal camera that we are using to the Raspberry Pi so that we can collect thermal imaging data in the kind of environment and with the kind of data that our system will actually be operating in. I am hoping that next week I will have successfully connected the camera with the Pi (there is a module needed for this that should arrive next week) and collected a good amount of data to test our vision algorithm. I am currently behind on this part of the project because I did not realize that there was another module that we would need to order to connect the camera, but if I can finish this part of the vision component of our system next week, then I will be back on track.
Andy’s Status Report for November 1
This week, I adjusted the powering plan and the motor control plan. I am now using 18650 batteries only to power the whole robot. Powering RPi5 is actually not an easy problem. Its standard current input is 5A. Though the minimum current requirement is 3A, any unstabilility at this current level would cause RPi5 to black out. And unfortunately, most power banks are only 3A. As a result, I decided to order an UPS board to power the RPi5. I also decided to use L298N as motor controller for more stability.
Now, I have fixed the problems in the design of the motor system and are ready for assembling the robot. I am behind the schedule now, but I would work on the project a lot tomorrow and should be able to catch up a significant part of the progress. By putting a little bit more work next week, our group should have a basic working robot model at the interim demo.
Team Status Report for November 1
The main risk at this point is that we have not yet tested and integrated our systems, but we are hoping to have a full system initially working for our live demo in a bit over a week in order to demonstrate a mostly functional initial version of the project. To manage this risk we plan to start testing and integrating our systems as soon as possible (over the weekend and early next week) so that we have time to deal with unexpected issues before our initial project demo.
Since last week, there have been several minor design modifications in terms of the hardware and software that we will be using. We ordered an additional part for interfacing between the Raspberry Pi and the thermal camera, and a few more parts for setting up the physical robot. For software, we changed the SLAM and local path planning software that we will be using since our previously selected software was not compatible with current, maintained versions of ROS. We will now be using SLAM Toolbox instead of Hector SLAM, and Nav2 instead of TEB for local path planning.
Jeremy’s Status Report for November 1
This week I worked on setting up ROS, SLAM, and the local path planning algorithm on the Raspberry Pi. I successfully installed ROS2 Jazzy Jalisco on the Raspberry Pi. For the SLAM and local path planning, I ran into the problem that our previously chosen software of Hector SLAM and TEB are not compatible with ROS2 but only with ROS1, which has been deprecated and thus cannot be used. So, I found new software that works with ROS2 Jazzy Jalisco. For SLAM, I will be using SLAM Toolbox and for local path planning I will be using Nav2. I have begun setting up this new software with the Raspberry Pi.
I am still a little bit behind schedule since I had also wanted to connect and test the Lidar scanner with the SLAM algorithm by this point. To get back on schedule I plan to finish setting up the new SLAM and local path planning algorithms over the weekend and also do the Lidar scanner test over the weekend, so that I can spend time next week on the next steps. By the end of next week, in addition to setting up the SLAM and local path planning and testing the Lidar scanner, I also plan to finish integrating these with the robot controls so that we can do a full test of the system before the live demo.
Soren’s Status Report for Oct. 25
This week I continued working on our person detection algorithm using thermal imaging data, and testing it. Some time was also spent this week on the individual and group ethics assignment. I am currently on schedule and next week I hope to work on setting up the algorithm on the Raspberry Pi and connecting the thermal camera to the Raspberry Pi as much of what we have worked on this week has been setting up the Raspberry Pi. I think it will be important to get a sense of what the data that the thermal imaging camera in practice will be picking up as the next stage of testing and optimizing the detection algorithm. The testing data available on line might not be the best to represent what our system will actually be seeing.
Andy’s Status Report for October 25
This week, I worked with my teammates to set up the respberry pi and adjusted the powering plan for our robot. Some other time was spent on the ethics assignment. Due to the problems with the previous powering plan, I am now behind the schedule. I should be already working on robot assembly at this time according to the original plan. I plan to spend more time working on the project with my teammates. For next week, I will first work on chassis assembly and help with software tasks. I will start robot assembly as soon as I got all the parts I need.
Team Status Report for October 25
The most significant risk for the team at this point is that we have not actually implemented very much yet. We have spent most of our time on design, and have not yet seen how everything will work in practice, so there could be unexpected problems that will arise. Additional risks include remaining uncertainty in the designs for the powering subsystem and for the global path planning algorithm.
There was one main change to the design since the previous status report. This has to do with obstacle detection for local path planning. Since the Lidar scanner may be too high off the ground to detect short obstacles, we determined that an additional sensor was needed closer to the ground for use in local path planning to allow the robot to avoid these obstacles. We decided to use an ultrasonic sensor since it is cheap and simple to use, while also being effective for the necessary task. There was enough extra money in the budget for this sensor, so the most significant cost is that it is an additional component to set up, which we believe we can handle since it should be relatively easy to use.
Jeremy’s Status Report for October 25
This week I worked on setting up the Raspberry Pi. I successfully downloaded an operating system to the Raspberry Pi and began working on setting it up. I am behind schedule now, since I had planned to have ROS set up on the Raspberry Pi by this point and also have downloaded and run initial versions of the SLAM and TEB algorithms from GitHub on the Raspberry Pi. To get back on schedule, I plan to spend more time on the project next week. It will also help that more of the parts will have arrived by then, such as the Lidar scanner and a keyboard which will make it easier to interact with the Raspberry Pi. By the end of next week, my goal is to have finished setting up ROS, SLAM, and TEB on the Raspberry Pi, and also to have connected the Lidar scanner to the Raspberry Pi and use it to perform an initial test of the SLAM algorithm.
Team Status Report for October 18
There have been many minor changes and modifications to the design since the previous status report as we have worked on the design more and added more details. The current design is described in detail in the Design Report. There have not been any changes to the design since the Design Report was completed.
One main risk we have now is the powering plan. The current powering plan is not guaranteed to work as none of us is an expert of circuits and batteries. We will work together on this later to resolve the problem.
Another risk right now is that we have not yet implemented or combined the system yet, so we don’t yet know what problems we’ll run into as we do this. In order to mitigate this risk, we plan to order the parts early this week and start connecting everything to the Raspberry Pi and the chassis. This way we will discover any problems that we might have with the implementation sooner rather than later.
Part A: Our design considers global factors in that we have designed our search and rescue robot to work for a floor of any building. This is why we have designed our robot to be versatile, in that it can discover the layout of the building and does not rely on the building having only a layout that is found in buildings locally. Additionally, our design does not rely on a floor plan of the building being available ahead of time, since for many buildings this may not be the case. This way, our design should allow the robot to be useful for buildings of a variety of architectures across the world, allowing the robot to be helpful in urban search and rescue in a building in any city.
Part B: Our design takes cultural and ethical factors seriously, especially when it comes to saving lives. In rescue situations, people naturally expect technology to be dependable, and it can be hard to accept if someone isn’t saved because of an error in a new system. That’s why we focus on making our robot highly reliable with a very low false negative rate as it should never miss a person in need. The robot is also meant to reduce the risks faced by rescue workers by handling dangerous tasks on their behalf. In this way, our project supports the shared belief that life of rescue workers is as important as people who need help.
Part C: Our design addresses the environmental concerns of keeping humans safe and out of harm from dangers that may appear in a building setting. Our project is also committed to a low-energy-consumption solution to the problem of search and rescue in a building situation; while this is intended primarily to allow our system to be as effective as possible by exploring as much building area as possible because it would not be primarily limited by power, this will also have a secondary effect of minimizing use of environmental resources, i.e. power. Finally, by allowing a rescue team to quickly locate and evacuate people at a disaster site, the process of containing the site to prevent dangerous substances from polluting or destroying the surrounding environment (such as in the event of a gas leak, or building fire) could happen much quicker as well, thereby mitigating environmental damage that could be brought along in such a scenario.
A was written by Jeremy; B was written by Andy; C was written by Soren.
Jeremy’s Status Report for October 18
Since the last status report, the main thing that I have worked on is the design for the SLAM subsystem and for path planning (both global path planning and local path planning). I finalized the overall design, with scan matching-based SLAM used similar to Hector SLAM, and with Dijkstra’s algorithm for global path planning and TEB for local path planning. These designs are described in detail in the Design Report, which I worked on significantly along with the rest of the team.
My progress is on schedule at the moment, with the goal from before having been to have completed the design at this point. I had also wanted to have an initial version of the software working by this point, but that was not feasible yet since the team and I were still working on finishing the design and figuring out the details. I did however find GitHub pages with code for both Hector SLAM that we can use as a starting point for SLAM, and for TEB which we can use as a starting point for local path planning. These are shown in the Design Report.
By next week, my goal is to have these initial versions of the code running correctly on the Raspberry Pi. This will involve working on the software and setting it up in the ROS environment. Additionally, I will order the necessary hardware for these (mainly just the Lidar scanner, plus any wires needed to interface with the RPi) and have this connected to the RPi.
