User Tools

Site Tools


ece4560:piktul:issues

Having Issues with Piktul?

Introducing a piece of technology into the class can be a big pain. There are a few ways to do things properly, and lots of ways to head into the non-functional realm of things. Here are a few things that can lead to non-functional:

Serial Connection not Closed. The connection to the manipulators uses a serial connection. Matlab only likes to open it once. If you somehow try to open it up twice, then Matlab will complain and not work. It is a bit troublesome in the GUI. There is a tendency to close the GUI some weird way or to cancel (in the Ctrl-C sense) if somethings seems fishy. All of these prevent the code from properly closing the serial port, so future attempts to communicate with the manipulator fail. Better to hit the “Done” button and to make sure you invoke the shutdown command of the piktul if you are using it in the command line.

Newer Solution: Matlab has a new one-liner version that goes as follows,

delete(instrfind('Type','serial'))

New Solution: There should be a static member function in the piktul and lynx6 classes. That function is called closeSerialPorts. Running

piktul.closeSerialPorts()

or

lynx6.closeSerialPorts()

should do the trick.

Old Solution: Restart Matlab (quit and launch again).

A Motor Doesn't Work. It might be the case that the servo motor wires got unplugged.

Solution: Check the little microcontroller circuit. Check the underbelly of the manipulator and make sure the extensions are connected. Also check that the connections maintains color continuity of the cables (red to red, black to black, and yellow to yellow).

Motor not Moving. If the motor does not go all the way and you feel that it is getting hot, then something is blocking it and that's not good.

Solution: Try to see what could be causing it and free the physical blockage point. A common blockage is at the elbow for the motors after it; or better put for the cables that go to the wrist and hand. If you are calibrating, and the arm just won't go that far without this issue, then limit the range so that it doesn't get to that point. A workspace limited manipulator is better than an overheating (and eventually broken) one. Let me know and I'll try to take a look at it during my free time to fix the issue.

Servomotor is Grinding. Something is stressing it out. The command being given is not achievable.

Solution: If this is during calibration, then you simply can't command it to go that far. Reduce the range and limit the joint so that this situation does not occur. If this is during operation, then something is preventing the manipulator from moving. Could be something internal to the manipulator or an object in the way. See if you can identify the problem. It's similar to the “Motor not Moving” issue butmore extreme. At this point, the motor is close to breaking. Once broken, it will either no longer spin or spinning all the time.

Help, right-hand rule is not happening. One year some code was off, so a quick fix was created. That should not be the case at all anymore. Just in case, the solution is posted here. Essentially, the calibration function did not properly adjust the matrices being generated. The file _____ here will fix things if you run it. Make sure that the piktul parameter file can be found. Also, please download again the piktul Matlab file. I made a correction to it also.


Back

ece4560/piktul/issues.txt · Last modified: 2023/03/06 10:31 by 127.0.0.1