From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

BreakPoint

cancel
Showing results for 
Search instead for 
Did you mean: 

New Coding Challenges?

Well, coming from a Vision project.....

 

You'd obviously need some kind of thresholding done first (unless the images are already black and white (not grey)) and locate a single object in the starting frame (say the middle).

 

Then moving to the next frame (up or down) see which new object overlaps most with the last one and record them.  This part is of course crucial to the success of the algorithm.  Once you have the boundary points for different levels, it should be possible to construct 3D models from them with limited effort.

 

Rinse and repeat.

 

Sounds like an interesting application but I'm curious as to where the bugbears are hiding.  I think it'll be more difficult than I just considered in my head.

 

Shane.

Message 31 of 51
(12,223 Views)

Intaris wrote:

Well, coming from a Vision project.....

 

You'd obviously need some kind of thresholding done first (unless the images are already black and white (not grey)) and locate a single object in the starting frame (say the middle).

 

Then moving to the next frame (up or down) see which new object overlaps most with the last one and record them.  This part is of course crucial to the success of the algorithm.  Once you have the boundary points for different levels, it should be possible to construct 3D models from them with limited effort.

 

Rinse and repeat.

 

Sounds like an interesting application but I'm curious as to where the bugbears are hiding.  I think it'll be more difficult than I just considered in my head.

 

Shane.


 

Shane,

 

Your reply made me think, "Isn't this a variation on the "Traveling Salesman" with the requirement to visit each location only once relaxed but implemented in 3-space where the cities are elements that fall into a single bin?

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 32 of 51
(12,212 Views)

Ben,

 

I wouldn't have formulated it like that.

 

I think we have essentially N routes here representing the N objects visible within the X pictures.  The sequence of visits is also given (the order of pictures is constant) so I don't really see the comparison.  It's more like we already have the route, we just need to find out where the cities are.  So a reverse travelling salesman routine?

 

But I find it interesting already just in case you're trying to sell the chellenge to me.... Smiley Tongue

 

Shane.

Message 33 of 51
(12,210 Views)

i like the football game. similar to the idea of the virtual robot competition. but it is fun only if we can see the match.

So one needs to create the graphical field, and then anyone can provide his bot,  using a set of boundary condition (e.g. size and speed of the engine, nb of eyes, distance and size of the projectile - each one would be given a certain nb of points, while each player can only have some max nb of points, so has to choose).

The challenge for the contributor is to make a running vi with a predefined inputs and outputs (all forum participate, games are always one on one).

The challenge for the coordinator is to make it run online using web server and graphical field ( all the champions combined?).

 

I have in mind a lot of boundary conditions and set of rules, but lets see if it interest anybody.
-----------------------------------------------------------------------------------------------------
... And here's where I keep assorted lengths of wires...
Message 34 of 51
(12,192 Views)

Gabi1 wrote:

i like the football game. similar to the idea of the virtual robot competition. but it is fun only if we can see the match.

So one needs to create the graphical field, and then anyone can provide his bot,  using a set of boundary condition (e.g. size and speed of the engine, nb of eyes, distance and size of the projectile - each one would be given a certain nb of points, while each player can only have some max nb of points, so has to choose).

The challenge for the contributor is to make a running vi with a predefined inputs and outputs (all forum participate, games are always one on one).

The challenge for the coordinator is to make it run online using web server and graphical field ( all the champions combined?).

 

I have in mind a lot of boundary conditions and set of rules, but lets see if it interest anybody.

 

I like the idea but do you have a machine that can host the app?

 

There a lots of details that need nailed down as well.

 

Each competitor would be invoked via VI server and be passed a queue into which it can report it new location to code that updates the screen.

 

The main app would have to handle the projectiles and a determine hit/miss.

 

I like it!

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 35 of 51
(12,188 Views)

 My VI can be modified to work on web to send the packages we only have to modify the VIs that are for the AI, you have to make the communication there or add another parallel loop that gets the info and feeds this VIs, the Engine as the robots are already defined there.

I thin the most complicate thing would be that each of the computers that plays will be sending info at different speeds which could cause Lag, or affect the controls of the other computer (if one is calculating the position and speed, if it takes to long to update would make working decisions).

More than invoking the server maybe the easiest way would have the server running everything (including the 2 AIs, and create a client that allows to see what happening in the server , this way internet and computers speeds won't affect the match.

Benjamin C
Principal Systems Engineer // CLA // CLED
Message 36 of 51
(12,183 Views)

Ben wrote: 

 

...

I like the idea but do you have a machine that can host the app?

...

 


Hi Ben,

what do you think we would need here?

I also like the idea.

 

Mike

0 Kudos
Message 37 of 51
(12,173 Views)

I think there need to be a coordinator, an online robot admission tool, and an online graphical field.

As robots get queued for gaming, a matrix of games is created. results displayed in tabulated mode.

THe graphics should go in the way that the vi has to provide an image file (specific dimensions, release 1).

The projectiles should be always identical in shape (ball - release 1), but varies in size and  velocity (boundary conditions for the robot, to the user to choose).

speed of computing - graphical view of the movement and projectile tbd by the coordinator.

The projectile would hit-miss according standard geometry rules, injury according predefined rules.

the only real problem as Ben pointed out: setting up a server dedicated. we just need some server space and domain name if someone is up to program it.

We can ask NI to sponsor?

-----------------------------------------------------------------------------------------------------
... And here's where I keep assorted lengths of wires...
Message 38 of 51
(12,169 Views)

Not that we should actually do this but...

 

[Switch to NeBulus mode]

 

Server app run a VI server FP. WHen use hits site a new process is spwaned off that serves anther FP and the user is redirected to a new URL that is a loader. The Loader VI lets user specify zip of his plug-in that loader uploades and uses to create a Game instance that loads all LVOOP plug-ins and new instance is started and user is redirected to the URL for that instance. The game allows selecting whcich oponent to do battle with and can start game. Game consisit of invoking an Init method for the two players where they are given the game board state and have up to 20 seconds to prep to play. after that both plug-in instances are given the game state when a "Make move" method is invoked. Plug-in returns its move and the game environment evaluates the game state in the context of the moves made by each plug-in. "Make Move" continues until game enviroment decalres a winner. results are stored to a DB so the standing can be updated. The "game state" can be saved after each move so old matches can be replayed.

 

Still geting carried away.

 

once a battle is complete user has option to down load all opponents code so we can learn from each other.

 

The class data of each plug-in should be password protected so only original author can change the class drastically.

 

 Lost of other idea but...

 

How can we insure that this service is not mis-used?

 

WHat if someone uploads a robot plug-in that uses TCP/IP functions to do bad things?

 

I just don't know how to protect against that.

 

[Set neBulus mode = False]

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 39 of 51
(12,123 Views)

The big plus for that crazy I dea I just outlined is that it would serve as very robust example to illustrate how to offer a web service via LV.

 

If we don't get carried away maybe we can just get NI to host a web-cast where they share their desktop while running the matches.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 40 of 51
(12,122 Views)