#robotics Logs

Mar 29 2020

#robotics Calendar

07:03 AM veverak: hmm
07:09 AM veverak: what lagnuages exists to describe machine movement apart from GCODE?
07:24 AM Tom_L: veverak, HPGL
07:24 AM veverak: http://www.opensbp.com/#programming
09:12 AM veverak: anybody experience with arducams?
09:12 AM veverak: need camera for tunnel inspection robot
09:31 AM veverak: so far it seems that decent usb cam + usb over ethernet could work
12:04 PM deshipu: arducam is horrible
12:05 PM deshipu: a 16MHz AVR with 2kB ram is not the best platform for photo processing
12:05 PM veverak: they have usb cameras
12:06 PM veverak: and replaceable optics, which is pretty cool feature
12:06 PM deshipu: every camera has replaceable optics ;-)
12:06 PM deshipu: if you want to go fancy, take a look at OpenMV
12:07 PM veverak: I need 60m cable
12:07 PM veverak: and <300ms delay ideally
12:07 PM veverak: so this https://www.arducam.com/product/arducam-1080p-low-light-low-distortion-usb-camera-module-with-microphones-2mp-sony-cmos-imx323-mini-uvc-usb2-0-webcam-board-with-3-3ft-1m-cable-for-windows-linux-android-and-mac-os/ with some sort of cable extension looks interesting
12:07 PM mumptai: why not some ethernet based cctv camera?
12:08 PM veverak: they are big
12:08 PM mumptai: ethernet is not the worst wrt. long cables
12:08 PM veverak: and it's for a robot for small tunnel - 250mm dia
12:08 PM veverak: so
12:08 PM mumptai: mhmm
12:08 PM veverak: I suppose cctv are not made for "short distance focus"
12:08 PM veverak: :)
12:08 PM mumptai: okay, some small RPI mini ?
12:09 PM mumptai: wasn't there that open AUV project?
12:09 PM veverak: seems like a lot of trouble, so I would like to avoid it
12:09 PM veverak: let me google
12:09 PM veverak: hmm
12:09 PM veverak: submarines!
12:10 PM veverak: https://www.arducam.com/product/arducam-1080p-low-light-low-distortion-usb-camera-module-with-microphones-2mp-sony-cmos-imx323-mini-uvc-usb2-0-webcam-board-with-3-3ft-1m-cable-for-windows-linux-android-and-mac-os/
12:10 PM veverak: wait
12:10 PM veverak: this
12:10 PM veverak: https://en.wikipedia.org/wiki/OpenROV
12:12 PM mumptai: okay, its a beaglebone + usb cam + ethernet umbilical
12:13 PM veverak: it's doable propably
12:13 PM veverak: but seems troublosome to make it reliable
12:14 PM veverak: so, first idea; usb cam + usb-over-ethernet adapter
12:14 PM mumptai: dunno, maybe their design is similar enough to adapt
12:14 PM veverak: second; usb cam + long usb cable
12:14 PM veverak: third: raspi+cam + ethernet
12:15 PM robotustra: i think bigger problem will be 300ms delay
12:15 PM veverak: I believe that you can make USB cam < 200m
12:15 PM veverak: ms
12:15 PM veverak: so I just need cable extension that won't increase it by more than 100ms
12:16 PM veverak: which is one of the reasons I do not want to add linux pc into the chain pointlessly
12:16 PM veverak: however, rpi with 'natice camera' can have smaller delay?
12:17 PM mumptai: ohh, i'm not so sure about that
12:18 PM mumptai: we did rpi3 and openCV and we had to fiddle with many parts of the pipeline to eleminate double-buffering
12:18 PM veverak: so
12:18 PM mumptai: it was annoying at least, and the system designers certainly never cared about data latency
12:18 PM veverak: that's why I want camera with long cable :D
12:19 PM mumptai: we stoped your efforts when things felt quick enough (no real measurements)
12:19 PM mumptai: there are also the GbE cameras out there
12:21 PM mumptai: their vendors might actually tell you, but its an expensive terrain (i assume its a diy/hobby project)
12:21 PM veverak: actually a project for somebody
12:21 PM veverak: that I do not have enough money for GbE camera
12:21 PM veverak: allready tired
12:21 PM veverak: but, maybe I just tried wrong vendor
12:22 PM mumptai: openMV might also offer a way to determinstic timing, but there might be a lack of interfaces with enough bendwidth and reach
12:22 PM robotustra: any coding uncoding of video will give the delay
12:22 PM veverak: robotustra: aware of that
12:23 PM mumptai: openMV is a stm32 with a image sensor directly attached, so unless the sensor has the jpeg enabled you get data as soon as it leaves the sensor
12:24 PM mumptai: and even if jpeg is enabled, it might still only introduce a few scan lines delay, they might not want to have enough memory for a full frame
12:24 PM robotustra: mumptai, it depends on camera application, i'm pretty sure cameras with lith low latency exists, but they cost much more
12:24 PM mumptai: inside the sensor
12:25 PM veverak: I have around 300$ for the camera
12:25 PM veverak: I am going to study this https://bluerobotics.com/
12:25 PM veverak: they use ethernet
12:26 PM mumptai: actually a zybo video + rpi-camera can be had for a few 100$ .. but its a complete problem set of its own to get this working
12:27 PM mumptai: would a openmv with ethernet "a thing"?
12:28 PM veverak: what baout delay?
12:29 PM mumptai: dunno, maybe a frame
12:29 PM mumptai: but this is some amount of serious engineering
12:29 PM mumptai: both, zybo and opemv+ethernet
12:29 PM mumptai: i woudl guess a few 100 hours of work
12:30 PM veverak: meh
12:30 PM mumptai: sorry
12:31 PM veverak: I mean, I said I will do this
12:31 PM veverak: so it has to be done
12:31 PM veverak: but I do not really want to spent 100+ hours on it
12:32 PM mumptai: what resolution is needed?
12:34 PM veverak: not really specified
12:34 PM veverak: so at least 720p by me
12:37 PM mumptai: okay
12:37 PM mumptai: won't make it easier
12:37 PM veverak: hmm
12:37 PM veverak: the blyuerov uses rpi + usb camera + ethernet
12:37 PM veverak: they however do not use eth. cable
12:38 PM veverak: but have custom cable and custom bridge over it
12:38 PM veverak: which makes sense for submarine I guess
12:44 PM veverak: well
12:44 PM veverak: I sent email to arducam, with description of mine problem
12:44 PM veverak: let's wait for their answer
02:39 PM deshipu: veverak: if you need low latency and a long cable, why not go analog?
02:41 PM veverak: do you have some materials about that?
02:41 PM veverak: deshipu: I have 0 knowledge and 0 experience in that area
02:41 PM veverak: also, with analog, we also have to provide the display
03:37 PM weyland|yutani: never had seen this much traffic in here since the whole corona lockdown started
03:37 PM weyland|yutani: #coronadrivesrobotics
03:37 PM weyland|yutani: ;P
03:38 PM weyland|yutani: had a very enlightening read about tank armor the other day too
03:39 PM weyland|yutani: never knew what things one could do using rubber sandwiched between plates of stell and ceramics
03:39 PM weyland|yutani: steel
03:39 PM weyland|yutani: also glas is a thing in modern armor
03:41 PM veverak: yup, layering is <3
03:41 PM veverak: hmm
03:41 PM veverak: seems to me that embedding lua into my project will be easy
03:41 PM veverak: nice
03:41 PM veverak: <#
03:41 PM veverak: <3
03:42 PM weyland|yutani: friend of mine wanted to use LUA and he said it was a horrible experience
03:52 PM mumptai: this channel wasn't that dead before public social live shut down ... donno what make of this
03:53 PM deshipu: veverak: pretty much any tv accepts analog signal
03:55 PM veverak: deshipu: it's supposed to be mobile
03:55 PM veverak: weyland|yutani: why?
03:55 PM deshipu: there are small tvs out there
03:57 PM weyland|yutani: veverak, well if i reall right it was the extra extra steps and dependencies which really annoyed him but i dont details he just mentioned it because it was this annoying
03:57 PM mumptai: maybe the fpv drone stuff might be worth a short investigation
04:02 PM veverak: weyland|yutani: I see
04:02 PM veverak: mumptai: problem is that it is wireless
04:03 PM veverak: 60m long tube
04:03 PM veverak: and I do not suspect that it will be straight
04:04 PM weyland|yutani: veverak, he does image analysis and wanted it to incorporate it as a scripting language but gave up because of all the huge bloated dependencies
04:05 PM veverak: that's weird
04:05 PM veverak: I mean, it seems it does not have any
04:05 PM weyland|yutani: hm maybe i am jumbling things i will ask him again
04:08 PM veverak: well
04:08 PM veverak: I have quadruped robot
04:08 PM veverak: I am writing software that actually controls the ahrdware
04:08 PM veverak: and question was: how to interface it?
04:09 PM veverak: I have code that genreates motion plan, so I need 'execute this motion plan' as interface (but that is quite vague, what actually is plan?'
04:09 PM veverak: second: I want stored sequences to be executed like: fold/unfold
04:10 PM veverak: first idea: write a json format that stores sequences of 'state machines' (like: exec these commands to servos and wait...)
04:10 PM veverak: but that would not scale, as I want cyclers/modules in the stored sequences
04:10 PM veverak: so.... I thought about lua
04:10 PM veverak: and so far it seems like best idea
04:11 PM veverak: API of the quadruped is LUA vm that accepts lua code and executes it
04:13 PM weyland|yutani: veverak, well he uses chyton now
04:14 PM veverak: I see
04:16 PM weyland|yutani: veverak, but i will ask him again
04:16 PM veverak: so far I have only positive feedback about it
04:18 PM weyland|yutani: veverak, well first used a LUA scripting env using autocad also a lot of companies use it so i never really understood why he was so gung ho about it
04:18 PM veverak: gameindustry uses it everywhere
04:18 PM weyland|yutani: yes
04:19 PM weyland|yutani: i just wanted to point out that in the 2000 i used it as a way to use autocad
04:19 PM weyland|yutani: so its use is a very long one
04:20 PM weyland|yutani: but i know nothing about software dev so i guessed maybe its a case of "hard to implement and easy to use if you get it running"
04:20 PM weyland|yutani: kinda like FPGA dev
04:20 PM veverak: I just went through their doc for that
04:20 PM veverak: seems easy
04:21 PM weyland|yutani: hmm is it this easy in a windows env too?
04:22 PM veverak: seems so
04:22 PM veverak: weyland|yutani: lua interpretr is written in C
04:22 PM veverak: it's just written in a way that it can also be used as a library
04:23 PM weyland|yutani: hm
04:23 PM weyland|yutani: seems i cant remember what really was the real problem
06:35 PM veverak: so
06:35 PM veverak: it trully seems like the right way
06:35 PM veverak: now: how to use the lua?
11:10 PM goppo: hi
11:13 PM goppo: given an arbitrary 6-axis arm, is there a way or a tool to generate the coordinates of all the poses of the end effector?
11:27 PM Tom_L: https://github.com/Chris-Annin/AR2
11:27 PM Tom_L: https://www.instructables.com/id/Controlling-Arduino-Robot-Arm-With-Arm-Link-Softwa/
11:28 PM Tom_L: https://www.swri.org/press-release/swri-establishes-ros-industrial-software-repository