Casper’s Individual Status Report Apr 20 2024
In this next week, I am planning to test and polish up the search algorithm on the Hexapod. This will involve interfacing and calibrating the compass bearings provided from the VSLAM library.
I am also the speaker for our final presentation this week, so I will need to prepare the slide deck and script.
Finally, I will work with the rest of the team in integrating all the Hexapod systems together (ie. image detection, search algorithm communication) then begin validating the whole system.
Being completely new to robotics before this capstone, I learned a lot about ROS throughout this project! I did so through auditing the 18448 class, as well as reading documentation as well as video tutorials.
Although I already knew the fundamentals, I also learned a lot more about 3D printing, as well as all the issues that come with it and how to debug them (ie. bed leveling, nozzle temperature, filament type). A majority of this learning came from simple trial and error, as well as asking others more knowledgeable about the issues that I encountered.
Casper’s Individual Status Report Apr 6 2024
We were able to establish a lot of progress over this past week before our interim demo! With our reflashed Jetson, Akash and I were able to create some shell scripts that automates the process for setting up our ROS environments in the Docker containers. With this code in our Github, we are able to easily setup new Jetsons with the correct dependencies for YOLOv8.
Additionally, I was able to write a simple tracking algorithm such that it is able to turn towards and follow humans up to a certain distance. After mounting battery packs and Jetson onto the Hexapod so that it is fully mobile, I was able to test that this algorithm worked (which can be seen in the group updates video)!
What deliverables do you hope to complete in the next week?
Over this coming week, I hope to have fully implemented VSLAM on our Jetson, in order to determine whether it is feasible or not. If we decide to proceed with VSLAM, I also hope to add to the shell scripts to automate the setup for this package.
I will also help Kobe with the overall state control and search algorithm since I wrote the simulation code for it. Additionally, I will assemble and manufacture our remaining Hexapods so that we have swarm SAR.
Casper’s Individual Status Report Mar 30 2024
As seen in our group update, we unfortunately had our SD card corrupted, so had to reset our Jetson OS and environment for running everything. Fortunately, we had most of our code pushed to Github, so we only had to make minor recoveries for the code.
Before the corruption, I was able to set up the Intel RealSense camera and create a Python script to read color and depth images from it. We decided to transition from the Eys3D camera due to lack of documentation in getting stereo images. Since the SD corruption, I have spent a few hours with the team on recovering our progress, particularly in learning how to use and backup our Docker containers such that we can avoid losing progress if it happens again.
Additionally, I have been in charge of designing and 3D printing the structural harness to mount the Jetson, battery packs, and Intel camera onto the robot, such that it can be fully portable without wall plugs. Since the battery harness is very large, it took 17 hours to print a full version, as well as having to level the printer bed several times (see failed print on the right :/).
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
The SD card corrupting did put us back a few days. Our team has been working a lot of additional hours to catch up, but we are still a bit behind schedule.
I think one of the most difficult parts of this project has been actually planning what to do efficiently. Since much of what we are doing is very new to us, being the first time working in ROS and on an NVIDIA embedded computer, we have spent a lot more time than anticipated figuring out exactly what to do and how to achieve it.
What deliverables do you hope to complete in the next week?
Since this coming week is interim demo, we are hoping to have one Hexapod as close to finished as possible. On my side, this involves mounting everything onto the Hexapod and resoldering the power source for the Raspberry Pi.
I will try implementing what I have learned into making the NVIDIA docker script tailored to our specific use case, and also experiment more with VSlam using the Intel camera.
Casper’s Individual Status Report Mar 23 2024
Over this past week, I was able to get Isaac ROS VSLAM running on our Jetson Orin Nano, using example data provided from a RosBag (see image below). We have verified that VSLAM does work through the visualizations, but are yet to verify this using our own data.
Furthermore, I have been working together with Kobe to develop our master controller node, which handles the overall flow logic of the robot (ie. transitioning from search state to find state, the actions to do within each state). This has involved
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
We are still a bit behind schedule, as we had originally planned to begin testing and integration by now. So, we will have to eat up some of our slack time.
What deliverables do you hope to complete in the next week?
Over this next week, I hope to complete the controller node such that we can have all the software (excluding VSLAM for now) fully integrated, such that the robot is able to move around and search for objects.
Casper’s Individual Status Report Mar 16 2024
What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).
I encountered a few blockers this week, which meant I did not get to get as much done as I want unfortunately. Since we are still working on finalizing the controls for the robot, I decided to wait on implementing SLAM. Instead, I have been helping Akash on tuning the Hexapods with the ROS library that we found, but we have decided to pivot as the library does not seem to be super reliable. I have also been doing a lot of learning into Docker containers and ROS, since I am not super knowledgeable, by completing some assignments from relevant robotics courses on my own Jetson Nano.
Additionally, since we are using stereo cameras on our robots now, I designed and printed some retrofit mounts for the camera, which can be seen in the photos.
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
I think we are falling a bit behind schedule, as we will need to implement SLAM fairly soon. However, we have redefined our MVP to be simpler, such that we do not necessarily need SLAM for the product to work – this means that we will not have the Medbot be able to track other bots. However, we will still endeavour to have this done by demo.
What deliverables do you hope to complete in the next week?
This week, I will help Akash in finalizing the controls algorithm, which involves redesigning the Freenove library. Hopefully after that is complete, I can begin working on SLAM.
Once we decide on the power bank / battery pack for the Jetson, I will also design a mount for that.
Casper’s Individual Status Report Mar 9 2024
What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).
Over the past week(s), I was able to deploy Isaac ROS YOLOv8 on the Jetson Orin Nano – it took a while to setup all the dependencies as well as understand how to use Docker containers. Isaac ROS YOLOv8 is able to run within a second or so on a simple photo, which is significantly faster than YOLOv7 on the Jetson Nano.
I was also able to complete the simulated search algorithm to include and account for multiple Hexapods, and profile the expected speedups we should see through multiple simulated runs. The example below shows that we should expect to see over a 2x speedup with 3 hexapods. The example on the left simulates the Hexapods without optimized behaviour (walk randomly), and the example on the right simulates the Hexapods with optimized behaviour (avoid places that you have previously walked).
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
I think I am more or less on our original schedule. However, since we failed to account for the work we had to do in SLAM and map merging, I think I will need to put in more effort for the second half of the semester.
What deliverables do you hope to complete in the next week?
For this week, I think I will take the initiative and begin implementing the SLAM and map merging algorithms on the robots, which first involves installing the cameras onto the robot and interfacing it with the Jetson Orin Nanos.
Casper’s Individual Status Report Feb 24 2024
What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).
Over this past week, I have been spending most of my time on creating the simulated search algorithm, which can be found in our Github, and also in the image below.
Currently, the Python software is able to create and visualize a 2D search grid, and the Hexapod is able to take a random step in each time unit.
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
Unfortunately, I had a fever this past week so was unable to do as much in-person work as I would have liked to; hence, I spent most of my time working on the simulation since I could work at home. As a result, we are slightly behind schedule on getting the Jetsons working and on the robot. Now that I am better this week, I hope to spend more time in the lab rooms completing the hardware setup.
What deliverables do you hope to complete in the next week?
Currently, the Hexapod search algorithm is stateless, so I hope to make some simple optimizations so that it has a better baseline search. I will also need to add functionality such that multiple Hexapods can search efficiently. Then, I will profile speedups in search time vs. number of Hexapods.
Casper’s Individual Status Report Feb 17 2024
What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).
Over this past week, I have spent the majority of my time bringing up the Hexapod. This has involved assembling (which took a surprising amount of hours, calibration of servos, setting up the Raspberry Pi with the relevant software, and testing the control of the robot. In the meanwhile, I also read a lot into SLAM with my team, since we need to consider how the Medbot is able to locate and move to other Hexapods.
The working robot can be seen in action here!
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
I think we are somewhat on schedule. We made a decision to only order one Hexapod rather than all three to give us more budget to pivot in case there was some error. So, we have done everything that we set out on the Gantt chart, but only on one robot rather than 3. We think that the bring up of the remaining Hexapods will be much faster, since we will already have experience and suitable tools.
What deliverables do you hope to complete in the next week?
I am delivering the Design Review presentation in this coming week, so I will be spending a majority of my time working on the slide deck and also script. When
Casper’s Individual Status Report Feb 10 2024
Asides from working on the project proposal presentation this past week, I finalized and made the orders for hardware, such as the Jetson Nanos and camera. I have been doing some readings into distributed search algorithms.
We are currently on schedule, according to our planned Gantt chart. However, we will need to add some additional work to to our current schedule, as we did not factor in SLAM earlier.
We are expecting to receive the Hexapods on Feb 12th, so I hope to assemble the robots in the first few days, then develop and validate the existing controls firmware so that the robots are able to move accurately. I will also do some readings into SLAM along with my other team members.