NXT writing project
Posted: 14 Aug 2011, 06:20
Hi, how are you, I apologize if my English is a little obscure, but I hope you understand the thread. I'm a NXT beginner and I decided to make a college project with a Lego robot. The hardware is based on the Sudoku Solver project (I expect some of the forum people know the project, here is the sudoku's page: http://tiltedtwister.com/sudokusolver.html), but I only want it to write a determined english sentence, so I'm only interested in the writing proceeding. Well, as in the solver, the robot movements for writing a specific letter are done by calling it from a command string, for example "uudddddllrrrr" where u is up, d is down,etc. Despite I can write the letter I have had some problems:
- First I'm trying, without success, to obtain a precise rotation movement using the RotateMotorExPID, but I dont have so clear how to do it. What I'm doing is calling, with a for loop, the characters from the string one by one; so I call ,for example, an 'u' then I go to a task where I move the motor and see how much did it move with the MotorRotationCount , reset the tacho and uses these information in the RotateMotorExPID. But I don't really know how to calculate de PID constants, since I don't have the motor equation as a plant, and the robot has an unexpected response, similar to an oscillating system.
- Also, the robot doesn't write the phrase over a straight line, despite I program it to return to a reference point after writing every letter; do you have any idea how I could get this response?
- ¿Does exist any form, using Bricx, to move two motors simultaneously, with different angles and/or powers ?
- At least, I want to ask you as a favor if you have some ideas in order to improve my project. For example if I want to write more than one phrase, which do you think is the better way to choose one of them? I was thinking about using the ultrasonic sensor for measuring different distances ranges, where each one represents one of the phrases; but I realize it isn't a refined solution. Could you say me other ways to increase my project's difficulty? for example I saw a little of Robotics, but I couldn't find any part in my project for using, for example, inverse kinematics, then I think my project is too simple and maybe I won't get the grade I want.
So, if it isn't a nuisance for you, it would be great if you can help me with ideas or anything, thanks for your answers.
PD: I know my English is really poor, if you don't understand something please let me know.
- First I'm trying, without success, to obtain a precise rotation movement using the RotateMotorExPID, but I dont have so clear how to do it. What I'm doing is calling, with a for loop, the characters from the string one by one; so I call ,for example, an 'u' then I go to a task where I move the motor and see how much did it move with the MotorRotationCount , reset the tacho and uses these information in the RotateMotorExPID. But I don't really know how to calculate de PID constants, since I don't have the motor equation as a plant, and the robot has an unexpected response, similar to an oscillating system.
- Also, the robot doesn't write the phrase over a straight line, despite I program it to return to a reference point after writing every letter; do you have any idea how I could get this response?
- ¿Does exist any form, using Bricx, to move two motors simultaneously, with different angles and/or powers ?
- At least, I want to ask you as a favor if you have some ideas in order to improve my project. For example if I want to write more than one phrase, which do you think is the better way to choose one of them? I was thinking about using the ultrasonic sensor for measuring different distances ranges, where each one represents one of the phrases; but I realize it isn't a refined solution. Could you say me other ways to increase my project's difficulty? for example I saw a little of Robotics, but I couldn't find any part in my project for using, for example, inverse kinematics, then I think my project is too simple and maybe I won't get the grade I want.
So, if it isn't a nuisance for you, it would be great if you can help me with ideas or anything, thanks for your answers.
PD: I know my English is really poor, if you don't understand something please let me know.