Team Report 4/29/2023
Significant Risks:
- Docking Procedure may not be entirely robust
- Should be enough as an MVP and for majority of cases
- There may be edge cases where the system does not dock properly (next to a wall, in a corner, next to/under a table
- Arm lift may not hit the 10 lbs described, but can lift empty bin and possibly more for testing
- Battery bank is not going to last the desired five hours of runtime, but we do not consider this a major risk, as it does not change the functionality of the Robot
Design Changes:
- Added back rear facing camera for bin docking alignment
- The LiDAR didn’t provide enough depth differentiation of the bin when placed up against a wall, so alignment without a rear camera was difficult
- No changes have occurred on the hardware side since the last report
Schedule/PM
- Still slightly behind on test/integration, will be making use of finals week
- Hardware freeze will be occurring tomorrow since the bin lift system has been verified
- Components glued down and fixed in place for the final time
Testing:
- aRUco Identification test (success)
- Navstack Test (success)
- Bin lift test
- Basic lift without additional weight (success)
- 10lb lift (extrapolated for failure)
- Movement Speed Test (success)
- Human Collision Test (success)
- Preliminary bin alignment for bin docking subsystem test
- Changed design to include 2nd web cam after finding LiDAR object detection being unreliable
- More robust docking test with arms to lift bins are needed
- Integration testing left for next week after hardware freeze is done
- 2 Battery tests, one projected for failure, this weeks test showed 80% battery drainage over 4 hours. We ordered a new Roomba battery from last week, considering design changes for additional battery for battery bank.
- Testing results : https://docs.google.com/spreadsheets/d/1Fv7A8lMn3GBn9MV8tf394E4ilYxbIwjUDCy7U3aQ8g0/edit?usp=sharing
Team Status Report for 04/22/23
Significant Risks
- Motor controllers are functional but are not being enabled properly by Jetson GPIO
- The Jetson’s pins have extremely low drive strength and cannot drive high current/high capacitance loads
- This issue is being actively worked and a possible solution is being tested
- Since arms are currently not working, docking testing and docking iteration has been slowed.
- Additionally, as arms are not fully integrated, the maximum lift capacity is still not known. We may decide to get more powerful motors as
- Battery bank is not going to last the desired five hours of runtime, but we do not consider this a major risk, as it does not change the functionality of the Robot
Design Changes
- No longer using a read-facing camera due to distance inaccuracies when docking. We are instead going to use the LiDAR to do alignment for bin docking, and bin ID with the front camera
- Due to the GPIO drive strength issues, we’re testing a design that uses MOS’s for controlling input into the stepper drivers, as well as more current-limiting resistors
- Increased the gear ratio and cam distance for the bin lift for higher weight capacity and more stability
- Added wheels to the end of the lift arms for greater stability and more precise arm height
- Using Jetson Xavier NX for the final onboard computer as it provides a better development experience over ssh.
Schedule/PM
- Still behind on test/integration, will be making use of finals week.
Team Status Report for 4/8/2023
Significant Risks
- Navigation Stack compiles and runs, still working on tuning configuration parameters and sensor data for more accurate results with path planning and movement, but made progress, found crucial bug that treated odom frame as a static transform w.r.t the world.
- Localization is better, but still has a lot of drift
- An example of starting pos vs ending pos for point cloud array for localization
- The preliminary stepper config results in lower-than-expected torque
- Map update / Control loop update rate has been decreased significantly due to hardware limitations
Design Changes
- Nothing concrete on hardware, but consider looking at higher gear ratios or more powerful stepper motors to reach 10lb lift target (based on initial test)
- None on software side
Schedule/PM
- Still behind on test/integration, will be making use of 1 week slack time
Team Status Report for 4/1/2023
Significant Risks
- Battery life: we’re currently not seeing the expected longevity from the single pack, so may have to go to 2 packs in parallel
- Navigation Stack compiles and runs, moving on to tuning configuration parameters and sensor data for more accurate results with path planning and movement
Design Changes
- None to report on hardware side
- We have updated the Roomba library and changed the serial baud rate. This has enabled the odom topic in ROS. Seems to be good enough to get basic path planning working, but needs more testing.
Schedule/PM
- Slightly behind on test/integration, will be making use of 2 week slack time
We do have some photos to add, but sadly wordpress isn’t allowing uploads 🙁
Team Status Report for 3/25/2023
Significant Risks
- Roomba odometry data
- The Roomba provides very unreliable odom data. This is backed by many complaints found online about its unreliability.
- This poses an issue for other systems that rely on odom, such as navigation, and gmapping (an alternative SLAM engine that produced worse results when compared to hector SLAM).
- During navigation to a target goal, the Roomba would just spin in a circle.
- We plan on using laser scans to replace odometry data.
- Transparent Objects
- Transparent objects, such as windows, produce unreliable maps. To create better quality maps, we have blocked the bottoms of windows that are inline with our lidar system.
- We are not sure how this will affect localization, further testing is necessary to see if windows need to be blocked during operations.
Design Changes
- Due to the aforementioned issues with Roomba odometer data, we have decided to use laser scans to produce odom data.
Collaborated on Navigation stack bring up.
- We were able to produce odom data by using the laser_scan_matcher package for ROS.
- We have successfully setup navigation on the Xavier NX. We were able to produce a global path to the target, but were unable to get the Roomba to follow the path (it just turned in a circle).
Team Status Report for 3/18/2023
Significant Risks
- LiDAR mapping
- When we attempted mapping HH1307, the system had trouble with recognizing windows as walls. While mapping we used tethered driving, which required us moving behinds the robot, so we may have impacted the accuracy of the map. Now that we have tele-op functionally working, we will attempt mapping again. Additionally, we will also setup our backup LiDAR system (RealSense L515) to see if it has similar issues.
- Bin CV with movement
- Ros Navigation Stack Setup
- Need to attempt setting up navigation, but this is limited by our understanding of ROS. Additionally, navigation is limited by the map quality produced by SLAM, so mapping is a hard dependency as of now.
Design Changes
No design changes were made, but we did buy a USB network adapter so we can connect to the Jetson wirelessly if using the AGX. This will allow us to remote access for debug, monitoring, and tele-op for driving, map creation.
Photos
Team Status Report for 3/4/2023
The most significant project risk at this point is successful integration of various components. We are making good progress on getting individual components working, but because there are so many hardware and software elements it will be a challenge to complete this on time. For mitigation, there’s not a ton we can do, other than adhere to the schedule and use the built-in SLACK time as necessary; though we have obtained backup items in case the Jetson Xavier AGX and/or SLAMTEC LiDAR do not meet our requirements.
There were no major changes to the overall design or its requirements since the last status report. Our current implementation details can be found in the full design report.
As a team we spent most of our time this week on the design report, so that’d be the biggest artifact produced. We have also got a POC for SLAM running on the Jetson using ROS and hector SLAM.
Q: As you’ve now established a set of sub-systems necessary to implement your project, what new tools have your team determined will be necessary for you to learn to be able to accomplish these tasks?
A: As we have transitioned from using Matlab to ROS, the team must learn ROS as it will be the framework used for controlling the robot and implementing SLAM.
Team Status Report for 2/25/2023
The current risks and their associated mitigations are listed below:
- Jetson Xavier AGX ethernet connection is unreliable. We’re attempting to reconfigure the computer but mitigation plan will be to switch to the Jetson Xavier Nx.
- Last year’s team that worked with the Roomba used a Xavier Nx for their Project, and seemed to have less problems
- Stepper motor gearboxes are quite expensive, and purchasing them would put us a bit too tight on budget. We’re looking at 3D printing gears instead to achieve a lift weight that meets design requirements. If this fails, another lift mechanism will have to be created.
- SLAM/LIDAR: After reflashing the Jetson, it has successfully connected to Matlab. Some Matlab LIDAR api calls were built for the Jetson, but a full build has not been attempted with all possible api calls. In case full build does not succeeded, will attempt ROS slam.
There have been no major project changes yet, but pending the success of 3D printed gears we may have to redesign the lift system. [Add anything else]
We haven’t changed our project schedule, but there has been more collaboration on different tasks than just 1-2 group members. Notably, all 3 of us worked together on the Roomba’s tethered driving. Task fill and assistance is listed below:
- All 3 of us supported Roomba bringup
- George will help Zach with stepper motor control
- [Others?]
Project successes this week:
- USB camera calibration and distance detection
- Roomba drive control
- Jetson reflashed
- Matlab LIDAR: Jetson conected to Matlab, Matlab -> Cpp test build on Jetson succeeded.
[Drop in photos/links if we want]
Team Status Report for 2/18/2023
Risks: LIDAR data processing/path planning, attachment points to Roomba for compute package and docking system, and others maybe? Contingency: Pivot to other open source Lidar packages, or worst case pivot to overhead camera and network call procedure. Docking mitigation is no bin lifting and wheels instead
Design changes: consolidate power system into 1 large battery pack, power USB devices through Jetson. Use Matlab for CV things, and convert to C.
Updated schedule: added more slack post-spring break for component design and test. Re-ordered LIDAR bring-up and path planning simulation.
Engineering principles: Worst-case analysis for power, Reliability for pickup mechanism, KISS for picking the SLAM libraries that we are using.
Documentation: Git history changes can be found https://github.com/gxgao/eceCapstone