Greetings all - there is now a new open source project for driving any Lynxmotion arm that utilises the seetronics SSC controller (which is most of them I think)
Developers are welcome to obtain access to the CVS repository. Just join Sourceforge.net. The code itself is Java in Eclipse 3.x / JDK 1.5.
Licence: Apache (eg - it can be used for commercial and non-commercial projects). A good way for students to learn both Java and simple motion control.
The code is reasonably well documented, has a ‘debug’ mode where the arm doesn’t actually move but you see their locations, and has the following features:
Comments of any form are welcomed, however please don’t contact me via email - just post here and I’ll respond.
Features:
Detailed Velocity curve definition through an array of position increments
All-axis movement (eg set up all arm target locations, step all arms until they reach their targets).
Slow start / slow stop built in
Speed control (delay per command group)
Properly object oriented control structure (“Servo” object, “Controller” object)
Callback model for movements so that motion can be “observed”
Runs under Linux (writes directly to the serial port)
The arms have been using the SSC-32 servo controller for the last year and a half. Although it has MiniSSC-II emulation, it’s native command set is much more powerful. The big difference is the group move. You can send as many servos to a new destination and set how long you want the move to take. They will start and stop at the exact same time even if the distance they are moving is different. This command can significantly reduce serial bandwidth to do straight line interpolated moves compared to the old MiniSSC-II method. Thanks so much for the Linux support! I hope the new controller can be integrated into the code.
Whenever I attempt to run your program and connect to the device vie the serial port I recieve the following error:
java.lang.noclassdefFoundError gnu/io/CommPortIdentifier
I also recieve this same error whenever I run a sample program provided by Thomas Hubbard. This same error occurs from two different computers (both running the current version of Java, one on Windows 2000, the other on XP). I know that the both the COM port on the robot and the COM port on the computer work because the program provided with the robot works fine. I was wondering if anyone could shed some light on how I might go about getting either program to work.
Below is my html version of servo control using dropdowns (select the pan/tilt as the video source). I haven’t tried using javascript sliders in a page yet. Using the Apache web server cgi function makes for an easy to make servo control gui. Note that the “pan” servo has been running for 5 years contineously and is getting a bit creaky in movement.
Your “vote for your language” widget needs to include C and Assembly.
I voted for C++ as the closest alternative.
I work with PIC MPUs, where C is generally the main way to make them go.
C99
ANSI C
UPC (Unified Parallel C)/ C with MPI/ Other cluster specific non-ANSI Cs
Objective C/ C++
Fortran
Hardware specific assembly
Kudos on your project and for being open source. However, whose decision was to use Java though? I would have thought C or C++ would have been a much better choice. Certainly a lot more people here (myself included) could help if it was in C.