#robotics Logs
Feb 04 2015
#robotics Calendar
03:57 deshipu a bit skewed
03:57 Jak_o_Shadows I think the important bits are square
03:59 Jak_o_Shadows Jeez Z moves slowly
04:04 Jak_o_Shadows also, you may notice a few things are on backwards
04:04 Jak_o_Shadows the y-ends are weird
04:04 Jak_o_Shadows I mostly concentrated on getting the important things square, and bugger the rest
12:00 basichash What language is generally used for swarm robotics?
14:11 deshipu basichash: same as for any others, C generated by matlab ;)
14:28 basichash deshipu: is that due to the fact that there aren't compilers for the custom hardware such robots would use?
14:31 deshipu no
14:32 deshipu they use pretty normal microcontrollers, which perfectly fine C compilers
14:32 deshipu with*
14:33 basichash deshipu: why not something like erlang then, for example?
14:36 deshipu because there are no microcontrollers running erlang
14:37 deshipu you could try FORTH I guess
14:38 deshipu but generally speaking C is the most portable low-level language
14:39 deshipu which makes it quite popular
18:12 Tom_itx Triffid_Hunter, got a link to that thin stainless hot end?
18:12 Tom_itx dude is using a bulldog xl extruder
18:12 Tom_itx will it work with that?
18:13 Triffid_Hunter Tom_itx: the arcol v4? try shop.arcol.hu. there's also aluhotend from 3d printer industries, hexagon from RRD and a number of other options
18:14 Tom_itx yeah the arcol was it i think
18:14 Triffid_Hunter Tom_itx: all the reprap hotends have a standard mount, 16mm barrel with a 4.7mm high 12mm section, 4.7mm from the top, see http://reprap.org/mediawiki/images/1/18/Jhn_nozzle_holder_fluted.gif
18:15 Tom_itx is there a US distributor for the arcol?
18:30 Triffid_Hunter Tom_itx: not that I know of
18:31 Triffid_Hunter arcol was a bit strange about distribution
18:32 Tom_itx ok
18:34 Jak_o_Shadows hmm, I still need to make the hot end plate thing.
19:45 Jak_o_Shadows ok, how in the hell do you put the y axis belts in their attachy thingy
19:46 Tom_L reprappers do it with zipties
19:46 Tom_L pfft
19:46 Jak_o_Shadows oh, I am using a zip tie (as much as I would prefer not to, effort)
19:46 Jak_o_Shadows but in terms of getting my hands in there
19:47 Tom_L they make actual holders for those belts
19:47 Tom_L nobody uses em
20:29 Jak_o_Shadows dammit, I don't have a 12mm drillbit
20:34 Jak_o_Shadows I'm trying to make a mount plate for the j-head hot end
21:13 codepython7771 anyone has tried differential steering here?
21:15 Triffid_Hunter all my robots have used ackerman so far due to availability of bases
21:15 Jak_o_Shadows Where did you get ackerman bases?
21:16 Triffid_Hunter toy world
21:17 Jak_o_Shadows ah, makes sense.
21:17 codepython7771 is there a robot library that helps in steering a 2 motor wheeled vehicle robot?
21:18 Triffid_Hunter tons, asked google? you'll need encoders, open loop is a dead end
21:18 codepython7771 Triffid_Hunter: i only have open loop. No encoders. I was hoping to use IMUs ?
21:19 Triffid_Hunter you can try, but kalman usually works best with some ground truth as well as the IMU
21:20 Triffid_Hunter gyros are noisy and you get integration error.. the compass can help with integration error, but gets yanked around by all sorts of things incl. rebar in concrete and power cables in the wall
21:20 codepython7771 any vision based solutions?
21:21 ace4016 hrm, my robot in my uni capstone project used differential steering
21:21 Triffid_Hunter oh sure, optical flow is probably very useful.. you'll probably want a platform with a hardware mpeg4 encoder for best results
21:22 codepython7771 Triffid_Hunter: what platform as mpeg4 encoder/decoder?
21:24 codepython7771 Triffid_Hunter: I was thinking of using a raspberry pi for my 2 motor 4 wheel rc truck.
21:24 Triffid_Hunter codepython7771: dunno, rpi might have one, but they suck at hard realtime tasks like motor control and pulse generation.. you'd want to couple it with an arduino
21:25 codepython7771 Triffid_Hunter: I've a motor controller attached to the pi. The controller seems to work fine and accepts commands via usb.
21:25 Triffid_Hunter it has an arduino or similar micro in it already then
21:25 codepython7771 Triffid_Hunter: The problem i have is, I can turn approximately and am running blind.
21:25 Triffid_Hunter yep, you need encoders
21:26 codepython7771 Triffid_Hunter: I cant put encoders, no space on the vehicle to put them. The motors drive the wheels, and there is little space left.
21:26 ace4016 and maybe sensors for the world position as well, as slippage is definitely a thing with differential steering
21:26 codepython7771 controller: http://downloads.orionrobotics.com/downloads/datasheets/motor_controller_robo_claw_R0401.pdf
21:26 ace4016 (slippage is always a thing)
21:27 codepython7771 ace4016: I was hoping someone must have hit the same problem as me, and solved those issues ?
21:28 codepython7771 maybe with a python library, that can use vision + controller to move the robot?
21:28 ace4016 oh they most likely have...
21:28 Triffid_Hunter codepython7771: yep, we solve it with encoders. without encoders you'll always be driving at least partially blind, even with IMU and vision
21:28 ace4016 if they've created a generic library...that's a different story
21:29 Triffid_Hunter codepython7771: the usual flow is, some high-level system tells your motor controller how fast to turn each wheel, then the controller looks at the encoders and manipulates the motor current to make it happen
21:32 codepython7771 Triffid_Hunter: Even if we know the encoders and motors are properly functioning, I still need to be able to turn - calculate how much velocity difference i need to create to turn?
21:33 Triffid_Hunter codepython7771: that's pretty trivial frankly, given the wheel spacing and wheel diameter you can calculate exactly how much each wheel must turn to rotate the platform by a given number of degrees through a corner of given radius using simple geometry
21:33 Triffid_Hunter and a bit of trig
21:33 codepython7771 Whats a good quadrature encoder to buy? My controller supports 2 of them. My motors : https://www.servocity.com/html/313_rpm_hd_precision_planetary.html#.VNLft51DGSo
21:34 Triffid_Hunter no idea, whatever fits.. can even make your own with printed patterns glued to the inside of the wheels and reflective IR sensors
21:34 codepython7771 Triffid_Hunter: Does everyone do this for every robot manually? Measure, calculate and then use that in the program? I was hoping there was a library for this- that given those parameters, make life easier?
21:34 Triffid_Hunter usually it's best to put them on the motor shaft though, so the controller can see a high number of steps before the gearbox
21:35 Triffid_Hunter codepython7771: again, ask google. there are an overwhelming number of robot library projects out there, most of which will have steering logic
21:35 codepython7771 Triffid_Hunter: anyone you've used?
21:35 Triffid_Hunter naw I tend to cook my own, I find it's usually faster than navigating someone else's library
21:36 codepython7771 Triffid_Hunter: how does ROS help?
21:36 Triffid_Hunter but then I've been doing firmware dev for almost 2 decades :P
21:36 Triffid_Hunter codepython7771: try it and see
21:37 ace4016 codepython7771, robotics is anything but standardized...
21:37 ace4016 it's not a solved problem
21:37 ace4016 certain tasking might be though
21:38 codepython7771 ace4016: so most people cook up their own code for a particular robot?
21:39 ace4016 usually; there might be certain tasking that a library is used for
21:40 ace4016 for example, SLAM and computer vision are complex enough that most people don't cook those
21:40 codepython7771 what about vision? Are there any good roboti vision libraries?
21:40 ace4016 :D
21:40 codepython7771 similar thoughts -- what do they use? :)
21:40 ace4016 ones targetted at robotics specifically? none that i know of. years ago i used OpenCV, but i don't know what's out there that may be better
21:41 codepython7771 I think i saw a vision library somewhere
21:41 ace4016 one thing is, you'll have to find one that works with your platform as they're rarely truly platform independant
21:42 codepython7771 are there any good sensor systems that i can just put on a bot, and it can do imu+ir+...? or do i have to pick separate sensors one by one and add them?
21:44 ace4016 not that i know of; you might find a few modules like that (lego NXT comes to mind)
21:44 ace4016 especially as various sensors desire different positions
21:45 ace4016 for instance, the IMU would prefer to be placed at teh CoG; where as the IR sensor would prefer the outer edges and clear LoS of the target it's viewing
21:45 ace4016 (with possibly some shrouding for narrowing the view field)
21:46 ace4016 shrouding/lensing
21:46 Triffid_Hunter IR sensors and sonar work best if they're recessed, due to their minimum range
21:47 codepython7771 ace4016: Right now i have a motor controller that i use to control the 2 motors on my vehicle. If I want to put another motor, is there an easier way than buying a motor controller? I've a pi on the system.
21:47 Triffid_Hunter codepython7771: depends, what will this other motor do? could you use a hobby servo?
21:47 codepython7771 All I want to do is rotate a disc 180 degree CCW, the CW.
21:47 ace4016 there's a lot of "it depends"
21:48 codepython7771 The weight is very low on the disc
21:48 Triffid_Hunter 180°? use a hobby servo
21:48 codepython7771 i want to put a proximity sensor and then just rotate it for readings
21:48 ace4016 also, as I mentioned before, your configuration and setup may be different from someone elses, so a standardized component may not be available and you'll have to do your own designing
21:50 codepython7771 are there cheap usb motor controllers?
21:56 codepython7771 Triffid_Hunter: I have a camera that I would like to rotate 180 cw and then 180 ccw to cover the entire area. Any suggestions on how i can achieve this?