#robotics | Logs for 2016-01-14

Back
[00:00:28] <z64555> I lean towards the electronic side of things, in particular microcontrollers and robotics
[07:28:20] <wrockss> hello everyone, i'm developing an Quadrocopter and I got a Problem with the accelerometer I'm using. I'm not sure about it, but how to correctly calibrate an accelerometer? What I did, was to build it in into the quadrocopter, put the quadrocopter to the floor, measuring 100 values and get the mean value
[07:29:16] <wrockss> but the result I'm getting looks like this: http://www.directupload.net/file/d/4233/sqlkkrnr_jpg.htm
[07:29:32] <wrockss> when i turn the quadcopter to 90 degress i get an mixed value
[07:44:47] <deshipu> that looks about right
[07:52:23] <veverak> hmm
[07:52:57] <deshipu> he held it flat, then rotated 90°, then rotated in other axis, then held at 45°
[07:53:09] <deshipu> or something like that
[07:55:23] <veverak> should arduino be able to power 2xg9 servos?
[07:55:30] <veverak> hmm, nah, pointless
[07:56:05] <veverak> but I want to know how much can arduino pro handle
[07:56:14] <veverak> *mini
[07:58:24] <veverak> 40mA ? should be enough for led
[08:02:01] <deshipu> 40mA per pin, 100mA per port, 200mA for the whole board
[08:02:36] <robotustra> I would not recommend to load pins with 40 mA
[08:02:53] <deshipu> but normally you only provide a signal from the pro mini, and power the servo from battery
[08:03:02] <robotustra> use drivers
[08:03:08] <deshipu> robotustra: those are the absolue maximums
[08:03:21] <robotustra> or transistors
[08:03:24] <deshipu> robotustra: no need, servo signal cable doesn't draw much current
[08:03:41] <deshipu> and the power cable is separate
[08:04:28] <deshipu> veverak: what are you doing?
[08:06:25] <veverak> deshipu: figured out I want turnable leds for camera
[08:06:30] <veverak> 4 leds let's say
[08:06:56] <veverak> so again, I am thinking about second pro mini buoard
[08:07:36] <veverak> I can place it on top of A+ near camera gimbail
[08:07:58] <veverak> but that would makes sense only when arduino would be able to power it
[08:09:24] <veverak> P.S: servos got own power source ofc
[08:09:43] <veverak> but for leds to have own source it would mean adding other things and dunno about that
[08:09:56] <veverak> hmm, on the other hand one mosfet won't hurt
[08:10:05] <deshipu> 20mA LEDs should be fine
[08:10:27] <deshipu> as long as you don't have 10 of them
[08:10:42] <deshipu> then you need to add transistors
[08:10:43] <veverak> 4 at max
[08:31:48] <veverak> 2 wide angle and 2 with narrow angle
[08:45:55] <LiohAu> veverak: iirc you're good with URDF files right?
[08:46:51] <veverak> not yet
[08:46:53] <veverak> :D
[08:47:06] <LiohAu> well i'll ask my question anyway
[08:47:18] <LiohAu> I'm starting the URDF file for my robotic base
[08:47:26] <LiohAu> and I was wondering how should I define the wheels
[08:48:11] <LiohAu> since i'll use a <cylinder /> what should be the origin ?
[08:48:29] <veverak> center of wheel?
[08:49:22] <LiohAu> so if my wheel has a 4cm width, the origin will be at 2 ?
[08:51:59] <deshipu> center of the bottom of the cylinder
[08:52:16] <deshipu> so at 0
[08:52:23] <LiohAu> the bottom being in the interior side or exterior ?
[08:52:29] <LiohAu> (interior I guess)
[08:52:50] <deshipu> the wall has thickness of 0
[08:52:57] <deshipu> so doesn't matter
[08:53:04] <deshipu> or rather, both
[08:55:34] <LiohAu> 2nd question, I understood that for simplicity we use "basic" shapes like cylinder/boxes.. for collision checking, but should I simplify the model by removing parts inside of the base?
[08:57:13] <LiohAu> let's say you have like 15kgs of batteries inside the robot, it's useless to add them to the URDF as they will never collide anything
[08:57:24] <LiohAu> but the 15kg should affect the simulation right?
[08:57:25] <deshipu> if you don't need them, then don't add them
[08:58:32] <deshipu> as long as they are pretty evenly distributed inside the base, it's fine
[08:58:51] <deshipu> if they are not, and you need the simulation of weight to be accurate, you need them
[09:00:28] <LiohAu> I think that i'm like frustrated to have so many parts in the real robots, and so few items in the URDF :(
[09:00:31] <deshipu> veverak: https://github.com/sparkfun/3D_Models
[09:02:30] <LiohAu> in the end, it's like if you had the same URDF for a baxter and the uArm that's really weird
[09:03:39] <deshipu> simplification makes stuff simpler :P
[09:04:05] <LiohAu> I used the solidworks to URDF plugin
[09:04:09] <LiohAu> now I have to clean everything
[09:04:25] <LiohAu> it has generated the .stl file for my wheel
[09:04:39] <LiohAu> but there's also the DC motor, the hub, the screws
[09:04:45] <LiohAu> and bearings
[09:04:56] <LiohAu> I don't know if I should only keep the wheel :(
[09:05:29] <deshipu> I would only keep the wheels, unless I want to simulate my robot falling apart
[09:06:11] <LiohAu> why would you need it for a robot falling apart ?
[09:06:20] <deshipu> no idea
[09:06:22] <LiohAu> ok :D
[09:37:08] <LiohAu> what kind of shape has this inertia formula : 2.0 / 5.0 * mass * radius * radius ?
[09:37:29] <veverak> :D
[09:37:38] <LiohAu> oh it's a shpere
[09:37:39] <veverak> LiohAu: simplification is quite nice
[09:37:41] <veverak> deshipu: nice!
[09:37:54] <LiohAu> what?
[09:38:56] <deshipu> LiohAu: stls for all sparkfun's parts
[09:39:07] <deshipu> well, eventually all, one hopes
[09:39:14] <LiohAu> STLs ?
[09:39:16] <robotustra> 3/8*pi*R^3
[09:39:54] <deshipu> so if you have a pizza with radius z and thinckness a...
[09:39:57] <LiohAu> robotustra: can't find this one on wikipedia
[09:42:13] <LiohAu> deshipu: Iz = pizza mass * z * z / 2 Ix = Iy = pizza mass / 12 * (3 * z * z + a * a)
[09:42:28] <deshipu> pi*z*z*a
[09:43:20] <LiohAu> I don't see any formula using pi on that wikipedia page
[09:44:55] <LiohAu> well this guy use a the sphere formula for the inertia of its robot oO
[09:44:58] <robotustra> err 4/3*pi*R^3 - the volume of sphere
[09:44:59] <LiohAu> robot wheel*
[09:45:17] <robotustra> and what are you talking about?
[09:45:25] <LiohAu> that URDF file : https://github.com/arennuit/vrep_ros_control_example/blob/master/urdf/MyRobot.urdf.xacro
[09:45:40] <LiohAu> (i'm looking at various examples)
[09:45:44] * veverak wanted to make urdf of tote
[09:45:49] <veverak> still in todo though
[09:46:07] <LiohAu> what's the name in english for a pair of wheel ?
[09:46:27] <veverak> axle I thin
[09:46:34] <veverak> k
[09:46:45] <veverak> oh, that's specifically in cars
[09:46:49] <veverak> maybe you can use it? :)
[09:47:03] <LiohAu> yes I was looking for the name for cars :)
[09:47:53] <veverak> good
[09:48:05] * veverak needs to create something for cam calibration
[09:48:11] <veverak> http://docs.opencv.org/2.4/_images/fileListImageUnDist.jpg
[09:50:21] <LiohAu> I think there's a package in ros for that
[09:51:19] <LiohAu> ROS, the apple of robotics (there's an app for that => there's a package for that :d)
[09:52:12] <veverak> yeah
[09:52:14] <veverak> :)
[09:52:21] <veverak> I need it for calibration of cam in ROS exactly
[09:52:23] <veverak> :D
[09:52:35] <LiohAu> you're making stereo vision right
[09:52:36] <LiohAu> ?
[09:53:10] <LiohAu> http://wiki.ros.org/camera_calibration/Tutorials/StereoCalibration
[09:53:49] <veverak> nope, mono
[09:54:23] <veverak> http://wiki.ros.org/image_proc?distro=jade
[09:58:08] <z64555> what kind of hardware typically runs ros?
[09:58:13] <z64555> raspi?
[09:58:43] <LiohAu> no
[09:58:46] <LiohAu> real pc
[09:59:00] <LiohAu> with a good gpu if you use 3D stuff like PCL
[09:59:13] <z64555> hm.
[09:59:21] <z64555> although.
[09:59:33] <LiohAu> if you don't make computer vision related things, you may use a single board computer like the odroid
[09:59:34] <z64555> I have seen some pc's that are quite small
[10:00:26] <LiohAu> even with an odroid you can make few things like face recognition/tracking
[10:00:49] <LiohAu> but a raspberry pi is really slow compared to an odroid
[10:02:14] * veverak runs it on rpi A+
[10:02:24] <veverak> and everything interesting will be on laptop and over network
[10:03:16] <LiohAu> veverak: so you're running only nodes that does not make heavy computations ?
[10:03:27] <veverak> yeah
[10:03:28] <veverak> :)
[10:03:33] <veverak> it's not much so far
[10:03:41] * veverak sort of struggled with compiling things a bit
[10:04:20] <z64555> neat
[10:19:09] <LiohAu> veverak: If my root link (the base link so?) is a box of x * y * z, is my origin at 0 0 0 ?
[10:19:34] <LiohAu> hm that's not what I wanted to write :D
[10:19:44] <LiohAu> I know my origin will be at 0 0 0
[10:20:05] <veverak> duuno
[10:20:07] <LiohAu> but I don't know where will be my origin relative to my box
[10:20:22] <veverak> depends how you set it
[10:21:41] <veverak> I mean
[10:21:56] <veverak> this is more like pick something and stick with it
[10:22:01] <veverak> and keep the general idea same for entire robot
[10:28:23] <LiohAu> veverak: if my origin is at the center of the box, it makes easy for me to indicate wheel position, as it becomes offset_x / offset_y (with a * -1 depending on the side/end)
[10:29:12] <veverak> tip: don't overthink this
[10:29:16] <veverak> no matter where center is
[10:29:35] <veverak> you will always found that there will be poitns for which you have to make more math than others :)
[10:32:05] <veverak> anyway, exactly becaus eof this I made support for my python cad library to found points in "object hiearchy"
[10:32:17] <veverak> and get their posiiton absolute compare to root
[10:32:22] <veverak> *compared
[10:32:53] <veverak> idea is that I will modify the CAD model and than just export to urdf
[10:32:55] <veverak> :)
[10:35:58] <veverak> but nah, export mechaism of my lib still sucks
[10:36:00] <veverak> have to devel more
[11:48:56] <z64555> hm, I think that's a sign for me to move away from the HC9S12
[11:49:21] <z64555> the first few download links for a toolchain for it are 404'd
[11:49:43] <z64555> CodeWarrior works, but I have a love/hate relationship with it
[11:50:12] <z64555> good excuse to try fiddling with the $5 stellaris board that's never been used, lol
[14:48:10] <rue_shop3> HC9!?
[14:48:15] <rue_shop3> not even HC11?
[14:48:27] <rue_shop3> what happened to the marvelous HC16!?
[14:48:35] <rue_shop3> it was supposed to take over the world
[14:49:45] <deshipu> don't they all just differ with firmware?
[16:45:16] <rue_shop3> different microcottrollers
[16:56:42] <akem> whats one most popular IC after arduino? question of the day
[16:57:06] <rue_shop3> there is no IC called 'arduino' there is just the AVR microcontroller
[16:57:13] <z64555> :)
[16:57:17] <rue_shop3> and it'll eb replaced by ARM chips
[16:57:37] <rue_shop3> people who think they need 577Mhz processors and 64 bits to flash an led
[16:57:45] <rue_shop3> cause they are writing it in java
[16:58:25] <akem> got disconnected, after atmel chipsets then
[16:58:27] <z64555> yes, but you can flash that led reaaaal precisely
[16:58:36] <rue_shop3> <rue_shop3> different microcottrollers
[16:58:36] <rue_shop3> <akem> whats one most popular IC after arduino? question of the day
[16:58:37] <rue_shop3> <rue_shop3> there is no IC called 'arduino' there is just the AVR microcontroller
[16:58:37] <rue_shop3> <z64555> :)
[16:58:37] <rue_shop3> <rue_shop3> and it'll eb replaced by ARM chips
[16:58:39] <rue_shop3> <rue_shop3> people who think they need 577Mhz processors and 64 bits to flash an led
[16:58:41] <rue_shop3> <rue_shop3> cause they are writing it in java
[16:58:45] <Snert_> and do alot of other stuff at the same time.
[16:59:16] <akem> thanks.
[16:59:47] <rue_shop3> I'm gonna bet java is slower than python too
[16:59:57] <rue_shop3> java crashes more
[17:00:06] <veverak> it's faster afaik
[17:00:07] <Snert_> people hate java
[17:00:10] <veverak> but no matter it sucks more
[17:00:12] <veverak> ;)
[17:02:21] <deshipu> java hates people
[17:02:47] <rue_shop3> java is the height of object oriented languages
[17:03:00] <rue_shop3> proof that the idea, in its whole its utter garbage
[17:03:07] <Snert_> the original idea that java would be thoroughly sandboxed and not be able to escape and traverse your file system woulda been okay.
[17:03:09] <deshipu> I'd wager that the most popular microcontroller today may be ARM
[17:03:20] <Snert_> but it has not turned out that way.
[17:03:32] <rue_shop3> it is arm, cause there is one in every phone
[17:03:33] <deshipu> Snert_: except there is memory hammering today
[17:03:45] <rue_shop3> and in some countries the number of phones outnumber the people
[17:04:02] <rue_shop3> memory hammering is crazy
[17:04:11] <deshipu> lets you escape any sandbox :)
[17:04:19] <rue_shop3> I'm surprised its even possable
[17:04:52] <Snert_> that plus Sun just can't do an unbuggy release.
[17:05:02] <deshipu> Oracle
[17:05:03] <Snert_> they never get ti right.
[17:05:24] <rue_shop3> they do mysql now dont they?
[17:05:24] <z64555> how does C# fair?
[17:05:29] <akem> looks like all links points at ARM based: Raspberry BeagleBoard and Cubieboard
[17:05:34] * z64555 jumps behind cover
[17:06:22] <deshipu> rue_shop3: I thought that Smalltalk was the height of object oriented languages, and then it all went downhill form there?
[17:06:24] <akem> computers
[17:06:31] <rue_shop3> one day I'm sure I'll get an arm system going
[17:06:50] <deshipu> the pics are somewhat popular in the avr's niche too
[17:06:53] <rue_shop3> cant be bothered to create the whole system in virtual memory just to crosscompile code
[17:07:06] <deshipu> especially since they could beprogrammed in BASIC ;)
[17:07:17] <rue_shop3> hu?
[17:07:35] <rue_shop3> the basic stamp was PIC based cause thats all there was at the time
[17:08:31] <rue_shop3> I wrote the only BF interpreter I know of for a microcontroller
[17:08:38] <Snert_> https://en.wikipedia.org/wiki/Row_hammer <-- accurate description of memory hammering?
[17:08:38] <rue_shop3> iirc its for a mega32
[17:09:10] <deshipu> Snert_: that's what I meant
[17:09:20] <Snert_> ok just making sure.
[17:09:29] <rue_shop3> did you hear about the fpga sound detection alg that was genetically developed and turned out to use a whole bunch of noise crossover within the fpga?
[17:09:34] <deshipu> Snert_: sorry I didn't remember the exact name
[17:09:34] <Snert_> exploits like that really have been around for a long time.
[17:09:45] <Snert_> in 1 form or another.
[17:10:08] <Snert_> maybe it's worse now due to chip density.
[17:11:31] <rue_shop3> there were loops of gates that logically didn't do anything, but it would stop working if they were removed
[17:11:38] <Snert_> blast some Led Zeppelin at my FPGA and out spews passwords....lol
[17:11:51] <z64555> hm.
[17:14:12] <Snert_> geee. looks like memory hammering is a pretty pervasive and dangerous thing.
[17:14:30] <Snert_> everybody is vulnerable.
[17:18:03] <deshipu> run for the hills
[17:18:52] <Snert_> mankind has up and lost all his knowledge at least twice in the past.
[17:19:06] <Snert_> and we're setting ourselves up for it to happen again.
[17:20:21] <deshipu> knowledge is overrated
[17:20:26] <Snert_> maybe that will be the dawn of sentinence in robots.
[17:20:48] <deshipu> sentience is overrated even more
[17:21:50] <Snert_> if cavemen could get through it all without calculus then so can we.
[17:22:13] <deshipu> the most successful organism on earth, which outnumbers and outmasses all other organisms and is practically immortal has no sentience whatsoever
[17:22:27] <Snert_> lichens.
[17:22:30] <deshipu> no
[17:22:35] <deshipu> single-cells
[17:22:50] <deshipu> they never get old, they never die
[17:23:03] <deshipu> they just split
[17:41:16] <akem> a problem with the ARM based computer boards is that if you want to get rid of the OS(Linux usually), let say you have your own bootloader, first you must be able to execute your own code but also the needs for a driver for the digital/analog IOs
[17:42:37] <akem> there must be some other RISC ICs like the ones on arduino, but not very popular, and no boards/IDE...
[17:42:47] <akem> not easy to deal with.
[17:55:00] <akem> there are arduino compatible boards with Intel Quarks or ARMv7 also no Linux, Geniuno 101 or Arduino Zero/Due
[17:55:14] <akem> apparently
[17:56:56] <maiden> well there are some arduino compatible ARM bords, take a look at the Maple boards
[17:59:21] <maiden> the ESP boards are quite popular now days, you can not beat the CPU power/$ on that one ;)
[17:59:37] <akem> maiden just looking it, and there is a Maple IDE also ok
[18:00:07] <maiden> there are cheap chinese clones on ebay
[18:00:37] <maiden> got a maple mini clone, have only played around with it a little bit, but it works fine as far as i am concerned
[18:01:50] <maiden> but i would go for a: http://www.ebay.com/itm/ESP8266-Esp-12E-Serial-Port-Wireless-WIFI-Transceiver-Board-Module-AP-STA-/262123867975?hash=item3d07cccf47:g:o~AAAOSwniRWNxYt
[18:02:16] <maiden> same as this but with more I/O, https://www.sparkfun.com/products/13678
[18:03:08] <maiden> the best part is that you can flash FreeRTOS on it :D
[18:03:09] <maiden> https://github.com/espressif/ESP8266_RTOS_SDK
[18:03:40] <maiden> you want to look a bit on: http://www.esp8266.com/
[18:09:54] <akem> could also get just a digital/analog switch with no chip onboard that would just connect through USB or Bluetooth on your cellphone and the program run on the phone, ...
[18:10:14] <akem> since there is plenty of 50euros android phones...
[18:10:48] <akem> just USB/BT/Wifi controler on the IO board.
[20:08:27] <eadthem> anyone have any familarity with this ? http://www.makeblock.cc/xy-plotter-robot-kit/
[20:10:31] <arty_knots> any tips on making a plastic visor thing open up with a some kind of a electric motor
[20:12:24] <arty_knots> do i have to go with servos? how much torque youll need to do it?
[20:12:54] <ace4016> torque necessary will depend on the setup and weight
[20:13:02] <ace4016> servo is a good place to start
[20:13:42] <arty_knots> i havent decided if i should do it via some kind of a sensor input or just use a physical switch
[20:16:21] <ace4016> i have no idea what you're working on :P
[20:17:39] <z64555> cosplay helmet? welding visor?
[20:17:56] <arty_knots> kinda like a cosplay helmet thing
[20:18:13] <z64555> very descriptive :P
[20:18:27] <arty_knots> it needs to open up from the middle to the sides
[20:20:08] <z64555> I'd go with servo's first
[20:21:44] <arty_knots> ok
[20:21:47] <z64555> for torque, you'll need to know the general mass of each visor piece and where your fulcrum will be
[20:25:17] <arty_knots> yeah well i dont have that yet, im just trying to plan it out at first
[20:25:19] <z64555> you might try using the gravity constant as acceleration. Even though the servo won't be working against gravity in normal use, it would be a bit embarrassing if the helmet was on it side and you couldn't get the visor open. :)
[20:26:00] <arty_knots> haha
[20:26:57] <arty_knots> probably a bit higher than that to make it open/close when moving too :P
[20:27:30] <arty_knots> but yeah i dont think plastic is going to weight too much
[20:29:19] <arty_knots> the smallest and cheapest servo i can find locally has 1.4 kg/cm/4.8V according to their site
[20:30:16] <arty_knots> do you think that will be fine for 2 pieces of plastic covering my face
[20:30:58] <arty_knots> i dont know the math here lol
[20:33:20] <arty_knots> one of the servos they sell is 6 kg/cm/4.8V that i guess is a little overpowered
[20:33:42] <arty_knots> well, anyways, gotta sleep its 4am
[20:38:45] <z64555> I'd buy maybe one of the 1.4 kg/cm servos and test it on one side of the visor. If it turns out that you need a bigger server, then it won't hit you as hard if you committed to getting 2 of the 1.4kg servos
[20:48:03] <robotustra> https://www.youtube.com/watch?v=nw5lcBXEwlw
[20:48:15] <robotustra> NSFM
[20:51:33] <z64555> not safe for machines?
[20:53:19] <eadthem> Anyone have any sugestions for any premade XY gantrys ?
[20:53:22] <eadthem> kits would work
[20:53:39] <eadthem> preferably something i can control PC side with a C/C++ lib.
[21:05:10] <robotustra> for mind
[21:06:53] <robotustra> https://www.youtube.com/watch?v=-qeVQ7nFSrg nsfw
[21:28:34] <robotustra> https://www.youtube.com/watch?v=Bxe44luUSj0 camera