#robotics Logs

Mar 28 2020

#robotics Calendar

05:00 AM mrdata_ is now known as mrdata
11:06 AM gartt: What's the easiest way to upload andoid phone video live to my own server? SCP would be preferred as the protocol, since it's secure and I have SSH ports open already on my server. Video would likely be several minutes tops, so data and battery aren't issues
11:38 AM robotustra: morning
11:55 AM robotustra: how is your covid going on?
11:57 AM veverak: was not outside of this building for week or two
11:57 AM veverak: not sure now
11:57 AM veverak: time becames irrelevant
12:30 PM robotustra: veverak, what about food?
12:31 PM veverak: the delivery guy can leave it at doors
12:31 PM veverak: so I do not actually get out of the building
12:32 PM robotustra: delivery guy also can bring covid
12:32 PM veverak: yes
12:32 PM veverak: I got delivery of hamburger with covid now
12:32 PM veverak: and food for 5 days will arrive later
12:32 PM veverak: also with covid <#
12:32 PM veverak: <3
12:32 PM veverak: :)
12:33 PM robotustra: what about work?
12:34 PM veverak: I am phd student
12:34 PM veverak: in it/robotics
12:34 PM veverak: and i have my robot at home
12:34 PM veverak: so, I can work
12:35 PM robotustra: are you doing quadrupeds?
12:37 PM robotustra: what's your phd topic?
12:40 PM robotustra: I find one guy build pretty nice robot
12:40 PM robotustra: on youtube
12:41 PM robotustra: https://youtu.be/WtxceaXECRI
12:41 PM robotustra: https://youtu.be/eiDLmshPymI
12:49 PM veverak: yeah, quadruped locomotion
12:51 PM robotustra: do you need to provide some theory too?
12:53 PM veverak: sure
12:55 PM robotustra: what do you need to provide? working model?
01:00 PM veverak: model? in what sense
01:00 PM veverak: not really something specific
01:00 PM veverak: only thing I need is to produce valid research
02:47 PM robotustra: veverak, but I remember you did some small robot?
02:48 PM veverak: long time ago
02:54 PM robotustra: any new project?
02:55 PM veverak: more like the quadruped became THE project
02:55 PM veverak: and I spent a lot of time teaching stuff at university
02:57 PM veverak: robotustra: https://twitter.com/SquirrelCZE/status/1206697062684938241?s=20
02:57 PM veverak: still this
02:57 PM veverak: :)
02:57 PM veverak: I actually managed to somehow rewamp the control code
02:57 PM veverak: it works in simulation
02:57 PM veverak: where simulation - I simulate the servomotros directly on the serial bus it uses for communication
03:00 PM robotustra: electricity just went off
03:02 PM veverak: but you still on ir?
03:02 PM veverak: irc
03:03 PM robotustra: mobile phone
03:04 PM robotustra: i have irc client running on external server
03:04 PM veverak: ah :)
03:04 PM robotustra: and i can connect either from pc or phone
03:05 PM veverak: yeah, have irc in tmux seesion on server too
03:06 PM robotustra: what do you teach to students?
03:06 PM veverak: this semester: introduction to algorithms (theory)
03:06 PM robotustra: i also was university teacher for 10 years
03:06 PM veverak: and I am making new real-time semminars
03:06 PM veverak: new semminars for real-time course that is
03:07 PM robotustra: realtime on what platforms?
03:07 PM veverak: well, history is that it was a real-time theory course
03:07 PM veverak: without any practical work
03:08 PM veverak: and as project, the lectuer gave students lego mindstorms to write soem real-time apps
03:08 PM veverak: but that did not work, so he asked our lab (embedded) to make it better
03:08 PM veverak: so it's my problen ow
03:08 PM veverak: robotustra: I have designed project on k66f
03:08 PM veverak: NXP ARM
03:08 PM veverak: FRDM-K66F kit
03:08 PM veverak: but that is no-go given the corona situation
03:08 PM veverak: so I made it 'C' desktop app this semester
03:08 PM veverak: robotustra: they have bunch of tasks they have to write shceduler for
03:09 PM robotustra: rtos?
03:09 PM veverak: no
03:09 PM veverak: definetly no
03:09 PM veverak: ;D
03:09 PM robotustra: barebone?
03:09 PM veverak: yes
03:09 PM robotustra: good task for students
03:10 PM veverak: robotustra: RTOS tent to hide the scheduling under abstraction
03:10 PM veverak: that is bad for education
03:11 PM veverak: robotustra: https://paste.vpsfree.cz/nzaGRDca/
03:12 PM veverak: this is the API they have to work with
03:12 PM robotustra: and what schedulers type do you use?
03:12 PM veverak: well the task is solvable with EDF/RM/DM
03:12 PM veverak: which is the tree most easiest in the lecture
03:13 PM robotustra: i dont remember abbreviations, round robing?
03:13 PM veverak: nah, that won't work
03:14 PM robotustra: preemtive?
03:14 PM veverak: earliest deadline first / rate monotonic / deadline monotonic
03:14 PM veverak: non-preemptive
03:14 PM veverak: althou all three requires preemptivnes generally
03:14 PM robotustra: rigid realtime?
03:14 PM veverak: rigid?
03:14 PM robotustra: hard
03:15 PM veverak: yes
03:15 PM robotustra: hard realtime and soft realtime
03:15 PM veverak: but there are multiple definitions for 'hard'
03:15 PM veverak: let's say all deadlines have to be satisfied and they fail the project submission if they won't
03:16 PM veverak: in the lecture we define 'hard realtime' as 'it has formal verification...'
03:16 PM robotustra: to you have time slot partitioning?
03:16 PM veverak: partitioning in what sense?
03:17 PM robotustra: os gives the time slot for task to complete. time slot must be grater than worst execution time to succeed
03:18 PM veverak: not really
03:18 PM veverak: this can be purely online
03:18 PM veverak: so, simply task->job(); and select next job after it ands (or busy-wait)
03:19 PM veverak: *after it ends
03:19 PM veverak: not really necessary to work with 'time slot' concept
03:19 PM veverak: although, I want them to check (not prevent) that job overrun
03:20 PM robotustra: what about syncronization with other CPUs?
03:20 PM veverak: signle-core
03:20 PM veverak: robotustra: all of what you mentiond is part of the theoretical lecture
03:20 PM veverak: I only take care of the practical project, which is more like "throw students into a lake and let them learn to swim"
03:20 PM robotustra: it's used in avionics
03:20 PM veverak: so it uses simple scheduling
03:21 PM robotustra: i mean time slots
03:21 PM veverak: I see
03:21 PM veverak: with itnerrupts at the end of timeslot?
03:22 PM robotustra: no, os usually have own slots
03:22 PM veverak: so you expect that the size of timeslot is correct/
03:22 PM veverak: ?
03:22 PM veverak: (=> larger than worst exec time)
03:22 PM robotustra: yes
03:23 PM robotustra: you can run more than one task for slot but sum of worst times should be less than partition time
03:24 PM veverak: yeah
03:24 PM veverak: that sounds like 'frame based scheduling' in our lecture
03:25 PM robotustra: it makes sense for complex systems with syncronous communication buses
03:26 PM robotustra: i also want to use something like this on my futire robot
03:26 PM robotustra: not just realtime
03:28 PM robotustra: application in avionics dont have interrupts, syscalls only
03:28 PM veverak: ah
03:28 PM veverak: I see
03:29 PM robotustra: kernel handles all interrupts
03:29 PM veverak: yeah, that makes sense
03:30 PM veverak: althought I would like kernel with callbacks
03:30 PM veverak: :/
03:31 PM robotustra: from app level?
03:31 PM veverak: yeas
03:32 PM robotustra: what about previleges?
03:32 PM veverak: like "kernel please call this function when new message on UARt arrives"
03:32 PM veverak: ^^ this kind of stuff
03:33 PM robotustra: like subscriber?
03:33 PM veverak: that usually implies N:M relationship
03:33 PM veverak: I would prefer 1:1 here
03:33 PM veverak: so just callback registration
03:34 PM robotustra: subscription is the generalized case
03:34 PM veverak: ah :)
03:35 PM robotustra: service-subscriber architecture
03:35 PM veverak: yeah
03:35 PM veverak: I hate the POSIX approach of pooling tbh
03:36 PM robotustra: i know that BT stack is implemented inside nordik semi controllers
03:36 PM robotustra: nrf51, nrf52...
03:37 PM robotustra: all BT stack are based on callbacks, so it's doable i think
03:40 PM veverak: robotustra: so, what were you teaching at uni?
03:40 PM robotustra: the thing you want is like kernel module on linux
03:41 PM robotustra: physics
03:41 PM veverak: yeah, I like kernel modules on linux
03:41 PM veverak: ah :
03:41 PM veverak: :)
03:41 PM robotustra: it was 10 years ago
03:42 PM veverak: tbh that's my weakest point in robotics
03:42 PM veverak: or, I feel like it
03:43 PM robotustra: since then I'm mainly work as embedded programmer
03:43 PM veverak: I see
03:43 PM robotustra: a respawned my work on cnc lathe
03:44 PM robotustra: plenty of stuff still to do
03:45 PM veverak: I feel like I wont't be able to finish 70% of my projects in my lifetime
03:47 PM robotustra: https://i.imgur.com/AOtnxMw.jpg
03:47 PM veverak: nice
03:47 PM robotustra: lucky you, I hope to finish at least 25% of my plans
03:48 PM robotustra: I need 400 years life to complete all my ideas
03:48 PM robotustra: :)
03:49 PM robotustra: https://i.imgur.com/10Tt2qf.jpg
03:50 PM robotustra: now working on ball screws mount
03:51 PM robotustra: and pulleys
03:51 PM veverak: nice
03:57 PM robotustra: https://i.imgur.com/b2XmHyM.jpg
03:57 PM robotustra: motor mount for Z axis
03:58 PM robotustra: https://i.imgur.com/7ToWlpr.jpg
04:00 PM robotustra: modifying pulleys to fit to shafts
04:02 PM robotustra: oh, elecrticity is on, go back to drilling
05:36 PM rue_mohr: hey
05:36 PM rue_mohr: lookin fine
05:36 PM rue_mohr: :) I just cant get the world to understand how to make anti-binding axies tho!
05:37 PM rue_mohr: what are the pumps on the right?
07:46 PM robotustra: rue_mohr, these are just blow of air for chips while I'm milling
07:47 PM robotustra: tiny Al chips are blown away from groves
10:07 PM rue_mohr: ?