#robotics Logs
Apr 06 2017
#robotics Calendar
05:36 AM veverak: P.S: best solving of issues
05:39 AM veverak: is realizing, that you don't have one
06:23 AM SpeedEvil: As long as in fact you don't have one.
06:23 AM deshipu: hmm, I'm sure that's not how I wanted them panelized: https://cdn.hackaday.io/images/resize/800x//6433991491466881364.jpg
06:25 AM SpeedEvil: oops
06:29 AM veverak: SpeedEvil: wanted to properly handle data localization for my graph
06:29 AM veverak: which has 45MB and cache of CPU is 512KB
06:30 AM veverak: found out that solving "data locality in graph" may not be the best approach, because of the madness complexity of the task
06:30 AM SpeedEvil: Sorry - just been reading stupid papers on psych stuff where the author does not realise that convincing people to change questionaire results doesn't mean you've cured the underlying condition
06:30 AM veverak: and will modify the A* that will search path in the graph: it will cace_hint top nodes on the priority queue
06:30 AM SpeedEvil: :)
06:30 AM veverak: SpeedEvil: nevermind, wanted to brag about the solution anyway :P :)
06:31 AM SpeedEvil: This was arm related?
06:31 AM veverak: yep
06:35 AM deshipu: SpeedEvil: "you want to go home or not?"
06:46 AM veverak: hmm, I give week till I finish A* and finally start shitload of benchmarks
07:56 AM deshipu: a* is not that hard to implement...
08:47 AM * veverak will find ways to overkill parts of it
08:48 AM veverak: also, I still have to do school business and other
09:38 AM SpeedEvil: deshipu: No, but resources can hit.
09:41 AM rue_house: veverak, arm state graph?
09:54 AM veverak: rue_house: yep
09:56 AM veverak: more like: {for each state A, B in grid which are neighbours | node in graph is state A upon arrival from state B}
10:04 AM veverak: actuall "neighbour pattern" has 27 possible matches
10:04 AM veverak: meaning, for each state, there are up to 27 nodes in graph :)
10:05 AM veverak: for correctness, each 'state' is also it's own neighbour, so nodes that represents "state A upon arrival from state A" are used as "start" or "goal" nodes in search
10:07 AM veverak: for now, edge contains 'energy' price and 'time' price, in future, I suppose I could actually stop calculating them, and fill them into graph based on feedback from odometry
10:10 AM veverak: AND if I find reasonable way how to visualize it , it could be interesting how to prices warry after some usage of the servos
10:15 AM veverak: P.S: and of course, you can supplement your own 'grid generator' (ie, something that generates the grid of states), 'pattern' ( something that tells what nodes are neighbours for specific node ) and 'evaluator' (something that calculates the prices)
10:25 AM arunpyas- is now known as arunpyasi
11:54 AM branjb: anyone used the openbuilds ox CNC?
03:21 PM mumptai: jo :)
03:26 PM veverak: deshipu: speaking of robotic controller, this really sums what I would like to make http://www.nintendo.com/switch/
03:31 PM veverak: hmm, rpi with display, and slide-able sides with joysticks
03:31 PM veverak: sounds fun
04:34 PM deshipu: veverak: I think there are some projects like that already
04:40 PM veverak: I would think so
04:45 PM deshipu: veverak: my latest project: http://paste.sheep.art.pl/411c1859-77bd-4235-9ae9-b33b5ac72a47/+inline
04:54 PM veverak: controller for something?
04:57 PM deshipu: veverak: featherwing with a bi-color matrix and buttons
04:57 PM veverak: featherwing ?
05:02 PM deshipu: veverak: a "shield" for the Adafruit Feather board
05:05 PM Tom_itx is now known as Tom_L
05:08 PM veverak: deshipu: wow, they looks interesting
05:08 PM deshipu: they have pretty well thought-out pinout
05:08 PM deshipu: but they are expensive, as all adafruit stuff
05:12 PM mumptai: "pretty well thought-out pinout" not hard in a world that accepts arduino as a standard
05:17 PM deshipu: mumptai: the devil is in the details
05:20 PM mumptai: regarding robotics, having a fpga for the IOs relaxes all those challenges very much
05:26 PM deshipu: which challenges?
05:27 PM deshipu: I think an fpga comes with its own rich set of challenges
05:27 PM mumptai: pin assignments, pcb layout, modularity
05:28 PM mumptai: well, not for arduino users
05:29 PM deshipu: I don't think pin assignment is such a big problem, compared to, so, fpga programming
05:31 PM mumptai: yeah, but unless you can solve everything with microcontrollers and busses, you will need more interfaces than one MCU will offer
05:32 PM mumptai: multiaxis servo control is one of those things
05:36 PM mumptai: anyways, integrating multiple IP-cores into a interface SoC isn't that hard
05:37 PM mumptai: we did that a few times with LOA, but it looks like this isn't a common thing to do. we actually published the source under a libre license, but the feedback over the last few years was nil
05:41 PM mumptai: you can almost do as many quadrature counters and bldc drivers as you have IO pins, and get ADC reading time-triggered, and all of this presented to the stm32 as memory-mapped IO
05:42 PM mumptai: need a DDS and a 50MSPS ADC? there you go ..
05:45 PM deshipu: it's easier to just get a few dedicted attinys and get them to communicate :)
05:46 PM mumptai: comunication is generally tricky, and should be avoided if possible
05:48 PM mumptai: also there are applications that need tight coupling of things that are hard to put in one place with distributed systems
05:48 PM mumptai: like correlating rangefinder readings with IMU or odometry reading
05:49 PM mumptai: with communication you will suddenly need timestamping, time distribution and something to combine all the timestamped data afterwards
05:50 PM mumptai: same for multiaxis servo control
05:50 PM deshipu: you can't run away from communication problems by throwing an fpga at them -- the different parts still need to communicate, no matter what they are implemented in
05:51 PM mumptai: yes, but you can implement a dozen point-to-point links with integrated message handling
05:51 PM malcom2073: Latency across FPGA fabric is of less concern than across an externally shared memory bus, or even moreso across communication channels
05:51 PM mumptai: no time-triggered protocol necessary
05:52 PM deshipu: you can have as many interrupt pins on an attiny as you want as well :P
05:52 PM mumptai: certainly not the same thing
05:52 PM deshipu: sure, you won't do real-time video processing
05:52 PM deshipu: but that's kinda rare thing anyways
05:52 PM deshipu: usually you don't care about even millisecond delays
05:52 PM deshipu: the real world is slow
05:53 PM malcom2073: In motion control? A millisecond is terrible
05:53 PM deshipu: it takes ages for a servo to move
05:54 PM malcom2073: Depends a lot on your jitter and accuracy requirements
05:54 PM mumptai: nah, get a moderatly fast robot and mount a 5m range laserscanner on it, you will see distortions caused by the ego-motion of the platform
05:55 PM mumptai: also controlling kinematics usually gets better with faster control-loops
05:56 PM mumptai: and stuff like software-based impedance control or force-feedback won't even work without
05:57 PM mumptai: ethercat's existence and acceptance ain't no accident
05:57 PM deshipu: maybe if you are programming an industrial robot that holds a scanning electron microsocope that makes a difference, but any robot you are likely to ever have in your household is going to be done with centimeter or larger tolerances
05:57 PM deshipu: look at the roomba -- it can miss stuff by half a meter, yet it's designed so that it will still work
05:58 PM mumptai: for the rangefinder on a moving and turning platform the timing between range reading and odometry is rather critical
05:59 PM malcom2073: Depends on what sort of household you have, mine has machines with only double digit microsecond jitter :-P
06:00 PM deshipu: malcom2073: that is never going to be widespread -- too expensive
06:00 PM malcom2073: So are computers
06:00 PM malcom2073: Size of rooms, millions of dollars
06:01 PM malcom2073: Also: It's already widespread: Cars
06:02 PM malcom2073: Errors very *very* quickly add up in control systems, so the tighter you keep each system the less total error you wind up with
06:02 PM deshipu: malcom2073: sure, you will have dedicated chips in the sensors that do the processing withhin whatever small precision is required
06:02 PM deshipu: malcom2073: you have that already, there are those tof distance sensors and whatnot
06:02 PM malcom2073: On the other hand, you can build a semi-accurate machine out of plywood and duct tape if your tolerance acceptance is low enough
06:02 PM deshipu: malcom2073: and sure, you prototype those with an fpga
06:03 PM mumptai: look, if you rangefinder is looking about 3m away, and you are truning at about 180° in 1s, 10ms jitter moves the measurement point by almost 10cm
06:03 PM deshipu: but once you have the prototype, you just make a dedicated chip
06:03 PM deshipu: and you don't program the whole thing in an fpga
06:03 PM malcom2073: You also don't use attinys if you're capable of mass producing ASIC chips
06:04 PM malcom2073: :)
06:04 PM malcom2073: Which is kinda the point: FPGA's are in the same hobby realm as attiny's nowadays, so why not?
06:04 PM deshipu: my point is that putting it all on one huge fpga just because it's cool and can do everything doesn't make much sense in the long term
06:04 PM mumptai: but fpgas are also nice and flexible, even after leaving the r&d lab
06:05 PM deshipu: you want to have dedicated subsystems that you can debug easily separately
06:05 PM malcom2073: You're right, you don't put it on a fpga because it's cool. You put it on a fpga because it's the right tool for the job
06:05 PM malcom2073: If the jobcalls for it
06:05 PM deshipu: malcom2073: I wouldn't pronounce it the right tool for the job without knowing the job first.
06:05 PM malcom2073: I have no idea what job you're talking about atm, but to say that a bunch of attinys would perform better than a fpga is silly
06:06 PM deshipu: malcom2073: I'm not saying they would perform better, I'm saying they could perform well enough in many cases.
06:06 PM veverak: while being cheaper?
06:06 PM veverak: :)
06:06 PM deshipu: and easier to handle
06:07 PM deshipu: and not requiring specialized staff on your team
06:07 PM malcom2073: I won't argue that they are capable of moving things :-P
06:07 PM malcom2073: I use arduinos for that sort of stuff all the time
06:07 PM deshipu: you know, when people start arguing about tools they often ignore the most important aspect -- do you actually have the poeple who can use those tools
06:08 PM malcom2073: in the hobbiest world, you can always learn! :)
06:08 PM deshipu: because if all you have is php programmers, then you will probably be better with php than with any real programming language
06:08 PM malcom2073: You say that.... we use php at my work a *lot* for that reasons
06:09 PM mumptai: hey, php paid for a few good parties of my student-life
06:09 PM deshipu: yes, it hurts, yes, it would be nice to have something better, but you have to work with what you have
06:09 PM deshipu: that's the difference between fantasy and real world projects
06:09 PM malcom2073: Heh, php still pays for things for me
06:10 PM malcom2073: Though I've been moving slowly towards python which has been painful, but fruitful
06:10 PM deshipu: I need to move to Rust
06:11 PM deshipu: python died with python 2
06:11 PM malcom2073: I'm using python3, that whole 2/3 thing is pretty annoying though
06:11 PM malcom2073: I've been lucky, and haven't come across a library yet that hasn't been ported
06:12 PM mumptai: actually c++11 is nice thing, and it is applicable to embedded system
06:12 PM deshipu: the most annoying thing for me is that with the introduction of python 3 the philosophy behind the language changed
06:12 PM malcom2073: deshipu: Any links for reading about that? I don't much get into the reasonings behind the languages I use
06:12 PM deshipu: the zen of python no longer applies
06:12 PM deshipu: malcom2073: no, it's just a feel
06:13 PM malcom2073: I had not seen zen of python heh
06:14 PM mumptai: i once got into python metaprogramming, afterward the appeal of the language as total kinda declined for me .. to much nasty internal details and strange design decisions
06:14 PM malcom2073: I try to avoid anything with the word meta in it :-P
06:15 PM mumptai: nah
06:15 PM malcom2073: I'm learning python by using it to develop a web application
06:15 PM malcom2073: Which apparently makes a lot of python people cringe
06:15 PM deshipu: python is a nice glue language still
06:15 PM mumptai: DSLs and meta-programming are rather okay
06:16 PM deshipu: and there are still a lot of very good tools for it
06:16 PM malcom2073: I've been trying to find a decent scripting languge for general use
06:16 PM orlock: i wrote a web app in python
06:16 PM orlock: but its very very trivial
06:16 PM orlock: app doesnt even describe it
06:16 PM deshipu: I got involved with MicroPython a lot recently
06:16 PM orlock: i could have done it in bash
06:16 PM orlock: or probably even a .bat file
06:16 PM deshipu: which is a subset of python running on microcontrollers on bare metal
06:17 PM deshipu: it's kinda refreshing
06:17 PM malcom2073: I've never really felt a need to use anything higher level than C/C++ on a micro
06:17 PM malcom2073: Though I imagine using python would be... faster
06:17 PM deshipu: malcom2073: the interactive console changes a lot
06:17 PM malcom2073: An interactive console in a micro would be amazing
06:17 PM mumptai: yeah, micropthon actually got estec sponsoring lately
06:17 PM deshipu: malcom2073: especially for poking at sensor
06:17 PM deshipu: s
06:18 PM orlock: So you can write/change code live?
06:18 PM malcom2073: Like lisp's REPL
06:18 PM * orlock needs to get back to his esp8266's
06:18 PM deshipu: pretty much
06:18 PM deshipu: you can try it at http://micropython.org/live/
06:18 PM mumptai: didn't it actually support that?
06:19 PM deshipu: yes, esp8266 is supported
06:19 PM malcom2073: Hah that's awesome deshipu
06:19 PM deshipu: well, that doesn't give you the console
06:19 PM malcom2073: deshipu: Looks locked up?
06:19 PM deshipu: possible
06:19 PM malcom2073: Someone stuck it in an inf loop? heh
06:20 PM malcom2073: The internet is a dangerous place to leave hardware
06:21 PM deshipu: it just lies somewhere at an office...
06:21 PM mumptai: a bit of fault-tolerance, like a watchdog, might fix that
06:21 PM deshipu: perhaps, but that's time better spent on making micropython better :)
06:21 PM orlock: malcom2073: There used to be a website, run by an oil company looking at electric stuff. It had 4 or so web controlled (solar powered, rechargeble) model cars you could drive around a little town
06:22 PM malcom2073: Heh
06:22 PM orlock: They would always end up ramming each other into corners/up inclines/etc trying to flip them or get "out of bounds"
06:22 PM malcom2073: Lol
06:22 PM orlock: and every so oftn when that happened, the camera's field of view would change to point "outside" of the [playing area, etc
06:22 PM mumptai: who would not do that?
06:23 PM orlock: and you could see peple wandering around, and onw would wander over and correct the cars
06:23 PM deshipu: that kind of job sucks
06:23 PM orlock: i think they were grad students or something
06:23 PM malcom2073: Heh, interns!
06:24 PM deshipu: hehe, they might be actually doing it themselves -- driving the cars, I mean -- after hours
06:24 PM deshipu: when their friends have to clean up
06:24 PM mumptai: c'mon that is litterally trying to break out of the sandbox
06:24 PM deshipu: remember that video on youtube when they left a telepresence robot in a closed room?
06:25 PM deshipu: and some guy actually got to break out of it?
06:25 PM orlock: http://www.inthemix.com.au/forum/showthread.php?t=231412
06:25 PM orlock: thats the only reference to it i could find
06:26 PM deshipu: helpful and considerate comments, as always on forums
06:27 PM malcom2073: Heh, love the internet
06:27 PM deshipu: https://www.youtube.com/watch?v=Wfx6uitblTo
06:57 PM anniepoo: lol
06:58 PM anniepoo: where's mbrumlow's bot when yo u need it
06:59 PM anniepoo: and, fwiw, that's me and Sam, showing off his lego robot
06:59 PM anniepoo: https://www.youtube.com/watch?v=yG1BRMjPgP4&index=2&list=PLo2Yjnxu38Q9PWTy8ikxFe34T_P9cjsPX
07:05 PM anniepoo: anybody up for hours?