Robobuilder
From MMVLWiki
|
Contents |
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
- Add support for Bluetooth communication
- Port serial communication module 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
- Robobuilder Triaxial Acceleration Sensor Module
- 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)