Increased the GPS fix covariance in an attempt to smooth our Kalman filter output; we think our IMU should be relied on more heavily than the GPS since it has less jitter
Ran many trials of the robot in various locations on campus collecting sensor data with the team.
Example of some localization data collected. The red line is our filtered localization, and the blue line is the raw GPS fix.
Successfully ran ORBSLAM2 on the Xavier. While the performance was better than RTABMAP, we decided that it was not worth the time to integrate it with the rest of our localization sensors since we are getting good enough localization results already.
Wrote the robot heartbeat node
Progress Timeline
Our schedule is tight but we’re confident that we will finish this week
Next Week Deliverables
Finish integration of the high-level state machines with the robot local planner
Assist with integration of collision avoidance
Benchmarks of the final system
Create the final presentation slides with my team and practice presenting
Created a test of both the robot state machine and ground station order planner running on their respective machines. Fixed minor bugs revealed by the test.
Finished setting up ssh keys on our machines for the Xavier and disabled password authentication. The Xavier is now much less likely to get hacked.
Worked in the lab with my team to finish setting up the robot for the midterm demo, which involved taking various mechanical measurements to define coordinate transforms, as well as testing the robot in various places on campus to profile the SLAM performance.
Worked in the lab with my team to begin integration of the IMU and GPS to the localization code.
Progress Timeline
Our progress is on schedule
Next Week Deliverables
Begin integrating the robot planning code with the higher-level robot state machine to allow the ground station to send orders to the robot planner.
Attempt to switch from RTABMAP to ORBSLAM2 for faster mapping (RTABMAP loses tracking well below our desired speeds). If this does not improve SLAM performance, then we will be doing SLAM without vision (still using IMU, wheel encoders, and GPS).
Write the robot heartbeat node to aid in the debugging of integration tasks.
Localization was not functional for this trial. We were testing different speeds and soon after this trial found that the chosen speed was too fast for RTABMAP
Set up ssh keys for the Xavier on 2/3 of our laptops. Once set up on all 3, we will disable password authentication for ssh so we don’t get hacked again.
Worked with Advaith to get the robot driving in some spots on campus with a human operator
Determined that we cannot change our network architecture since a hotspot does not work with ROS. Our intended solution is to have our robot be the network core instead of the ground station, and allow the robot to continue delivering during short network disconnects.
Progress Timeline
Our progress is on schedule
Next Week Deliverables
Write integration test between the robot state machine and the ground station
Implement the robot heartbeat package – need to synchronize sensor readings coming in at different rates
Assist with path planning
Progress Videos (WordPress not allowing video files)
Finalized robot state machine specification with team (services vs topics)
Wrote initial implementation of the robot state machine
Progress Timeline
Our progress is on schedule
Next Week Deliverables
Test the robot state machine and integrate it with the local planner
Explore a new ROS architecture with multiple networks, since the robot loses connection to CMU WiFi while moving. We would like to put a hotspot on board.
For some reason, when we tried to connect to CMU-DEVICE, we could not resolve DNS or ping outside IP addresses. After many hours of debugging the only solution found was spoofing the MAC address of our dongle.
Integrated Joystick controller into ROS
Used a library node + a thin wrapper (written by me and Michael) to map controller inputs to the Roboclaw
Began integration of GPS on the Xavier
Progress Timeline
Our progress is on schedule
Next Week Deliverables
Work towards completing our first milestone – driving the robot with a joystick, and receive a video-feed