Robobuilder
(Difference between revisions)
m (→External Links) |
m (→External Links) |
||
Line 100: | Line 100: | ||
* [http://www.youtube.com/watch?v=Fi7aD5AUu0s Video of Robobuilder at Roboworld 2008 (Seoul)] | * [http://www.youtube.com/watch?v=Fi7aD5AUu0s Video of Robobuilder at Roboworld 2008 (Seoul)] | ||
* [http://lasa.epfl.ch/ HOAP at the EPFL Laboratoire d'Algorithmes et Systemes d'Apprentissage] | * [http://lasa.epfl.ch/ HOAP at the EPFL Laboratoire d'Algorithmes et Systemes d'Apprentissage] | ||
− | |||
* [http://groups.csail.mit.edu/lbr/hrg/1995/mattw_ms_thesis.pdf Matt Williamson: Masters thesis on series elastic actuators] | * [http://groups.csail.mit.edu/lbr/hrg/1995/mattw_ms_thesis.pdf Matt Williamson: Masters thesis on series elastic actuators] | ||
Revision as of 16:24, 26 October 2009
|
Contents |
Robobuilder
Currently all our Robobuilders are in disrepair (plastic gears of multiple servos are broken). We are trying to order metal gear replacements.
Capabilities
- main body
- AVR microcontroller
- motion programs
- direct control
- 16 servo controllers, serial bus
- self-running mode
- interpolation + closed-loop control
- LiPo akku, DC power connector
- AVR microcontroller
- sensors
- 3-axis accelerometer (add-on)
- ultrasound distance sensor
- communication
- RS232 interface
- Bluetooth interface (add-on)
Ruby Examples
Using the RBC controller
You can download the Ruby-extension for controlling the Robobuilder using a GNU+Linux PC here:
Here is a small example program which makes the robot get up if it's lying on its back or its front.
#!/usr/bin/env ruby require 'robobuilder' require 'matrix' class Vector def norm Math.sqrt inner_product( self ) end end robot = Robobuilder.new '/dev/ttyUSB0' puts "Robobuilder" puts "Serial number: #{robot.serial_number}" acceleration = Vector[ *robot.accelerometer ] if acceleration.inner_product( Vector[ 0, 0, 1 ] ) > acceleration.norm * 0.97 robot.basic robot.a elsif acceleration.inner_product( Vector[ 0, 0, 1 ] ) < -acceleration.norm * 0.97 robot.basic robot.b end acceleration = Vector[ *robot.accelerometer ] if acceleration.inner_product( Vector[ 0, 1, 0 ] ) > acceleration.norm * 0.97 robot.run 1 end robot.close
Todo
- Implement various commands of direct mode
- Implement commands for uploading motion sequences and action sequences
- Add support for Bluetooth communication
- Port wired and wireless serial communication to Windows
- Computer vision feedback using (external) webcam
External Links
- Robobuilder Ltd. (Korean manufacturer)
- Robosavvy (UK distributor)
- Robobuilder 5710K Humanoid Kit
- Robobuilder Bluetooth Communication Module (installation instructions)
- Robobuilder Triaxial Acceleration Sensor Module (installation instructions)
- Metal gear replacement for single servo
- Robobuilder Creator users manual
- Serial protocol to communicate with Robobuilder controller
- Source code of Robobuilder controller
- Forum post about this Ruby project
- RoboBuilder enhanced with RoBoard (capable of running GNU/Linux)
- Robodance (free software to control toy robots)
- Robobuilder base dance video
- Video of Robobuilder at Roboworld 2008 (Seoul)
- HOAP at the EPFL Laboratoire d'Algorithmes et Systemes d'Apprentissage
- Matt Williamson: Masters thesis on series elastic actuators