Zach’s Status Report for 3/25/2023

This week, I had some unforeseen events not related to our project that meant I spent less time than planned. Specifically, I wasn’t able to fabricate the lift arms, but made some progress on coming up with a design for our electronics shield. For testing the LiDAR mapping, I had to come up with a temporary solution to mount all the electronics, which ended up being some wire to fasten the battery, Jetson, and LiDAR in place.

I also helped with some of the LiDAR mapping and interfacing with the Roomba.

In lieu of this, I’m again behind where I’d like to be, but unless unforeseen events come up this week I have far more availability than this last to perform fabrication. Specifically, I’d like to get the electronics shield made in addition to the lift arms. I already have CAD models for the bin modification so making those will be a matter of laser cutting.

As for schedule with the interim demo, I plan to have the lift subsystem complete by the end of the week, including stepper motors and gears/cams. While I may not be at the stage to test auto-docking and lift, I can still showcase the lift system on its own. Other than that, the slack time will probably used for integration. After the hardware fabrication and verification is complete, I’ll probably move over to the software side since that’s where our main integration challenges lay.

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).

Jack’s Status Report for 3/25/2023

  • Week recap
    • Worked on navigation bringup with George.
    • Successfully created global planned path from robot to target location.
    • Setup gmapping as an alternative SLAM mapping engine. It resulted in a poorer quality map when compared to Hector SLAM.
    • Debugged faulty navigation. When attempting to follow a planned path, the robot does not make any progress, it just spins in circles. We have identified a possible error in odometry data.
    • The odom data provided by the Roomba seems to be very unreliable. Many people have mentioned this online. This may be causing navigation/gmapping issues as both rely on odom.
    • We have identified an alternative method of gathering odom data. Specifically using laser scans to emulate odom.
  • Schedule
    • On schedule, debugging navigation
  • Deliverables
    • Check in with usb wifi adapter package shipping timeline.
    • Continue debugging navigation/odometry
    • Implement laser scan odom.

George’s Status Report for 3/25/2023

Tasks:

  • More ROS exploration, continued to work with Jack on Navigation Stack bring-up
  • Navigation Stack installed
  • Tried GMapping over Hector slam, but got a worse map than hector slam, due to heavy odometry error.
  • Path planning through ROS & RVIZ seems to work, encountered challenges with following said path physically

Schedule:

  • This week was slack week, so theoretically still on schedule

Next Week:

  • Want to finish navigation stack bring up, and test robot physically works with the stack.

 

 

Jack’s Status Report for 3/18/2023

 

  • Week recap
    • Ordered wifi module for Jetson Xavier AGX. This will allow remote control and monitoring.
    • While we wait for the wifi module to arrive, I setup the backup Jetson Xavier NX. The NX comes with a wifi module installed, so I was able to ssh into it over CMU-SECURE right away.
    • Installed ROS onto Xavier NX
    • Used the python modules pycreate2 + sshkeyboard to control the Roomba over ssh.
    • Installed Hector SLAM onto the Xavier NX
    • Used Hector SLAM to map HH1307 with team. When attempting to map nearby the windows of the room, the map became very inaccurate as it could not identify the window as a wall.  We were using tethered driving to map, so we had to follow the robot closely, which may have impeded its mapping accuracy. Now that I have remote control working, we will attempt mapping again to see if the issue persists. I also want to test our alternative LiDAR sensor (Intel l515) to see if it has the same issue.
    • Completed ethics assignment.
  • Schedule
    • Did not start navigation, as I focused on getting the NX setup, and getting remote movement working. I’m going to work on navigation this Sunday with the team to make up on time.
  • Deliverables
    • Setup wifi module on Xavier AGX once it is delivered
    • Get navigation bring up ready.

Zach’s Status Report for 3/18/2023

This week I was able to CAD the mounting plate for our lift arms, and the lift arms themselves are in progress and will be done tomorrow. I tried to design them for high load capacity, since I’m not too sure about the strength of plywood. I also worked on some of the drive code using the pyCreate2 API, since that’s what we’ll be using for the full system, and supported making our first map of HH 1307. roomba_v1.py

I’m still a little behind schedule with the CAD, but have been making good progress to catch up. I’ll be working hard to iterate the design if needed, but the CAD models for the arms are simpler than the top, which should help. Assembly will be rather quick as well, since I’m designing with notches and slots that fit well together.

This week’s target is to have bin docking done, which will be on schedule if I can complete the bin arms in the first half or two-thirds of the week. Not sure if docking will be able to occur using CV, but I can always test with a remote connection to the Jetson to make sure all mechanisms are working.

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

 

George’s Status Report for 3/18/2023

  • Week recap
    • Worked with team to incorporate entire Ros Navigation Stack setup on Jetson https://github.com/gxgao/eceCapstone/commit/90eac2dfaa66f95673eb20bf9b45bb73561d2cd6 (WIP).
    • Completed Ethics Report
    • Primitive HH 1307 mapping with hector slam on Roomba level completed with team:  https://github.com/gxgao/eceCapstone/tree/master/catkin_ws/maps
      • Initial map seems to be messed up due to the floor level windows of hammerschlag. Further testing needs to be done, in addition to integration with odometry data.
    • Odometry python Ros infra setup:
      • Learning curve for python ros interface
      • https://github.com/gxgao/eceCapstone/blob/master/encoder_node.py
  • Schedule
    • Behind Schedule on Path planning. Path planning bring up is tied to navigation stack, deprioritized to bring up movement before path planning through goal publishing node will be done.
  • Deliverables
    • Get Roomba motor control setup with ROS
    • Navigation stack completion
    • Encoder data pull from pycreate

Zach’s Status Report for 3/4/2023

This week I spent most of my time on the design report linked below, since we wanted to make it quite thorough. That took more time than expected due to Google docs formatting issues. I benchmarked the stepper motor’s current draw and best pulse frequency across various micro step configurations. I also created the CAD model for the cam for the lift system.

Team_B4_Design_Report

I’m still slightly behind on CAD modeling and fabrication, but slack time this week and having the design report complete will allow me to get everything made. It was also tough because I wasn’t in Pittsburgh for break so couldn’t prototype designs in TechSpark.

This upcoming week I will be spending a lot of time in TechSpark getting parts laser-cut and start assembling onto the Roomba. There could be delays here based on fastener availability, but I can find quick, temporary workarounds for those to allow for  rapid prototyping.

Jack’s Status Report for 3/4/2023

  • Week recap
    • ROS setup on Jetson Xavier
    • Completed Design Report with team
    • Got SLAM w/ Hector Slam package working on Jetson; below there is a screenshot of the SLAM visualization of my bedroom.
  • Schedule
    • Back on track after switching to ROS, completed LIDAR bringup.
  • Deliverables
    • Get Roomba motor control setup with ROS
    • Setup Navigation in sim