Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Extra Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=68)
-   -   paper: 987 Kinect Implementation (http://www.chiefdelphi.com/forums/showthread.php?t=106634)

JesseK 25-05-2012 08:54

Re: paper: 987 Kinect Implementation
 
Quote:

Originally Posted by Hjelstrom (Post 1171414)
We put a surprising amount of work into just coming up with a way to safely and quickly shut the pandaboard down.

If you ever go into an IT-related industry or work on large multi-system software projects, graceful shutdown procedures will become a norm. At work we can get some nice graceful startup/shutdown times, but it takes many hours of tweaking.

As for using RAMDISK, that's not as straightforward as one might think. For one, most default Linux installs take 1Gb-2GB of total disk space, which would then be put into RAM (unsure of this Ubuntu image though). Then, any changes that are made to the O/S or program settings would have to be re-compressed and re-deployed as the O/S image for RAMDISK to open up at runtime. Usually the data directories (such as /home) and in this case FRC-related application directories (such as /opt) are NFS (network file system) mounted and are actually located on another computer -- yet I wouldn't recommend it for a live FRC field environment. Ergo, the data directories would then have to go somewhere -- presumably still on the SD card that's potentially causing the root issue anyways.

Interestingly, this type of platform (real-time processing on a dynamic system that has weight/space/power constraints) is perfect for a Net-booted disk-less architecture (assuming you're running with enough memory). It's even better when one considers scaling up to over 30,000 individual sensors. Unfortunately, the network has to be very, very (maybe even another very...) reliable for it to work.

Hjelstrom 25-05-2012 10:32

Re: paper: 987 Kinect Implementation
 
Quote:

Originally Posted by slijin (Post 1171442)
One of the things that I recall very vividly during Curie finals was that your turret was constantly in motion, and would turn to remain aimed at the region around the center backboard (although if you drove around long enough, it would eventually drift away).

Were you constantly auto-aiming your turret in the main control loop with the Pandaboard-processed data, or was that something else entirely? I ask because in your paper you say

Well its hard for me to say. The turret has several control modes. It can hold its current orientation, it can respond to a point-click command from the operator, it can be manually turned with the joystick and it can auto-aim. Brandon who is the operator and programmer could tell you for sure but I suspect you were seeing a combination of point-click commands with the turret "holding" in between. (as the robot drives, the turret compensates)

We did use the turret very liberally. It could shoot in any direction with equivalent accuracy so the driver often didn't worry about what orientation the robot was in, just get within range and stop.

sebflippers 25-05-2012 11:58

Re: paper: 987 Kinect Implementation
 
Thanks for the read. Some things that I am considering for next year (with the pandaboard):
1. Use Arch linux instead of Ubuntu. It is officially supported for omap chips. Also, you don't need to install any X server, so you get fast boot times (but only command line).

Obviosly programming in the command line isn't very fun, so...
2.install cloud9 ide. You can program over the network, so there is no need connect to a pandaboard.

well, anyway... just my 2 cents.

JesseK 25-05-2012 12:09

Re: paper: 987 Kinect Implementation
 
Quote:

Originally Posted by sebflippers (Post 1171517)
Also, you don't need to install any X server, so you get fast boot times (but only command line).

Start Linux in run level 3 instead of run level 5 -- this prevents XServer from starting, taking several seconds off the boot time. This would allow development to happen on-demand by typing 'init 5' after bootup.

Hjelstrom 25-05-2012 13:04

Re: paper: 987 Kinect Implementation
 
Quote:

Originally Posted by sebflippers (Post 1171517)
Thanks for the read. Some things that I am considering for next year (with the pandaboard):
1. Use Arch linux instead of Ubuntu. It is officially supported for omap chips. Also, you don't need to install any X server, so you get fast boot times (but only command line).

Obviosly programming in the command line isn't very fun, so...
2.install cloud9 ide. You can program over the network, so there is no need connect to a pandaboard.

well, anyway... just my 2 cents.

We really didn't have any trouble with the boot time for Ubuntu on the Pandaboard. Our program is running way before the cRio is ready for it. Thanks for the tip on the cloud9 thing, we'll definitely check that out. CodeBlocks was a pleasant surprise on Linux, I figured we'd be programming with a gcc, a makefile and some form of notepad.

connor.worley 25-05-2012 16:21

Re: paper: 987 Kinect Implementation
 
Quote:

Originally Posted by JesseK (Post 1171501)
As for using RAMDISK, that's not as straightforward as one might think. For one, most default Linux installs take 1Gb-2GB of total disk space, which would then be put into RAM (unsure of this Ubuntu image though). Then, any changes that are made to the O/S or program settings would have to be re-compressed and re-deployed as the O/S image for RAMDISK to open up at runtime. Usually the data directories (such as /home) and in this case FRC-related application directories (such as /opt) are NFS (network file system) mounted and are actually located on another computer -- yet I wouldn't recommend it for a live FRC field environment. Ergo, the data directories would then have to go somewhere -- presumably still on the SD card that's potentially causing the root issue anyways.

I will have to play with VxWork's nfsdLib. I've never seen the cRIO or switch brown out, but if they did, would the pandaboard be able to recover?

sebflippers 25-05-2012 17:48

Re: paper: 987 Kinect Implementation
 
To get an idea what cloud9 can do once you set it up, check this out:

http://youtu.be/z6b4zlh0IrE?t=9m30s

Chadfrom308 03-09-2013 23:44

Re: paper: 987 Kinect Implementation
 
How hard is it to do the autoaiming? Also, what sensors and calculations do you use for holding a target? I visited the las Vegas competition and I saw you guys aim while hanging and I also heard you can aim while moving. How hard is it to do this and well.... How? They are great features to put in! Anyways, I also wanted to say that I am very impressed with your robot and especially your vision! :cool:


All times are GMT -5. The time now is 04:48.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi