#robotics | Logs for 2016-02-29

Back
[00:15:41] <anonnumberanon> hi
[00:15:55] <anonnumberanon> why is that a worry?
[04:42:34] <Jak_o_Shadows> I got my cheapy logic analyzer working
[08:04:58] <robotustra> hey
[13:49:47] <z64555> think I'm finally understanding how kalman filter works
[13:50:45] <z64555> I keep asking "what's the point of knowing the covariance?" until I got down to where it plugs into the gain
[16:20:21] <deshipu> https://www.youtube.com/watch?v=S7nhygaGOmo
[16:20:28] <deshipu> robot cruelty continues
[16:20:39] <deshipu> now they sic a dog on it
[17:56:30] <mbrumlow> Hey, so I am going to add a lidar to my tank bot. But I wonder about tracking myposition. Will I need encoders to caclulate how much I have moved? Or do you think I will be able to caclulate that off of infromation from the lidar?
[17:57:21] <mbrumlow> I am looking at adding http://www.robotshop.com/en/rplidar-360-laser-scanner.html
[17:57:33] <deshipu> calculating it from the lidar is nontrivial
[17:57:39] <deshipu> it involves pattern matching
[17:58:14] <deshipu> basically you need to find corresponding points on two images that are shifted and rotated
[17:59:53] <veverak> that price
[18:00:28] <veverak> deshipu: shoudln't opencv be able to handle it?
[18:00:30] <veverak> afaik it should
[18:00:39] <veverak> of course it means some computing power
[18:01:53] <mbrumlow> deshipu: awesome, that is what i was hoping. I don't want to have to add a gyro or any other sensor to this project.
[18:02:07] <mbrumlow> veverak: would I need two cameras?
[18:02:12] <veverak> nooooh
[18:02:23] <veverak> I mean that opencv can handle pattern matching
[18:02:25] <veverak> :)
[18:02:38] <mbrumlow> damn, I was hoping to get started sooner :(
[18:02:41] <veverak> and can be used to solved the problem, but not solution either
[18:02:46] <mbrumlow> now I have to wait to get this thing.
[18:02:49] <veverak> mbrumlow: general approach for this
[18:02:58] <veverak> mbrumlow: is to use as many sensors/data you can
[18:03:03] <mbrumlow> lol
[18:03:07] <veverak> know how unreliable they can be
[18:03:23] <mbrumlow> I feel like I am going to need to build a bigger system to do what I want.
[18:03:29] <mbrumlow> to hold the compute.
[18:03:32] <veverak> (so they tell you where is what with what percentage)
[18:03:54] <veverak> and based on that you compute some "image" about what you think your surroundings is
[18:04:03] <veverak> that logically implies
[18:04:03] <deshipu> mbrumlow: it's several orders of magnitude easier to simply have encoders on the wheels
[18:04:11] <veverak> that you need sensors based on what you want to see
[18:04:13] <deshipu> mbrumlow: you can make simple ones with hal sensors and magnets
[18:04:21] <veverak> and you may find out that you need to add sensors, or remove somes :)
[18:04:37] <mbrumlow> dingbat: I think the mototers on the system have the encoders, I just did not wire them in.
[18:04:41] <mbrumlow> Also, on encoders.
[18:04:50] <deshipu> even better
[18:05:07] <mbrumlow> I was wondering how you work with programming them. Like what that woud look like.
[18:05:35] <mbrumlow> For example, if I wanted to move forward. would I just loop and say "move x ticks"?
[18:05:38] <mbrumlow> over and over.
[18:05:42] <deshipu> best to handle them with hardware interrupts -- they you won't skip any
[18:06:11] <deshipu> that would just save the counts in some variables
[18:06:28] <deshipu> then you can use those variables to know where you are compared to the beginning
[18:06:31] <Tom_itx> http://tom-itx.no-ip.biz:81/~webpage/avr/atmega328/PCINT0/quadrature/
[18:06:36] <Tom_itx> quadrature on an avr
[18:06:36] <mbrumlow> deshipu: that would be if I was using an edison or some other system running a OS?
[18:06:50] <veverak> not really
[18:06:50] <deshipu> mbrumlow: no, on microcontrollers
[18:06:55] <veverak> interrupts are pretty common
[18:06:57] <veverak> :)
[18:07:06] <veverak> is there even microcontroller that doesn't have any?
[18:07:06] <deshipu> mbrumlow: usually systems that run operating systems don't really gave interrupts on gpios
[18:07:14] <mbrumlow> Because I have been thinking of moving away from things like the edsion for controlling sensors and motors.
[18:07:46] * deshipu --> bed
[18:08:20] <mbrumlow> Is it common to do a setup like compute coupled with a bunch of arduinos?
[18:08:24] <mbrumlow> deshipu: night.
[18:08:51] <mbrumlow> basicly, something with a OS, talking to a lot of little microcontrollers.
[18:09:22] <mbrumlow> If so, what do you normally comminicate with and how fast is that comminication?
[18:09:47] <mbrumlow> Mostly conserened with latency not so much bandwith.
[18:10:17] <mbrumlow> veverak: so arduinos have innterupts ?
[18:10:42] <veverak> yep
[18:10:51] <mbrumlow> hmm
[18:11:10] <mbrumlow> I gues I need to do some small arduino prjects next.
[18:11:34] <mbrumlow> My end goal btw, is a robot of some sort that will move around the office and pick up nurf darts.
[18:11:43] <mbrumlow> but not like with a vacume.
[18:11:48] <mbrumlow> I want a robotic arm.
[18:11:55] <mbrumlow> to reach down and pick the dart up off the ground.
[18:12:01] <mbrumlow> an put it in a bucket.
[18:12:15] <mbrumlow> my stupid tank thing was just me learning some things.
[18:12:39] <veverak> sounds interesting
[18:12:42] <veverak> :)
[18:13:08] <mbrumlow> thanks :)
[18:13:23] <dingbat> I was summoned. I am here.
[18:14:40] <mbrumlow> So does anybody have any ideas about proper configurations? Like a compute unit with gpios that talks to a bunch of speicalized micro controlers to handle task?
[18:15:20] <mbrumlow> If so do you use something like i2c to talk or something else? Also what about latency of messages?
[20:32:41] <winsoff> Could I build my own roomba for less money than buying one?
[20:33:37] <Snert> indubitably
[20:33:56] <Snert> might take eons, but it would be cheaper.
[20:34:10] <Snert> and funner too.
[20:35:55] <winsoff> Snert, what should I read into before doing anything toward that? I sort of want to replace myself as janitor/make part of my duties obsolete
[20:37:28] <Snert> it's a huge subject.
[20:37:58] <Snert> and you won't get anywhere without knowing C++, arduino programming and mechanical stuff.
[20:38:16] <winsoff> Why C++? Why not just C?
[20:38:29] <Snert> whatever works.
[20:38:37] <Snert> the point is all the facets.
[20:38:50] <winsoff> Ah, I see.
[20:38:56] <Snert> maybe look for a busted roomba on ebay
[20:38:58] <winsoff> Also, why is arduino so popular?
[20:39:01] <winsoff> That's a good idea.
[20:39:35] <Snert> arduinos lower the bar to programming. There are other popular boards.
[20:47:24] <winsoff> Snert, are they all under the category of "FPGA"?
[20:53:48] <z64555> I remember a nice analogy that compares FPGA's with uC's
[20:54:16] <z64555> And FPGA is a factory floor, all cleared away but with a bunch of machine parts ready for you to play with
[20:54:41] <z64555> A uC is also a factory floor, but you have machines littered about the place
[20:55:30] <z64555> some (usually) very efficient machinery
[20:57:06] <Tom_itx> some FPGA have arms & legs in em nowdaze
[20:58:31] <z64555> which is helpful, you don't have to keep "reinvent" the wheel on the most common bits, which tend to be at least on CPU module
[20:58:43] <z64555> *one
[20:58:51] <z64555> yikes, my spellings gone tonight
[21:22:19] <winsoff> What does uC stand for?
[21:22:24] <orlock> microcontroller
[21:22:41] <winsoff> Ah, there we go.
[21:24:31] <Tom_itx> µ micro
[21:24:35] <Tom_itx> C controller
[21:25:58] <zhanx> Orlock nope
[21:28:25] * z64555 needs to memorize the alt code for µ
[21:28:37] <z64555> letsee... 0181
[21:35:55] <z64555> hmm... I think I can get away with a standard kalman filter
[21:36:45] <z64555> at least for craft stabilization. when I get to inertial navigation is when I have to start tracking acceleration