![]() |
Announcing FIRSTLua
Hello, teams!
I would like to announce a project that we (Team 973) have been working on during the off-season: FIRSTLua. FIRSTLua is a fully functioning Lua interpreter that can be used for developing robot control code. Some advantages of using Lua:
This is beta-quality software: we have had success using Lua on our robot, but your mileage may vary. Examples and documentation are included. We are announcing this project now in the hopes that other teams will find it useful and will want to test it and contribute to it. By the time build season comes around, we'd like this to be a viable option for writing FIRST control code. Please help us out by reporting any bugs you find, and happy coding! Project Page: http://redmine.zombiezen.com/projects/firstlua README: http://redmine.zombiezen.com/project...try/README.txt Download: http://redmine.zombiezen.com/projects/firstlua/files FIRSTLua is released under an MIT Open Source License, as detailed in the README. |
Re: Announcing FIRSTLua
We'll be running two different and unique robots in 1323's offseason in November running Lua to fully test it out.
|
Re: Announcing FIRSTLua
What a great idea and great work putting it all together! Since you're using SWIG, given the work you've done so far, it will make life easier for people who want to try adding other scripting languages in the future (Python anyone?).
|
Re: Announcing FIRSTLua
Quote:
Before settling on Lua, one of our first attempts was getting the Python 3 interpreter working. However, Python rather heavily depends on having Unicode strings, which vxWorks doesn't provide. Along with that and a multitude of other compiler and linker errors to sort out, we decided we didn't have the development time to get it done. It's certainly possible to get Python working (and I'd love to see it), but after evaluating the performance characteristics and necessary development time, we settled on Lua. We also found that Lua gives some flexibility that Python doesn't offer (though it pains me to admit it). Lua's core library is small, so it gives the team the option to pick what they need. Also, Lua's handling of modules is more favorable when trying to implement live code reloading (it can be done in Python, but it would be less straightforward). All of that aside, Lua is also designed to work on a smaller footprint than Python. The bulk of the code size when fully built is the WPILib wrapper (~20K lines of generated code), not Lua. None of this is to say teams shouldn't try to get Python working. I would love that. :) I just would like to warn everybody of some of the difficulties we ran into while trying to do it. |
Re: Announcing FIRSTLua
Quote:
|
Re: Announcing FIRSTLua
Amazing idea! I hope it goes well.
|
Re: Announcing FIRSTLua
YES! Now I have an excuse to learn Lua!
|
Re: Announcing FIRSTLua
Quote:
Regardless, Lua is also an interpreted language that will open up programming to a much broader audience than C++/Java Universities teach Computer Science freshmen interpreted Languages (Scheme, Python) with great success. |
Re: Announcing FIRSTLua
Can this interpreter be adapted to use perl grammar?
|
Re: Announcing FIRSTLua
Oh man, our team is a mess... I think I will be the only full time competent programmer in our team. I would have to teach rest of the programmers. One guys didn't know C++ had classes -__- I know, thats pretty bad. I been talking about off season work ever since the end of the competition, it never happened, especially me working on the autonomous mode of the robot. So I also had the plan of creating a LUA interpretor for the robot, but you guys did it for me, thank you, I am not sure if I would be using it but thank you in advance and I will give you credit if I ever use it
|
Re: Announcing FIRSTLua
Quote:
The only thing that may be of use from here (if you were determined) is the SWIG interface file that I assembled from the WPILib headers. |
Re: Announcing FIRSTLua
Quote:
Not yet ready for prime time like your Lua port is, but I wanted to let folks know I've got it at least minimally running. I'll make another announcement when I've got WPILib-using code running and it's ready for other people to really experiment with. Git repo at: http://git.tortall.net/cgit.cgi/RobotPy.git/ I recommend TortoiseGit for getting a copy on Windows. On another note: you may want to rename your project to not use the FIRST name. FIRST recently became more sensitive about such things as they've trademarked the "FIRST" name and thus have to protect it from dilution. I named my Python port "RobotPy" for this reason; you might want to rename yours to "RobotLua" or something similar. |
Re: Announcing FIRSTLua
Quote:
|
Re: Announcing FIRSTLua
Python? <3
I can finally teach the freshmen how to do more with less. see http://teddziuba.com/2010/10/taco-bell-programming.html |
Re: Announcing FIRSTLua
sorry for the double-post, but I can't get it compile.
it spat out this: Code:
MainRobot.cpp:28:20: Python.h: No such file or directory |
Re: Announcing FIRSTLua
triple-posing aside, I got it to compile.
I had to put a pyconfig.h file in EVERY folder in the Python subdir, please update this on your git tree |
Re: Announcing FIRSTLua
Quote:
|
Re: Announcing FIRSTLua
when compiling it on linux, you can't edit the makefile or BAD THINGS HAPPEN
|
Re: Announcing FIRSTLua
Quote:
|
Re: Announcing FIRSTLua
What may have happened is originally the git repo included a PPC603gnu/Makefile; this generated file pointed to specific paths on my machine and is not regenerated by default. I've since removed it from the repo so now WindRiver should generate it for you with the correct include paths.
In other news, I'm now running robot teleop code in Python. I need to make a couple of release .zip's so people don't have to build it from scratch, then I'll create a new Chief Delphi thread with a formal announcement. I also added a new branch to the repo for those using CAN bus. Unfortunately the CAN bus version needs some symbols that are only available when the CAN bus driver is installed on the robot, so I have to have two separate releases. |
Re: Announcing FIRSTLua
Quote:
|
Re: Announcing FIRSTLua
Quote:
|
Re: Announcing FIRSTLua
Quote:
EDIT: Darn, guess I can't update the main links. Here are the new ones: Project Page: http://redmine.zombiezen.com/projects/greyhoundlua README: http://redmine.zombiezen.com/project...try/README.txt Download: http://redmine.zombiezen.com/project...houndlua/files |
| All times are GMT -5. The time now is 09:25. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi