Browsed by
Author: albai

Alex’s Status Report 4/19

Alex’s Status Report 4/19

This week, I worked almost entirely in meetings with Shanel and Aditi. We integrated all the subsystems into one central program. This program runs each module in a separate thread: Main thread for control flow and navigation SLAM thread for reading LIDAR data and doing SLAM stitching Movement thread for giving commands to the robot Obstacle thread to interrupt movement when obstacle bumped The SLAM thread is constantly running and updating the map, but we don’t do additional navigation processing…

Read More Read More

Team Status Report 4/11

Team Status Report 4/11

One major risk uncovered recently is the unreliability of the hardware connection to the Roomba. We have previously experienced issues sometimes with the serial connection port or the Roomba not responding to its provided interface commands, but those issues were resolved with a power cycle. On Friday, we experienced this issue persisting through multiple power cycles, software changes, connection configurations, and everything else we could think of. We eventually decided to try again later. When implementing the navigation module, we…

Read More Read More

Alex’s Status Report 4/11

Alex’s Status Report 4/11

This week, most of my work was done in several work sessions with the rest of my team. I made progress on the planning & routing algorithms for the navigation module. I implemented a search that, starting from the current position, expands radially outward until it finds a suitable destination (based on exploredness). Together with Shanel’s implementation of the A* routing algorithm, we now have both components of a navigation algorithm to find a destination as well as plan a…

Read More Read More

Team Status Report 4/5

Team Status Report 4/5

The major risks to our project at this point can mostly be traced back to time. We don’t foresee any critical roadblocks at this point, but getting everything up and running and integrated will be challenging. In our meeting, we planned out a few strategies to modularize the project as much as possible, so that work can be done in parallel. Currently, we separated the project pretty cleanly into three parts, with each of us working offline, then meeting to…

Read More Read More

Alex’s Status Report 4/5

Alex’s Status Report 4/5

This week, I was mostly working on the internal data flow and data structures. The normal BreezySLAM output is a .pgm file, but since we wanted to do extra processing on top of the map, I modified the BreezySLAM script to output a binary file, which is read back in to our data structures. We are working in object-oriented Python, with the bulk of control & data stored in the Map class. The Map class compresses the high-resolution map into…

Read More Read More

Alex’s Status Report 3/29

Alex’s Status Report 3/29

My team had several work sessions to combine the different subsystems on a basic level. We decided to ditch Cartographer and ROS SLAM for both complexity and compatibility issues, relying instead on an open source Python package called BreezySLAM. This week, I installed BreezySLAM, ran it through a demo dataset, and extracted the internal data structure representing the SLAM map. I wrote a compression function to reduce the image into a grid heatmap which we plan to do the actual…

Read More Read More

Team Status Report 3/29 (with updated Gantt Chart and Risk)

Team Status Report 3/29 (with updated Gantt Chart and Risk)

This week we were able to start connecting some of the individual parts of our project. We’ve starting to link the frontend and backend of our web application, and export the odometry data of the Roomba to our processing and navigation algorithm. We ran into quite a bit of trouble installing Cartographer ROS onto the Pi, because there were many unresolved dependencies that are poorly documented. We were aware of Cartographer’s package problems before spring break, and spent an additional…

Read More Read More

Alex’s Status Report 3/22

Alex’s Status Report 3/22

This week, aside from meetings with my team and refactoring the project and the statement of work, I personally primarily worked on getting the Server component up and running. We requested AWS credits which I used to provision an EC2 instance, associated with a file backend also hosted by AWS. I set up my SSH access to the machine, and also a GitHub repo which will be used to store our work and deploy to the server. I did some…

Read More Read More

Team Status Report 2/29

Team Status Report 2/29

Currently the single largest risk remains in the processing power requirement. We looked into Google Cartographer, which recommends 16GB RAM, but other projects have run Cartographer on embedded systems by using only 2D data like we are. We also plan to use ROS-provided SLAM libraries to do the fine-grain computations. The only significant change made to our design was the inclusion of two more ultrasound sensors, facing forward and angled up/down. These are intended to address the concern of low…

Read More Read More

Alex’s Status Report 2/29

Alex’s Status Report 2/29

This week, I flashed Raspbian onto our microSD and got the Pi up and running. In work sessions with Aditi and Shanel, we fleshed out the Design Report, set up Roomba interfacing and control, configured the Pi’s network connection, and installed ROS. We are on track. Work has begun on every component except the server stack, and the design report is basically done. Next week, we hope to set up the Roomba-Pi interface and execute autonomous programs. We will also…

Read More Read More