Browsed by
Category: Status Report

Shanel’s status report 4/19

Shanel’s status report 4/19

This week, we focused on integration of each of our separate components together. The majority of the work we’re doing at this point is integration through pair programming. The part that I programmed this week was the control flow of each of the three threads (obstacle detection, SLAM/path planning, path execution) happening at the same time. For the end condition, we decided that the program would be complete when it is enclosed by walls on all sides and has mapped…

Read More Read More

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

Shanel’s Status Report 4/11

Shanel’s Status Report 4/11

I dedicated our efforts this past week to the software side of our project. First, I implemented A* search to generate a path for the robot to a previously selected destination. I used the Manhattan Heuristic so we could have a simple representation of the bearings of the robot as one of : North, South, East, and West. The path is represented as a list of points for the robot to navigate to next. As a MVP, we made the…

Read More Read More

Aditi’s Status Report 4/11

Aditi’s Status Report 4/11

In the first half of this week, I wrote a script that took commands in real time to move the robot, and simultaneously supplied these as odometry measurements to the SLAM, and at the end of a 30 second time frame saved the generated map. The position of the roomba is displayed as a series of points. Here, the contours of the room in the area that the robot managed to explore, including the bottom left corner and the walls…

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

Shanel’s status report 4/5

Shanel’s status report 4/5

For the demo, we plan to exhibit a full circle of data transfer (not necessarily in real time). It will start with the robot moving based on instructions we give it. It will take in odometry and lidar scan data that will feed into BreezySLAM. BreezySLAM will give us back a final point bytearray generated as a map. We then feed this map as a pgm fil into our navigation algorithm which generates a path and set of instruction back…

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

Aditi’s status report 4/5

Aditi’s status report 4/5

This week, I used BreeySLAM (a SLAM package in python) while moving the robot with commands in real time over SSH to generate several different maps – with scans from a single point, the SLAM was not accurate and noisy. With multiple scans generated from the robot moving in a line, the map is more coherent although the dimensions look a little off (the map looks too small to represent my room, so the SLAM seems to be extrapolating the…

Read More Read More