top of page
Search
  • Writer's pictureAlex Janis

Week 1: TorsoBot

Updated: Aug 12, 2019

My first week at my ASR internship went great! So far, I have only met one of the other interns, Robert. Together, we have been working on a rimless wheel robot named TorsoBot.

TorsoBot (aka the rimless wheel robot)

TorsoBot mimics hip actuation with its rimless wheels. The spokes on these wheels represent the human walk cycle. When in motion, TorsoBot rolls by itself, without needing a slope. This robot was created and tested for a senior design project last year. The student also wanted to implement a push-off leg in order to more accurately represent ankle actuation. This was supposed to be accomplished by the addition of the tail and leg as seen on the bottom right side of the robot in the above image. However, this student graduated before finishing this part of the testing. So the interns at BADGER LAB are testing and writing code for it. Our goal is for the push-off leg to activate whenever a wheel spoke hits the ground. The first week of my internship was spent attempting to make this a reality using Python, a programming and coding software.


I have not had a lot of programming experience, but I am a fast learner. I learned a lot about Python, servos, and Raspberry Pi. On Monday, my first day, our goal was to find the angle at which the push-off leg had to be in order to generate enough friction to move the robot forward. Our testing met with mixed results:

Our main problem was that either the push-off leg would simply scoot the robot forward without the wheels turning, or the robot would move forward and turn the wheels before banging its head into the ground.


A day later, when we had completed these tests, we attempted to implement the push-off leg into the normal motion program. Our initial approach was to activate the push-off leg when the IMU (Inertial Measurement Unit) read the angle of the spokes to be at a specific value. This approach was not successful.


As a result of this failure, we went back to testing different leg positions, leg lengths, and leg angles in order to find something that worked. We found high success when working with a longer leg. However, we discovered that our two servos on the tail did not measure the same angles as one another. When we asked them to each move 176 degrees, one did not move as far as the other. To solve this problem, we created an excel file and recorded which angles made the legs align with each other. We graphed this data and created a function that reliable outputted the proper angle so that both legs moved in sync. After mixed results from our next tests, I decided to remove the push-off legs to see how the robot functioned before they were attached. However, when I tried to run its program, the robot would not move properly. This meant that our next project would be figuring out how our robot would move without the push-off legs. We realized a couple of things in this process; the freely hanging weight of the tail was making the robot off balance and that the assigned maximum speed of the upper motor in the program was too high. By removing the tail and lowering the maximum speed, we were able to get the robot to move again.


The next day, we had a new plan for implementing the push-off leg. Our goal was to use Matplotlib to graph the IMU gyroscope data live. On this data, there would be spikes when the spokes hit the ground. Once we could see this data, we could program the push-off leg to activate during those spikes. I spent most of the day learning how to use Matplotlib. In the afternoon, we were able to write a live plotting program for one part of the gyroscope data. However, when we tried to implement it into our program, the robot was unable to both move and plot the data. The next day, after a couple of hours of testing, we realized that it was a processing problem. The Raspberry Pi was unable to activate the motors and also plot the data live. In order to solve this problem, we decided to try a different graphing program, PyQtGraph, which required less processing power. We did limited testing on this before the day was over.


In summary, my first week of interning went great! I was able to learn about three different coding languages and libraries and put my physics knowledge to the test. We have a lot of work to do in order to get TorsoBot up and running, but I have full confidence that we will figure it out.

7 views0 comments

Recent Posts

See All

Week 9: Final Week

I began a new project of transferring Dr. Adamczyk's handwritten notes into a completely textual Pressbooks format. The notes contained...

コメント


Post: Blog2_Post
bottom of page