6ril Posted June 28, 2016 Share Posted June 28, 2016 (edited) Hey guys, wanted to share this project with you, and deeply thank GallenWolf (alvin) for this thread : houdini-arduino-robotic-claw thanks for sharing your work in that thread, that was the key! It made it all possible. So the project is a SCARABEE, a robot "singing" and moving, made by Bots Conspiracy It's all 3d printed and laser cut + servo motors and arduino board. until now it was controlled by pure data, but the animation possibilities were... frustrating. So now, thanks to this forum and Houdini, we might have a way better solution to control that beast. oh and thanks you Luke, for your help with Linux Edited June 28, 2016 by 6ril 2 Quote Link to comment Share on other sites More sharing options...
6ril Posted June 30, 2016 Author Share Posted June 30, 2016 So far I've only tried with 3 servos, so the next step will be to try this rig on the actual robot with the 16 servos ! Will the arduino hold up to the task with the .pde I'm using ??? Also, I foresee a difficulty : the angular speed restrictions of the servos ! I've got to find a way to somehow let me know if I'm animating to fast. I haven't thought about it much yet... Maybe measuring the slope of the roation anim curve? But that wouldn't be ideal, as it's a post anim check only. The best would be an angular speed threshold that would limit (or warn) me while animating, but I fail to see how it could be implemented with the keyframe work flow. Quote Link to comment Share on other sites More sharing options...
eetu Posted July 1, 2016 Share Posted July 1, 2016 On 6/30/2016 at 3:48 AM, 6ril said: vos ! I've got to find a way to somehow let me know if I'm animating to fast. I haven't thought about it much yet... Maybe measuring the slope of the roation anim curve? But that wouldn't be ideal, as it's a post anim check only. The best would be an angular speed threshold that would limit (or warn) me while animating, but I fail to see how it could be implemented with the keyframe work flow. Cool stuff! Measuring the angular velocity is just the job for CHOPs, see the attached for inspiration. If you are editing a keyframe, CHOPs can get you the maximum of the slope of the channel, live. ee_chop_angvel.hip 1 Quote Link to comment Share on other sites More sharing options...
6ril Posted July 1, 2016 Author Share Posted July 1, 2016 eetu thank you, thank you ! that will be soooo helpful. and I'm proud to say I understand it all Quote Link to comment Share on other sites More sharing options...
cudarsjanis Posted July 5, 2016 Share Posted July 5, 2016 that is so cool. TO use Houdini for stuff like that. All the best of making it work, man. Looks great! Quote Link to comment Share on other sites More sharing options...
6ril Posted August 19, 2016 Author Share Posted August 19, 2016 Hey guys, something pretty basic I guess, but I've never played with .otl before. I'm using servo.otl, which contain the python link to a USB port, and now I need to use 2 USB port (as I need to control 2 arduino boards), so I would need another version of servo.otl (servo1.otl) But each time I modify the python code inside the "type properties" windows, and save, somehow! .. well it modify all the servo nodes. The ones in place, as well as any new servo node. Basically, I'm asking how to create a different version of an .otl (without affecting the original) in order to use both. Sorry for the confusing explanation : / Quote Link to comment Share on other sites More sharing options...
pezetko Posted August 19, 2016 Share Posted August 19, 2016 Couldn't you just update servo.otl with parameter that will allow you to pick another usb port for another instance of that asset? If you want to duplicate hda to create different hda (otl) use Operator Type Manager: http://www.sidefx.com/docs/houdini/assets/install 1 Quote Link to comment Share on other sites More sharing options...
6ril Posted August 19, 2016 Author Share Posted August 19, 2016 (edited) hey pezetko, your suggestion would be great, but I don't know how to do it as the parameter would need to modify some string in the python code. So I think my best option for now is to create a new asset. I'm looking into it now, thanks Edited August 19, 2016 by 6ril Quote Link to comment Share on other sites More sharing options...
6ril Posted August 19, 2016 Author Share Posted August 19, 2016 got the 2 otl setup, but now it seems like I can't send to 2 arduino boards like this. got on node (servo_0) set on USB0 and another (servo_1) set on USB1 maybe this code isn't set for houdini to send different data through different usb... like one node is controlling the serial connection (opening and closing it) so the second node can't control it too ? import serial def openSerialConnection(): if not hasattr(hou.session, "serial_connection"): hou.session.serial_connection = serial.Serial("/dev/ttyUSB1", 9600, timeout=1) pass def closeSerialConnection(): if hasattr(hou.session, "serial_connection"): if hou.session.serial_connection.isOpen(): hou.session.serial_connection.close() del hou.session.serial_connection Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.