PDA

View Full Version : [Contest Entry] The Pi Robot Project



Pi Robot
12-29-2010, 10:38 PM
I have written up my contest entry called "The Pi Robot Project" at the following link. If necessary, I could try to reformat it to post it directly to the forum but I am using some javascript and other formatting that was easier to do on my website. Here now is the link:

TR 2010 Contest Entry: The Pi Robot Project (http://www.pirobot.org/blog/contests/TR2010/)

The second half of the contest entry above is a standalone ROS tutorial for doing head tracking of visual objects. To view this tutorial on its own, please see:

ROS by Example: Visual Object Tracking (http://www.pirobot.org/blog/0016/)

Thanks!
patrick

EDIT: Here is a bonus video for Pi Robot's contest entry. Thanks to Talyor Veltrop's awesome Kinect teleop ROS package, I was able to tweak the joint names to make it work with my Pi Robot URDF in RViz. Here is a short video showing the result. Thanks Taylor!!!

YouTube - Veltrop Kinect Teleop of Pi Robot in RViz

darkback2
12-29-2010, 11:13 PM
Really sweet work! Your website is incredibly in depth. Amazing job.

DB

elaughlin
12-29-2010, 11:27 PM
It is really in depth. Great work with that. Like it a lot.

Zenta
12-30-2010, 01:21 AM
An excellent contest entry!
I find your writing very interesting and inspiring for future projects.

Good luck with the contest.

RobotAtlas
12-30-2010, 01:40 AM
Wow, that's a lot of stuff there!

Pi Robot
12-30-2010, 06:58 PM
Thanks for the nice comments you guys! But I wouldn't be even half as far along with all this stuff if it weren't for a pile of help from people on this forum. Looking forward to more good discussions and creative robots in the future.

--patrick

Pi Robot
12-31-2010, 10:06 PM
Here is a bonus video for Pi Robot's contest entry. Thanks to Talyor Veltrop's awesome Kinect teleop ROS package, I was able to tweak the joint names to make it work with my Pi Robot URDF in RViz. Here is a short video showing the result. Thanks Taylor!!!

YouTube - Veltrop Kinect Teleop of Pi Robot in RViz

--patrick

lnxfergy
01-01-2011, 09:35 AM
Patrick -- I've been reading through your tutorial and just wanted to make a note: you should be able to use the ArbotiX package with a USB2Dynamixel or HUV board -- you just have to set "use_sync" to false since neither device supports a sync_read instruction. If you get any errors doing this, please let me know.

-Fergs

Pi Robot
01-01-2011, 07:01 PM
Thanks Fergs--I tried it and it works nicely so I'll tweak the tutorial accordingly. In the meantime, I'm gonna post another question under another thread about stress testing and debugging the AX-12's...

--patrick

Peter_heim
01-02-2011, 08:35 PM
Hi Patrick
I tried your head tracking tutorial and it works great i had to make some changes to use the bosch usb_cam (I can't get uvc_cam to work)
I look forward to you next tutorial

peter

Pi Robot
01-02-2011, 09:08 PM
Hi Peter,

That's great to hear! I started with the bosch usb_cam then switched to the uvc_cam for some reason that I can't remember at the moment. I'll have to go back and try it with the Bosch driver to see what the difference was.

--patrick

Peter_heim
01-02-2011, 09:26 PM
Hi Patrick
I cant get dynamic reconfigure to work with usb_cam the best result with the smoothest operation is with a cheap web cam that i never got around to throwing out the colors are off (almost false colors) but i get 30FPS with the others i only get 10 to 12 FPS

peter

Peter_heim
01-04-2011, 04:39 AM
Hi Patrick
Just a small problem i noted when i tried to use hobby servos i get the following error

Traceback (most recent call last):
File "/home/peter/arbotix/bin/arbotix-node.py", line 382, in <module>
a = ArbotiX_ROS()
File "/home/peter/arbotix/bin/arbotix-node.py", line 298, in __init__
jc = joint_controller(self, controller)
File "/home/peter/arbotix/src/arbotix_controllers/joint_controller.py", line 53, in __init__
self.device.servos[joint].setVelocity(0)
File "/home/peter/arbotix/bin/arbotix-node.py", line 182, in setVelocity
ticks = max(1, int(round( vel / self.speed_rad_per_tick ))) # A value of 0 = "fast as you can" so avoid this
AttributeError: HobbyServo instance has no attribute 'speed_rad_per_tick'

this is not a problem for me just posting for reference
peter

Pi Robot
01-04-2011, 01:18 PM
Thanks Peter. I'm not sure that the ArbotiX can do speed control on hobby servos. (I know the Serializer does not either, but the Lynxmotion SSC-32 does which is one of the things I always liked about the SSC-32.) Fergs? If that is the case, yeah, it might be better to print out an error that explains the lack of speed control. (Note though that any of the speed stuff is not currently part of the official ArbotiX release, just my patch to it.)

--patrick

Pi Robot
01-04-2011, 01:20 PM
Hi Patrick
I cant get dynamic reconfigure to work with usb_cam the best result with the smoothest operation is with a cheap web cam that i never got around to throwing out the colors are off (almost false colors) but i get 30FPS with the others i only get 10 to 12 FPS
peter

Ah yes, that was it--the uvc_cam package had support for dynamic_reconfigure which is why I went that way. When you say you could not get it to work, what do you mean exactly. Did you get any specific error messages? I was able to get it working for both a Logitech Quickcam 9000 and a Philips SPC 1300NC.

--patrick

Peter_heim
01-05-2011, 05:09 AM
Hi Patrick
The error message was

[ERROR] [1294225470.236673580]: Problem setting exposure. Exception was unable to get control

setting control 9a0902
unable to get control
: Invalid argument
[ERROR] [1294225470.236918942]: Problem setting absolute exposure. Exception was unable to get control

setting control 98091b
unable to get control
: Invalid argument
[ERROR] [1294225470.237196601]: Problem setting sharpness. Exception was unable to get control

setting control 980918
current value of 980918 is 0
new value of 980918 is 0
setting control 98090c
unable to get control
: Invalid argument
[ERROR] [1294225470.265384002]: Problem setting white balance temperature. Exception was unable to get control

setting control 980913
unable to get control
: Invalid argument
[ERROR] [1294225470.265552620]: Problem setting gain. Exception was unable to get control

setting control 980902
current value of 980902 is 127
new value of 980902 is 50
setting control 980901
current value of 980901 is 127
new value of 980901 is 50
setting control 980900
current value of 980900 is 127
new value of 980900 is 66
Segmentation fault, stopping uvc camera driver.
[ERROR] [1294225470.442436510]: Segmentation fault, stopping uvc camera driver.
[uvc_cam-1] process has died [pid 15819, exit code -11].
log files: /home/peter/.ros/log/f82a268a-18af-11e0-936f-0023cdfebf39/uvc_cam-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...

the funny thing was some time it would work i still got the errors but not the seg fault but i could never repeat it

peter

Pi Robot
01-05-2011, 06:54 PM
Hi Peter,

What camera are you using when you get that error output? Eric Perko, the author of the uvc_cam package I use in the tutorial (not to be confused with the uvc_cam package on the main ros.org site), says that you will get some errors with all cameras whenever one or more settings (e.g. sharpness) is not supported by that particular camera. Also, Eric mentioned that he often sees a list of errors when first connecting to a camera that has recently been plugged in, but then most of the errors disappear if you exit and relaunch the driver.

If you continue to get segmentation faults with a particular camera, you might consider posting your setup to the ros-users list as there is a new initiative afoot to get a standardized ROS package in place for USB cameras.

--patrick

Peter_heim
01-23-2011, 04:27 AM
Hi Patrick
I Finally found the time to make a video of Robbie tracking a orange balloon


http://www.youtube.com/watch?v=bvT_5C78Rf8

Regards Peter

Pi Robot
01-24-2011, 09:19 AM
Hey Peter,

Congratulations! That is some very smooth head tracking. And a cool looking robot!

--patrick