Jack’s Status Report for 04/29/23

  • Week recap
    • Created a bin detection algorithm with George
      • Used LiDAR  and edge detection to grab a vector representing the bin
      • Then while rotating the Roomba, the vector was then compared to the current LiDAR scan using L1 norm to find center of bin for alignment
    • Worked on bin alignment with George
      • We were not happy with the LiDAR bin detection algorithm performance, so we have returned to using a back camera for bin detection
      • Now we detect the bin distance using LiDAR, and use ARuco for bin pose estimate to create an alignment procedure
    • Enhanced robot rotation with George by listening to ROS transform messages for more accurate orientation estimation
    • Completed battery test with George
      • 80% drain over four hours
  • Schedule
    • Behind on bin alignment and integration testing, using Finals week as buffer.
  • Deliverables
    • Continuing to work on bin alignment
    • Once bin alignment is done (and hardware is frozen) complete bin pickup and integration tests

Jack’s Status Report for 04/22/23

  • Week recap
    • Finished creating a new LiDAR ROS node with George.
      • This new node masks out the back half of the LiDAR scan which is occluded by the trash bin during pickup and retrieval.
    • Worked on the central coordinator with George.
      • The central coordinator allows us to give commands to the Roomba bypassing RViz.
      • (Path Following) We can send goal locations to the Navstack allowing for bin pickups using coordinates stored in the bin database.
      • (Searching) After navigating to a set coordinate, the Roomba rotates until the front camera sees the ARUco tag.
      • (Docking) Once a tag is identified, the Roomba rotates 180 degrees, at which point the Roomba uses the LiDAR to align itself with the bin.
      • Still need to test docking (arms are not done yet).
      • Added ability to cancel goals
      • Added manual control (drive X meters, rotate X degrees)
    • Worked on navigation testing with George.
      • Picked two positions in A107 and measured how close the Roomba was to those positions after navigation.
    • Tested camera ARUco detection with George.
      • Camera was able to reliably detect ARUco tags at up to 2m.
      • The detection was poor during rota
    • Tested motor control and bin pickup arms with Mason.
    • Tested battery life with George
    • Tested obstacle avoidance with George
    • Tested movement speed with George
    • https://docs.google.com/spreadsheets/d/1Fv7A8lMn3GBn9MV8tf394E4ilYxbIwjUDCy7U3aQ8g0/edit?usp=sharing
  • Schedule
    • Navigation Done. Working on integration for the next week and finals week.
    • Behind on bin pickup. While arms are not completed, doing testing.
  • Deliverables
    • Overall system integration. Mainly working on docking and bin retrieval.
    • Help with arm testing.

Jack Girel-Mats Status Report for 4/8/23

  • Week recap
    • Worked on navigation tuning with George.
      • Found a bug with George, which was causing a transform from map to Odom frame to be published by two sources. This is incorrect as AMCL (localization) should be responsible for publishing this transform.
      • The above bug helped us fix initial pose estimation allowing for the robot to start in any location in the room (before it had to start at a specific spot described by SLAM).
      • Localization still drifts which is a cause for concern.
      • Lowered navigation control update loops. This was necessary as the hardware we are using is not powerful enough to handle updates that create smooth movement.
    • Setup Jetson AGX using usb wifi for ssh. Although it is a bit faster than the NX, when doing development over ssh, it often freezes. We have decided that a better development experience is more valuable at the moment and will continue using the NX.
    • Worked with George to implement a simple program that allows the Roomba to follow the movement of an ARUco tag.
  • Schedule
    • Behind on navigation. Need to use slack to finish.
  • Deliverables
    • Fine tune navigation
  • Testing Plans
    • Not ready for navigation testing, still a lot of fine tuning left. Some simple tests can be run: a battery test running the Roomba in a back and forth pattern at full throttle as well as running the servos for bin docking intermittently. Additionally we will be doing further testing of localization for navigation fine tuning.
    • We will do ARUco tag orientation to test simulated trash bin pickup. This will be accomplished using a tag attached to a wall.

Jack Girel-Mats Status Report for 4/1/2023

  • Week recap
    • Continued working on navigation bringup with George.
      • Kind of working. We were able to give  a goal pose and the robot was able to follow the planned path.
      • A bit finicky, needs to start at a specific point for path planning to work. (Localization and path planning are desynced for some reason)
      • Doesn’t do well with all types of obstacles, needs some more testing and optimization
    • Worked on LaserScanMatcher to implement odometry data using just laser scans (we are not going to use LaserScanMatcher for now b/c we got odometry data from Roomba).
    • Building the Roomba library from source (which is a newer version than the one that can be downloaded on ubuntu repositories) and changing the baud rate has enabled the odom topic in Ros
      • It was working well enough to get simple path finding working
      • Need to do some more testing to see if it is fully working and accurate
  • Schedule
    • On schedule, fine tuning navigation
  • Deliverables
    • Check in with usb wifi adapter package shipping timeline (Quin was out)
    • Fine tune navigation

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.

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.

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

Jack’s Status Report for 2/25/2023

  • Week recap
    • Jetson Xavier AGX
      • Initially got ssh working on windows, but after system reset, failed to connect
      • Using Linux 20.04 + Refreshing the Jetson (and not updating any packages) seems to have alleviated the issues, but just in case we have requested the Xavier NX as a backup
    • Matlab
      • Connected Matlab to Jetson
      • Compiled test Matlab Script -> Cpp executable remotely onto Jetson
    • Helped setup roomba driving
  • Schedule
    • Again behind on LIDAR because of continuous issues with the Jetson
    • Will have to use Spring Break to make up one week of work
  • Deliverables
    • Create a Matlab -> Cpp executable that takes lidar scan data (angle + distance vectors) and creates a map object

Jack’s Status Report for 2/18/2023

  • What did I accomplish?:
    • Got LIDAR driver setup on development machine. Ran test application to make sure that the LIDAR was working properly.
    • Finalized and practiced for the design presentation.
    • Got ArUco tag identification working with George.
  • Am I on schedule?: Because I focused on the presentation and setting up the Jetson, which took longer than expected (still having trouble getting it to connect over ethernet), I am behind on LIDAR implementation. If its not possible to troubleshoot, I will just buy a usb network adapter instead of using ethernet.
  • What deliverables do I want to complete next week?:
    1. Compile MATLAB SLAM & Navigation Toolbox to the  Jetson.
    2. Get ArUco pose estimation working
  • Please list the particular ECE courses (if any) that covered the engineering science and mathematics principles your team used to develop your design?:
    1. 18-100: We the knowledge from 18-100 when calculating the required battery size our robot would need to meet our use case requirements.
    2. The knowledge required for ArUco tag identification came from outside of school learning.

Jack’s Status Report for 2/11/2023

  • What did I accomplish?:
    • This week I have begun researching SLAM and related algorithms, specifically I am interested in combining lidar depth data with visual landmarks (April tags) to improve mapping.
    • Additionally, my group mates and I discussed the benefits/challenges of using a 360 deg. lidar system vs. a fixed lidar system. (It also may be possible to filter the 360 deg. lidar system?)
    • I helped fix our website to properly display weekly status report posts by category/team member.
  • Am I on schedule?: Yes, no direct tasks where assigned this week.
  • What deliverables do I want to complete next week?:
    1. If I get access to the roomba next week, I would like to have basic movement control when tethered to a PC complete.
    2. If I get access to the LIDAR camera early next week, I would like to attempt implementing SLAM using a premade library (Maybe MATLAB or slam_toolbox)
    3. If I get access to a camera, my goal is to implement local bin identification.