This repository will contain a collection of web-based tools for Hubo, the humanoid robot. The full name of the project is Hubo-in-the-Browser, but for brevity it is also called hubo-js.
How to develop/contribute
I'm using a tool called docpad to make my web-developing more efficient. It is build on top of another tool called node. The source code that I actually edit is in
/src. The core of Hubo-js is in
/src/src and contains
hubo.coffee. The source for the examples is in
/src/examples obviously. If you want to develop/contribute, the easiest thing to do would be:
- Install node. (Note: There have been reports that hubo-js doesn't work properly in Node version 0.12.x. Install the 0.10.x series. Hubo-in-the-Browser was last tested with node version 0.10.38)
- Fork this repository.
git clone https://github.com/[your-usename]/hubo-js
git submodule init
git submodule update
- Navigate to http://localhost:9778
And now you've got a live webserver that will transform the templates and stuff in
/src into real web pages that you can see.
var hubo = new Hubo(name, ready_callback, progress_callback)
nameis a string to identify the Hubo, in case you have multiple Hubos.
ready_callback()is a function handle that is called once the Hubo is finished loading.
progress_callback(num_links_loaded, total_links, link)is a function handle that is called as each link of Hubo's body loads, so you can display loading progress.
- Sets Hubo back to his default joint values.
- A collection of objects that correspond to the joints in hubo-ach. Each motor has the following properties:
namean identifier, like 'RSP' for right shoulder pitch
valuesets and gets the value of the joint
- The unit is in radians for revolute joints and mm for linear actuators.
- Trying to set value beyond the
upper_limitwill result in the motor stopping at that limit.
lower_limitthe lower bound allowed for
upper_limitthe upper bound allowed for
default_valuethe value of the joint in the 'home' position
- A collection of the THREE.Object3D's that make up the links of Hubo's body.
- Hint: You should use
hubo.motorsinstead, because it provides an accurate abstraction for moving the fingers and head.
- A collection of raw joint objects corresponding to the joints in the URDF file for Hubo. Joint objects have properties similar to those in
I downloaded the webpages and opened them locally, but it doesn't work.
- AJAX commands won't work locally. You have to have a local HTTP server like node.