#robotics Logs

Feb 15 2018

#robotics Calendar

12:47 AM Jak_o_Shadows: mbaretto has left.
11:14 AM nexc: I'd like to bounce off some ideas I have regarding a robot control system, probably it's not new or innovative, but would be interesting to discuss
11:28 AM mumptai: nexc, go ahead, if it is interesting people will reply
11:30 AM nexc: ok, the basic idea could be summarized as merging oscillosope views, logic analyzers and animation timeline concepts together
11:30 AM nexc: at the lowest level you have the signals of actuators and sensors given as curves
11:30 AM nexc: those curves are "cut" into section which get a label (similar to a logic analyzer)
11:31 AM nexc: but besides being able to zoom between the various detail levels (labels and concrete curve segments)
11:31 AM nexc: you can also define key frames
11:32 AM nexc: key frame would correspond to poses of a robot
11:32 AM nexc: transitions between the poses are computed like intermediary frames in animation software
11:32 AM nexc: you specify the interpolation
11:32 AM nexc: that allows to define various movement snippets efficiently, which you can then reuse and chain to define more complex movements
11:33 AM nexc: but they could also be easily parameterized (say depending on the desired walking distance)
11:37 AM mumptai: basically timestamped unified logging/monitoring
11:37 AM nexc: that's the very low level part, yes
11:37 AM nexc: but it goes beyond that, since you get increasing abstractions, and you are able to interpolate between states
11:38 AM nexc: so you can get increasingly terse when you want to program movements
11:38 AM nexc: and have them adapt
11:42 AM nexc: oh, and it's about control/making a robot move, not just monitoring
11:47 AM mumptai: but robotics typically is more reactive and usually has little maual planning (outside 1980's factory automation)
11:48 AM nexc: that's a valid point, however you can still model it as a chain of small parameterized animations
11:48 AM nexc: you can dynamically alter it based on events
11:49 AM nexc: communication protocols do that as well
11:50 AM mumptai: playing back sequences is usually not very flexible
11:50 AM nexc: mmmm
11:51 AM nexc: why not?
11:51 AM mumptai: the prefered ways to build behaviors is more mathematical or similar too finite state machines
11:52 AM mumptai: there is a lot of use for storing time-series data
11:52 AM mumptai: e.g. ROS has bagfiles that allow you to playback a past robot/world interaction
11:53 AM mumptai: very usefull for building world models and general debugging
11:53 AM nexc: indeed
11:54 AM nexc: that's also one of the reasons I want to follow this model
11:54 AM mumptai: also using signals as a function of time, is a good representation
11:55 AM nexc: regarding the state machine critique
11:56 AM mumptai: G-code and their interpreters are a popular example for mostly predetermined "behaviro", works well for simple and moderate CNC machines
11:57 AM nexc: (ok, I'll wait, I thought you were done)
11:57 AM mumptai: i'm done, go ahead, the example of cnc just came to my mind
11:58 AM nexc: when you are talking, using language in general, you can also express quite complex ideas or adapt
11:58 AM nexc: when you sign, play instruments, you can improvise
11:58 AM nexc: yet you usually wont totally reinvent everything
11:58 AM nexc: you use building blocks, and combine them, merge them
11:59 AM nexc: but you can also make smooth transitions and morph from one block to another
11:59 AM nexc: or imagine a soccer player
11:59 AM nexc: there are certain movements like kicking a ball, making a header, running, jumping etc.
12:00 PM nexc: to a point you plan and chain those movements, but you adapt them depending on what your opponents do
12:00 PM nexc: maybe add "emergency" movements to catch yourself when falling or trying to avoid an opponent
12:00 PM nexc: but those are trained over a long time, and not completely new each time
12:01 PM nexc: you get creative and adaptive, but within a certain range only
12:01 PM mumptai: i don't remember the term for it, but there is this idea that behaviros can be combined, and form a stack of abstractions that allows for reuse and ease of adaption
12:02 PM nexc: sing*
12:03 PM mumptai: go take it from, goto pos xyz, go to machine abc, to find a machine that can complete the following task on you workpiece
12:03 PM mumptai: you take it from, goto pos xyz, go to machine abc, to find a machine that can complete the following task on you workpiece
12:04 PM nexc: https://en.wikipedia.org/wiki/Subsumption_architecture
12:04 PM nexc: do you mean this?
12:04 PM mumptai: no
12:04 PM mumptai: its fixed to its sensors & actors
12:05 PM mumptai: it can also exhibit interesting bahvior fusion, but it does not have a direct abstraction build into it
12:06 PM nexc: is it based on machine learning/statistical concepts of logical AI?
12:06 PM nexc: or*
12:08 PM mumptai: neither is just stacking concurrent FSMs on each other
12:09 PM nexc: but there was something related to Brooks regarding this
12:10 PM mumptai: brooks had some remarks about subsumption arch. later on
12:10 PM mumptai: but i can't summarize it from memory
12:12 PM nexc: ohh wait
12:12 PM nexc: makes me think of adaptable animal behavior
12:12 PM nexc: where depending on the intensity of the excitation in the spinal chord, it would transition from walking to running (to I think swimming)
12:13 PM nexc: anyways, you don't seem to convinced, what would be your approach
12:13 PM nexc: ?
12:15 PM nexc: too*
12:17 PM mumptai: i use a mix
12:18 PM mumptai: there are some parts that are described by formulae
12:18 PM mumptai: some are statemachines
12:18 PM mumptai: there can also be a classical pipeline, like in image processing
12:19 PM mumptai: and some might be very adaptive and deep-learning (still have to do this)
12:19 PM mumptai: or a specialized module like a SLAM system
12:20 PM nexc: what type of formulae do you mean?
12:20 PM nexc: stuff like PID or inverse kinematics?
12:20 PM mumptai: like a PID control loop
12:21 PM nexc: ok
12:21 PM mumptai: yes
04:23 PM QuickB: hello
04:23 PM QuickB: Wassup men!
04:23 PM QuickB: How yaaaaaaal doin
04:23 PM QuickB: hahahahahahhahahaa
04:23 PM QuickB: Am I going to get kicked?
04:24 PM QuickB: PLz reply
04:24 PM QuickB: Man... I dont know if this irssi even works
04:24 PM QuickB: Bye
06:31 PM z64555: it's not Friday yet for most of the world...
06:31 PM z64555: and even in the parts where it is Friday, its nowhere near noon
06:47 PM SpeedEvil: https://www.google.co.uk/search?q=r2d2+fleshlight&client=firefox-a&rls=org.mozilla:en-US:official&channel=fflb&dcr=0&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjK55i0manZAhVDa8AKHScKAMwQ_AUICygC&biw=1067&bih=530 That would make a really neat personal transport.
06:50 PM SpeedEvil: err
06:50 PM SpeedEvil: https://img00.deviantart.net/c931/i/2005/318/2/4/centaur_2__kneebreaker_by_nancynismo.jpg
07:15 PM z64555: "kneebreaker" is an excellent name for a personal transport
09:03 PM rue_: and the boiler is heating itself up
09:05 PM orlock: rue
09:07 PM orlock: how would i progromatically convert a ip netblock size to a cidr?
09:07 PM orlock: so, for example - 256 ip's = /24
09:07 PM orlock: 512 = /23
09:07 PM orlock: 1024 = /22
09:08 PM rue_: uh
09:08 PM rue_: geez I cant think right now
09:08 PM rue_: not till sunday
09:09 PM rue_: bit to decimal conversion
09:09 PM rue_: 2^n
09:09 PM rue_: but in reverse
09:22 PM rue_: boilers almost at 50c
09:27 PM orlock: https://motherboard.vice.com/en_us/article/43qkgb/flaws-in-gas-station-software-let-hackers-change-prices-steal-fuel-erase-evidence
09:28 PM rue_: sweeeet
09:28 PM rue_: HOW
09:28 PM rue_: I just say I want -40L?
11:35 PM mrdata: rue_, then you get a good price for it
11:35 PM mrdata: lol
11:43 PM rue_: but the pump can only do a positive amount of fuel
11:43 PM rue_: or maybe they used like a signed int
11:43 PM rue_: if you ask for -32778L they roll over , but dont charge you
11:45 PM mrdata: that's hilarious