DASL Smithy Introduction Video
This video (big file, download only!) is a compilation the introduces the Smithy lathe, its operation, basic features, and quirks.
This video (big file, download only!) is a compilation the introduces the Smithy lathe, its operation, basic features, and quirks.
I’ve imported all of the old gestures from the previous dance code. The implementation of Alex’s serial code allows us to control the motor positions at up to 50Hz (a MATLAB limitation). As shown in the video below, the robonova can now:
Check out the Video to see the improvements.
Our lab’s workstations are now set to be replaced ona 3 year timeline. Purchase dates & upgrades are listed in this spreadsheet, which will be updated as computers are built and purposed. Email me if you’d like access to edit this sheet.
On Monday Feb. 16 at 10:00 AM, students from POSTECH will visit Drexel; a key stop on their tour is DASL. In March of 2008, Dr. Oh, myself, and 4 of our undergraduate students visited POSTECH as part of a week-long introduction to Korea. The Professor that hosted our visit is bringing 20 undergraduate students, so we are returning the favor.
Lead Coordinator: Rob
Translator: Youngbum Jun
I’d like each presenter to write down a 300-500 word description of their part, so that Youngbum has source material to base his translations on. A rehearsal date is TBA, but will be late next week (week of 2/9/2009).
Humanoid Dance Project
Thanks to Dave’s hard work over the past 2 weeks, the Robonova can now dance to any streaming audio. Our latest demo video shows it dancing in realtime to all sorts of music off of an iPod ( AVI ) ( MOV ).
A critical bottleneck we’ve been stuck with for the past 6 months or so with the Robonova has been it’s processing power. It simply can’t scan for gesture commands more quickly than about 3-10Hz. At these slow rates, timing error and loss of gestures can be a real problem for fast tempos. The result is dance moves that don’t quite line up with the tempo, even though they are generally well-timed. In the worst case, the Robonova will ignore a leg return command, and take a step assuming it is ready (then falling!)
Alex Kushleyev at UPenn had developed replacement code for the microcontroller that allows direct control of the servos at speeds of up to 100Hz (more on this later). I’ve finally made my own control code in MATLAB that can send compatible commands to the modified Robonova, which will give us almost real-time, dynamically updating servo control.
To truly take advantage of this new scheme, however, we need to mix the beat tracker code with the serial output. A simple way to do this might be:
The problem with writing code this way is that the calculation time for audio and command processing is unpredictable, or at least inconsistent. A better way is to use interrupts, which pause the main program at specified intervals to perform a specific task, then resume when it’s done. Luckily, MATLAB has a well supported feature for this: the timer. As of today, I’ve incorporated this timer feature to make a simple interrupt-driven serial output. This also allows us to define the positions we want for joints at many times, and simply have the interrupt function choose the current position from memory. In other words, the open loop trajectories don’t need to be generated on-the-fly.
Next steps
RJ has confirmed that the Hubo lab’s treadmill uses a 400W, 220VAC servo drive. Due to the expense and difficulty of finding Samsung servo drives for sale in the US, I’ve compared other options. The results are listed in a trade study here.
My new graduate student website is now up and running thanks to Bob Sherbert’s invaluable help. It will be much easier to keep this site up to date due to the software backbone and tools in WordPress. The main blog area will be for news and highlights, and the pages across the title bar describe my activities. Be sure to check back for updates; I’ll be adding new pages, media, videos, and tutorials in the next few weeks.