NEWS
LinuxCNC 2.5.2 Release
There are no translations available.

LinuxCNC 2.5.2 Update Released (changelog).
 
LinuxCNC 2.5.1 Release
There are no translations available.

LinuxCNC 2.5.1 Update Released (changelog). If the Package Manager does not prompt you to upgrade see this page.

 
LinuxCNC 2.5.0 Release
There are no translations available.

New major release (changelog). See the instructions to update your system from EMC 2.4 to LinuxCNC 2.5.
 
Home Forum Configuring LinuxCNC Advanced Configuration LinuxCNC + Robot Operating System + OpenCV

Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: LinuxCNC + Robot Operating System + OpenCV

Re:LinuxCNC + Robot Operating System + OpenCV 15 Jun 2012 17:54 #20975

OK so I am looking at the HAL system to work out where we should integrate. "halcmd list all" is actually very like "rostopic list" (and other similar functions in ros), the two systems have quite similar architectures.

As far as I can tell, its the stepper motor that provides position feedback to the motion controller on pin "motor-pos-fb" (the motion controller also commands the stepper motor over motor-pos-cmd line). I tried manually disconnecting the signal and setting the values of motor positions using halcmd and the GUI did indeed jump the end effector, but then the system errored saying the joint was faulty. I assume thats a safety mechanism, I would like to know where its error tolerance is set on jerking the position feedback signal as we may need to lower that.

Optical feedback only comes at 30fps, it is a 6dof estimate of position + rotation. The motion controller needs signals alot faster that 30fps.

I have had a few ideas for integration. The issues to deal with are
1. latency on camera signals
2. slowness of camera signals
3. The existing motor fb signal will never get reset by the camera system, so could drift to ridiculous values

My best idea so far is when a camera frame comes in, we take the difference between its estimate of position and the motor pos fb value to create an error term. This error term can just be added to motor-pos-fb and fed into the motion controller. However, that probably won't work because of sharp changes in the error term (exacerbated by camera latency), so **we need a better way to smoothly alter the error term** (ideally without too much logic)*

Later we might want to linearly predict the expected camera signal based using latency, but not initially.


Tom

* my very first idea was a weighted sum between camera estimate and motor-pos-fb, but then I realised when the motor drifted alot the whole thing would be out of kilter all the time. The motor-pos-fb needs to be considered just a differential quantity rather than an absolute one (whereas camera-fb is our golden absolute feedback).
The administrator has disabled public write access.

Re:LinuxCNC + Robot Operating System + OpenCV 15 Jun 2012 18:01 #20976

  • andypugh
  • andypugh's Avatar
  • NOW ONLINE
  • Moderator
  • Posts: 4126
  • Thank you received: 141
  • Karma: 129
I am confident I could answer your questions if I knew what they were.

Guessing:
In the HAL file try "show all" after the loadrt section.

You should consider short-circuiting motor-pos-cmd direct to motor-pos-fb. f-error limits are read into Motion from the INI. You might not need Motion, depending on the application.
The administrator has disabled public write access.

Re:LinuxCNC + Robot Operating System + OpenCV 19 Jun 2012 05:28 #21095

Yeah I am sure that last post looked garbled. I was just thinking out load really (at 2a.m.). So yeah, I think I know what I need to do next.
The administrator has disabled public write access.

Re:LinuxCNC + Robot Operating System + OpenCV 25 Jul 2012 19:08 #22471

  • johnjsb
  • johnjsb's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 13
  • Karma: 0
i am so glad someone else is wanting to use ros and linuxcnc together. the idea is to use a omni robot use gcode to make a design out in the middle of a room or something. use the visual servoing to correct position info. there are several ways to do this but resently useing 2 kinects at x and y fixed to the room. since we all have tonnes of metal shaveing laying about a industrial grade roomba that cleans and deposits swarf would be great. so close
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Time to create page: 1.033 seconds
Powered by Kunena Forum
© 2013 LinuxCNC.org
Joomla! is Free Software released under the GNU General Public License.