We have been field testing this whole week, trying to get consistent deliveries across campus. This is our biggest problem now, the GPS sensor is erratic, which causes our heading to change, which makes our robot go into the grass and get worse localization.
Our biggest problem is localization. GPS has been inconsistent, but surprisingly has worked well a few times. I still think it is worth doing it, but we are working on some mitigation plans for a backup.
Jumps in the GPS cause the controls to go haywire. We mitigated this by moving things into a continuous odom frame, but we found little difference. we think the error lies elsewhere and need to go through recorded datasets to discern it.
Mitigation plan 1: try sidewalk following using some basic feedforward into the controls. Still yet to try this
We tried the roof of the East Campus Garage, and had some GPS errors there. We may try again after analyzing the data from that run.
Worked with michael on the data association, this works well with multiple pedestrians. The perception part of our project is done now.
Progress:
/not much progress from last week, we are still field testing and working out our kinks in our local planners
Next week’s deliverables:
Make sure the robot drives properly
Localization
mitigation plan: do everything in the odom frame and hardcode the map
Integrated Kalman filter to work in 3D and tested on live data: Kalman 3D
Debugged the GPS localization on campus and took datasets for analysis
Below left is the GPS readings integrated with IMU/wheel odometry. On right is the raw GPS data. This is only one trial but we need to retry this when weather permits.
Modified the local planner with a new get_next_subgoal function
Progress:
We have a lot of integration to do during this last week
We need to get the localization up and running soon and perform a few basic waypoints on campus
We must pray to the robot gods for a smooth finish for this project
Integrated the local planner to test basic waypoint functionality
Took measurements to determine sensor placement/added transforms for localization
Progress:
We have accomplished our interim demo goal of getting the robot to follow a waypoint.
We have extended this to having the robot follow multiple waypoints in different shapes/orders. This is a small scale test of following waypoints on campus.
Next we must have it localize within the map and execute multiple waypoints.
Got the Roboclaw running the motor and getting encoder values
Shortly after, the Roboclaw we had stopped working. I suspect that the USB port is messed up, or that we accidentally damaged it during our testing, but we weren’t able to connect to the software to update the firmware/debug either (so I suspect it is a USB port issue). We have ordered a new one arriving 3/31.
To prevent any further damage to the new roboclaw, we are following the instructions on the manual for operation strictly.
I finished the mechanical part of the robot, including sensor mounts, wiring,electronics mounting, etc.
Wrote a ROS node that can perform object detection using the YOLO CNN
Tested the RTABMAP algorithm outdoors using the robot’s compute. FPS runs fine, however, there are some issues with tracking when it viewed sidewalks with not many features. We believe this problem might get better if we include the IMU, GPS sensors as well. We will retest once we have the motor controller so we can drive around.
Schedule Progress
We are slightly delayed on our first milestone (joystick moving the robot) because of some issues with the Roboclaw motor controller. However, we tested on the previous one before it failed, so we are confident we can integrate it quickly.
Deliverables for Next Week
I wish to bring in all the sensors for state estimation, and make sure the visual slam works properly
Finish the pedestrian detection and tracking pipeline.
Finished initial implementation of the local planner in simulation. The robot can avoid obstacles while still going through waypoints
Assembled robot base hardware.
Helped test the motors and motor controller
Tested the GPS sensor’s raw data output on campus sidewalks
This looks promising, as GPS is usually accurate to 3-5m. These data are within the sidewalks most of the time, and I think combining this with wheel odometry and IMU data can lead to accurate localization.
Schedule Progress
We are on schedule for our project. We got the parts and have made good progress this week on our deliverables
Deliverables for Next Week
Run the localization algorithm independently using the IMU, GPS, and camera
This week was spent really finishing the design and making changes to the requirements. We spent a majority of the time massaging the budget constraint and choosing parts that would satisfy it.
Performed calculations for parts finalizing
Finalized the CAD design and finished the BOM for the chassis
Ordered all the parts on our BOM
Finished the design presentation and have practiced
Schedule Progress
We are on schedule for our project. We ordered parts and they will be arriving by the end of next week.
While we wait for parts we will begin to build out the software systems in simulation.
Deliverables for Next Week
Finish proof of concept for collision avoidance algorithm
Finish the design presentation and practice giving it using the feedback from the last presentation
This week, I worked on the CAD model for our robot. I am using Solidworks and bringing in models of motors, wheels, and 8020 aluminum rods to get a better spatial idea of our robot design. This will help us plan for materials and make it easier to change our design based on our requirements.
I tested RTABMAP using an Intel Realsense camera using ROS. This is to test if it is a viable algorithm for our project. These tests should be done before buying parts, as the perception sensor is a significant investment.
I tested a basic Pure Pursuit controller in MATLAB with simulated differential drive robot.
Worked with team on Proposal Presentation
Schedule Progress
We are on schedule for our project. We have completed the majority of the Proposal Presentation.
Deliverables for Next Week
I wish to complete the CAD model with all boards, actuators, and sensors so that we can finalize our BOM.
Full testing of perception algorithms including ORBSLAM, RTABMAP, and HectorSLAM
Bring the IMU into ROS
I have a Bosch IMU that I want to test using ROS
Involves getting the driver running through a Teensy, then writing a ROS wrapper node.
Write a basic waypoint following robot in ROS using a simulated robot
Will shed some light on the controls aspect of the project