CNCzone.com-The Largest Machinist Community on the net!



Home Page Mark Forums Read Today's Posts My Replies Classifieds Reviews Photo Gallery Web Links Share Files Advertise With Us Ad List
Go Back   CNCzone.com-The Largest Machinist Community on the net! > Machine Controllers Software and Solutions > LinuxCNC (formerly EMC2)


LinuxCNC (formerly EMC2) Discuss LinuxCNC (formerly EMC2) Controlers here!


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 09-20-2007, 09:58 AM
 
Join Date: May 2006
Location: USA
Posts: 14
jimbobbus3 is on a distinguished road
Jogging in World coords instead of axis.N ?

I'm using EMC2 to control an inverted tripod machine - three cables on a triangular baseplate support a platform below. I've gotten the non-cartesian kinematics working, and I've installed the joypad jog HAL elements. Once I've calibrated the setup (which is a royal pain in the butt,) I'd like to transition out of machine coordinates and be able to jog the platform in world coordinates. The HAL axis.N jog capability appears to only operate on machine coordinates. I can jog world coordinates from the keyboard, which runs through the kinematic translation layer, but I don't see how to do that from the HAL layer.

If you're working on a cartesian machine, the trivial kinematics map the axis.N joints onto the XYZ axes. The axis.N jogs work as expected. In non-cartesian machines (tripods, hexapods, etc) you'll want to jog the machine joints for calibration and setup, but also want to jog the system in world coordinates for manual operations while in the middle of a job.

I'm re-reading the HAL documentation, but I haven't found a way to jog the world coordinates from inside HAL. The UI does it, so it clearly can be done. If anyone has suggestions or hints, I'm all ears.

Thanks.
J3
Reply With Quote

  #2   Ban this user!
Old 09-20-2007, 12:06 PM
 
Join Date: Oct 2005
Location: USA
Posts: 12
fenn is on a distinguished road

launch emc, turn the estop off, machine on
press 'home all' (ctrl-home)
in a terminal go to the directory your emc.nml file is in (probably the same dir as your config file) and type 'emcsh'
you should get a % sign prompt
type 'emc_teleop_enable 1'
now you can jog in world coordinates, yay!
it would be a dirty hack, but this could probably be put into a custom m-code if you are in a hurry

note: not many people use the kinematics functions of emc, and things are likely to be bitrotted. if you find any bugs please tell us
Reply With Quote

  #3   Ban this user!
Old 09-20-2007, 04:01 PM
 
Join Date: Oct 2005
Location: USA
Posts: 12
fenn is on a distinguished road

i gave you the long way around because i dont know my way around the gui, sorry.
the easy way to switch to teleop mode is to select "World mode" from the View menu in AXIS.

in CVS i added halui.mode.teleop and halui.mode.joint pins to switch modes. please try it out.
unfortunately teleop mode jogging is busted in the CVS version of AXIS right now.

also it'd be great if we could see pictures of your machine.
Reply With Quote

  #4   Ban this user!
Old 09-20-2007, 04:11 PM
 
Join Date: May 2006
Location: USA
Posts: 14
jimbobbus3 is on a distinguished road

Thanks for the reply. I followed the instructions, and I was able to alter the emc_teleop_enable state, and I could see the result in the TkEMC control panel when jogging from the keyboard. Set to 1, keyboard jogs were World coordinates; set to 0, keyboard jogs were single joints. I can get the same results in the TkEMC control panel by choosing either the Joint radio button or the World radio button.

I'm trying to get the joystick/joypad control working from within the HAL environment. The examples online and in the documentation all implicitly use a trivial kinematics machine. The axis.N jog commands from within HAL only act on joint operations, and appear to be disabled in teleop mode. When I have emc_teleop_ena set to 0, I can jog the individual joints from the joypad. As soon as I set ena_teleop_ena to 1, the joypad ceases to function.

The TkEMC control panel has a method of performing World coordinate jogs, but I have yet to find a way to replicate that capability in the HAL environment. I could write a program to convert joystick inputs to G-codes and feed EMC that way, but that'd be a horrible hack. My gut says there's a more elegant solution that can be done within EMC - like changing the values of Dx, Dy and Dz in the tripodkins.c kinematics module - but I don't see how to get the information over there.

J3
Reply With Quote

  #5   Ban this user!
Old 09-20-2007, 04:33 PM
 
Join Date: Oct 2005
Location: USA
Posts: 12
fenn is on a distinguished road

the proper way to do this is to use the 'halui' module. the axis.N.jog are not what you want. halui provides an interface to emc from hal. this might get a bit tedious over a web forum, perhaps you could join us at #emc on irc.freenode.net ?

go here for a web-based irc client: http://www.linuxcnc.org/component/op...mid,8/lang,en/
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 09-20-2007, 04:38 PM
 
Join Date: May 2006
Location: USA
Posts: 14
jimbobbus3 is on a distinguished road

Here's an image of the prototype. I built a table-top unit to get the kinematics working. The real machine is intended to be much larger.
I'm using a stock Xylotex controller and some Lin 4218L motors I swiped from another project. I don't have limit switches or tension controllers
fabbed here, but the full-size machine must have them. I'm already having tension/backlash issues with my wind-fishline-around-the-stepper-shaft method.

Overall, it works pretty well so far. I've got one mystery though - the Y and Z cartesian axes got swapped at some point, and it's been persistent
through power cycles. It happened after switching between Joint and World coordinate modes several days ago, but I haven't chased the problem down yet.

Reply With Quote

  #7   Ban this user!
Old 09-24-2007, 11:17 AM
 
Join Date: May 2006
Location: USA
Posts: 14
jimbobbus3 is on a distinguished road

Update: the joystick control in World coordinates is working. Many thanks to the folks on the IRC channel for the help. I had to update my system to build from the CVS source. The 2.1.7 binary release doesn't have the necessary HALUI support to make the joystick jogs work outside of joint-mode. EMC reports "2.2 CVS HEAD" when I run, and I confirmed that there are a bunch of new pins and parameters in the HAL environment when running from the source tree.

I still have to figure out why my cartesian Y and Z axes are swapped - that doesn't seem like a casual thing to have happen, and I didn't see any HAL commands in the config files to explicitly swap them. Odd ...

I'll probably start a new thread as I build the full-size hardware. The cable reels got built last night - 5" nylon pulleys with custom aluminum hubs bolt directly to the motor shafts.
Reply With Quote

Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
A axis jogging mikeward2121 Machines running Mach Software 4 07-20-2009 09:02 AM
jogging mr.merlin TurboCNC 1 07-31-2007 07:48 PM
jogging nebyeh DIY-CNC Router Table Machines 2 12-19-2006 06:27 PM
Fadal work coords & home settings Shizzlemah Fadal 13 11-08-2006 07:57 PM
Jogging the Z Axis in Mach2 DaSigntist Mach Software (ArtSoft software) 5 07-16-2004 04:38 PM




All times are GMT -5. The time now is 02:54 PM.





Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
Template-Modifications by TMS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361