Control DaNI robot

Dear All,
I have DaNI robot 2 and I am trying to make the robot read a text file which contains the velocity profile.
When I use the labview to read the text file there is no problem and I can read the values easily.
The problem is that the robot can not read the text file, when I run the program on the robot I get an error message the the file does not exist.
Note: the file is on my desktop.
I think that I have to upload the text file to the robot but I don't know how?
Please if any body can help me with this I really appreciate that.
Best Regards
Solved!
Go to Solution.

Dear 
I
I'm interested about this it DANI.. really I'm planning to buy it to have a training on the sbRIO 9632 in real time applications.
My question is after using this kit in training with some labview examples...Can I be able to use the sbRIO 9632 in another application also for controlling DC motors.
As I would like to build a DC Motor Position control project 
using a pan tilt mechanism and I'm thinking to get use of the sbRIO 9632 and the motor driver circuit on this kit  and use them for Pan tilt Mechansim 
I already waiting for a pan tilt mechansim having two 12DC motors, this mechansim has also a pot. for feedback.
Shall I go on and buy this robotic kit and get trained ?
Am I able to disammble it (without losing its function as a robot when reassembled) and use the needed boards (sbRIO9632 and motor Driver circuits) in my pan/tilt project?
thanks in advance
A.Hakim

Similar Messages

  • What is the best way to program DANI Robot to execute several movements(​i.e forwards,r​otation,..​.) in sequence?

    How to design a program that autonomously controls DANI Robot to navigate through a maze? No sensor, and path is given. Required movements will be moving forwards and rotate clockwise and counter clockwise.

    Hi Patrick,
    You could implement this using sequential or state-based architecture. With no sensors and a predetermined path this falls more to your ability to accurately control the motors on your robot.
    Ingram 

  • Robotics/ DaNI robot ( NIrobotics starter kit 2.0)

    Dear All
    I would like to use A * algorithm to find the shotest path in indoor environment by DanI robot 
    In addition, the robot includes PING ultrasonic sensor . 
    My question is any document or advices for avoiding obstacles by using ultrasonic sensor and how I can perform that 
    many thanks in advance 

    Hi Yazen
    I would have a look at this community example. I should give you a good start.
    https://decibel.ni.com/content/docs/DOC-8983

  • What is the best/Cost effective IP camera DaNI robot ?

    Hey,
              I am working on the DaNI robot,I just want to know whats the best IP camera for the DaNI robot ? 
    Thank you

    fayaz,
    I've used the AXIS M1011 on the DaNI robot, and it has worked very well.  We used it on this year's NIWeek Robotics Demo.  I have not used other cameras on DaNI, so I cannot comment on how they compare.  Also note that the IMAQdx driver currently only supports IP cameras made by Basler and AXIS.
    Chris M

  • I have got problems about drving Dani Robot.

    Hi everyone
    I am using the Dani robot for my major project. First I would like to apologize for my English.
    I have already finished labview design. I am trying to run the Dani Robot. But it has got problems which is sensor, big frame.
    When Dani robot runs in area where i makes obstacles, sometimes Dani Robot' wheels bumped on edge of the obstacle.
    I thought It is sensor speed, angle problem.
    I had changed sensor speed, angle. After that I tried to run the Dani Robot. It was same...Also Sensor doesn't read like cotton meterials.
    I was searching about sensor problem on Internet. Someone said it is influenced by the sun. Because i tried to run the Dani Robot in like balcony. I can't beleive whether it is true or not?
    Please let me know What is the problem?
    I will be happy if anyone has an idea about this problem.

    "jonavacado" <[email protected]> wrote in
    message
    news:fvr4s5$64$[email protected]..
    > Hello Alan,
    >
    > Thank you for your assistance.
    >
    > My pix are broken, indicating not on the server. I
    upload the the same way
    > for 4 years?
    > www.baitdomain.com
    You have "images/1ME_Smallie.png" when it should be
    "images/ME_Smallie.png"
    and afaik this path does not exist:
    images/Andy Caldwell/smallAndyCaldwell.jpg
    but this one does:
    images/Andy_Caldwell.jpg
    as Alan pointed out, the images directory is an open
    directory and it
    doesn't look like the missing images are on the server. It
    doesn't look like
    you have a "Andy Caldwell" sub directory either.
    Regarding the space, I'm not sure that's your issue. It is
    *bad practice* to
    use space in URIs, but I think most browsers try to replace
    them with "%20"
    so they resolve fine.
    Thierry
    Articles and Tutorials:
    http://www.TJKDesign.com/go/?0
    Keep your markup *clean* with these DW extensions and
    scripts:
    http://www.divahtml.com/products/scripts_dreamweaver_extensions.php

  • How to use a joystick on the local side to control a robot remotely connected by FP2000 .

    Hi All,
    Does anyone know how to use a joystick to teleoperate a robot on the remote side.
    The robot is connected to the Field point FP2000 RT module and hooked to the internet.
    I can use web publish to publish the control to the local side and control the robot by
    changing the control value on the picture.  Howerer, I have no idea about how to connect the
    joystick on the local compurer to the remote FP rt system. It seems I need to initionalized a communication
    between them. Does any one have the same  experiences??
    Ta. Shih  

    What you will probably need to do is write a seperate program which will run on the PC and send commands to the program running on the FP.
    You can read the joystick data with the VIs in the Advanced>>Input palette and you can communicate with your program by using a simple protocol over a TCP connection. You can find some examples in the example finder (Help>>Find Examples) by searching for TCP.  You can also find an example here and here. The protocol itself is up to you and can probably be fairly simple.
    Message Edited by tst on 02-15-2006 08:20 PM
    Try to take over the world!

  • Control a robot motion via 5 Boolean Switches

    Hi All
    I have a vi that i want to control the motion of a robot ( Forward, Backward, Right, Left, and Stop) Which are five states.
    I need these states via Boolean switches (It looks like a cross in the front panel).
    When
    the user presses the right button the robot will move to the right
    according to the program I already amde to dael with robot.
    When
    the user presses the left button the robot will leave the right state
    and go to the left state, so the robot will turn left.. and so on
    Only one swithch can be pressed a time.
    I
    need some body to help me to get the core ( I think state machine) that
    will do the transfer between the states with the given condition is met
    (only one switch selected from the five switches) to perform only one
    task from the five tasks
    Best regards
    Mido(Please send the solution as LabVIEW 8.5 vi)

    Well, that doesn't sound too hard. What kind of hardware do you actually have? What are the switches actually controlling? Or, is the robot controlled via a communication protocol? You said "according to the program I already made to deal with robot." What program? Is this a LabVIEW program? If so, are you trying to modify this program or write a new one? Have you looked at the KB articles? How about the examples?
    http://search.ni.com/nisearch/app/main/p/y/0/q/application%20design%20patterns/x/0/

  • How to use labview to control a robotic arm by EMG signal

    Hello,
    I am working on simulation of an active Exoskeleton (wearable robot) for the upper limb using LabVIEW for my senior project. I need to use the EMG signal as an input to move the elbow joint (flexing and extending). I downloaded labview biomedical toolkit to take a ready simulated EMG signal but have a weak experience in LabVIEW.
    The design criterial I am planning to use is to establish a threshold for the EMG signal using a comparator (above 0 for example) and set a counter for everytime the signal passes the threshold as(+1) in every count. Then, specify a degree value for the counter (for example when the counter reaches 10000) and feed this value of the counter to a simple simulated structure for the joint (simple angle of 2 lines) or a meter to represent the movement.. e.g. every 10000 count = 1 degree of movement. Zero crossing can also be used instead of the comparator and the signal will be filtered and that is easy to do. However, my problem is in converting this logic into LabVIEW. I don’t know how to set a counter for the signal and make every number of counts refer to a specific degree of movement and I also don’t know how to form the simulated joint structure in LabVIEW or even how to transfer this into a simple meter device in LabVIEW.
    I have only one month to do this project so any help or ideas you provide are highly appreciated
    Thank you ,

    CarlFHellwig 
    Thank you for providing this example I just implement  it in the software to check the counter results.
    In fact, the design criteria I desided to use latly is to use is to establish a threshold for the EMG signal using a comparator and correlate the EMG signal with the angles of movement of a simple simulated structure "motor" for a single joint (simple angle of 2 lines) eg. 30,60,90,120,150 degrees for flexing and extending. Zero crossing can also be used instead of the comparator and the signal will be filtered and that is easy to do. 
    In other words, the idea is to drive a motor for different angles based on the input EMG signals. I am now stuck with developing the algorithm of how the angles are related to the RMS value of the signal while flexing and extending and how to convert this RMS into angular velocity and angular position to form the simulation. 
    I will be grateful if someone guided me to a person did a similar project to discuss some issues. 
     

  • Evénement sur menu local d'un control dans un cluster

    Bonjour,
    Je me fais un cluster contenant 100 indicateurs chaîne.
    Pour chaque indicateur je veux un menu local avec 2 options, couleur rouge ou couleur bleu pour pouvoir sélectionner la couleur de fond de chaque indicateur.
    J'essaye de réaliser ceci sans créer les 100 événements menu de chaque control mais en utilisant l'événement menu du cluster sensé m'indiquer le refnum du contrôle concerné, mais ca ne marche pas.
    Une idée ?
    Solved!
    Go to Solution.
    Attachments:
    boite.vi ‏15 KB

    Bonjour,
    Après avoir regardé ton VI, j'ai remarqué que la condition d'événement a été faite sur le cluster et non les éléments du cluster, or pour pouvoir fonctionner il faudrait faire un événement sur l'élément qui t'intérresse.
    Donc au niveau de la condition d'événement il faudrait choisir la gestion de la première chaine à la dernière, j'ai modifié ton VI afin de modifier les 6 premières chaines (ca m'a pris 1 minute pour les 6), je pense qu'il te faudra 5 minutes pour faire les 100.
    Donc ta condition d'événement aura 100 sources d'événement (afin de ne pas dupliquer 100 fois le code, la ca serait plus contraignant).
    Cordialement
    Nacer M. | Certified LabVIEW Architecte
    Attachments:
    boite.vi ‏15 KB

  • How can I use one motion controller to control two robotic independently?

    the help document says :
    Note  Configuring and clearing buffers is a processor-intensive operation on the motion controller that requires the allocation and deallocation of memory. You should configure and clear buffers only when motors are not moving and onboard programs are not running. For example, if you wish to execute three simultaneous contouring operations on axis 1, axis 2, and vector space 1 (with axes 3 and 4), you should first configure all three buffers before starting any of the operations. You can start the contour operations independently, and at different times, but should wait until all operations are complete before clearing any of the buffers.
    and i tried to conduct two contouring operation on two vector space. and tried to clear or configuring buffer for one vector when another one is still moving. so that i can start or end the movement at any time i want,and  it is ok.no error. but when i tried add a buffer  breakpoint output along with each vector movement. the bp doesn't work if the other vector is running . is there anyway to solve this problem.

    I think you've misunderstood what the dns attribute is for. The dns attribute returns the hostname of the client accessing your website, not the hostname of the website that linked to your website.
    For example, when someone using the Comcast ISP goes to a malicious website at example.com that loads images from your website at www.amigoo.net, the dns attribute will be something like "c-1-2-3-4.ca.comcast.net", not "example.com". ACLs are used for authentication and authorization of clients (not the websites those clients chose to visit), and they don't provide the functionality you're looking for.
    If I understand correctly, you want to prevent websites other than amigoo.net from linking to files in your d:/webserver/imat/pics_upload directory. You can achieve this adding the following lines to your obj.conf configuration file:
    <Object ppath="d:/webserver/imat/pics_upload/*">
    <Client referer="*~*amigoo.net">
    PathCheck fn="deny-existence"
    </Client>
    </Object>

  • Spykee Robot control with Labview

    Thanks to the Spykeedev community forum, where you can find the TCP protocol to control Spykee, we wrote a set of VIs for connect and control the robot. In the example normally ignore the TCP communications because not all the command return ever a response.
    For display the webcam images the robot a JPEG file and labview only decode JPEG reading from a file, not directly. Then the VI write to a binary file an after, read the file and decode the JPEG. This caous not get more than 2 images per second.
    Is necessary improve the VIs, and one of the main improves are decode the JPEG protocol directly without write and read the file, and convert it to a format that Labview can work (picture, IMAQ,...).
    Still there is no VI to work with sound.
    The VIs are writen in Labview 2009
    Hope this help,
    Attachments:
    Spykee_labview2009.zip ‏518 KB

    LabVIEW comes with RS232 examples.

  • Control Robot by Speech Recognition by Arduino

    Hi guys,
    I want control robot by speech recognition with Arduino, I want to use also Hidden Markov algorithm. I need help!!!!!!!!!!!!!

    hello queeste possible link may be useful
    http://www.robotshop.com/blog/en/carlitos-projects-speech-controlled-arduino-robot-3684
    Atom
    Certified LabVIEW Associate Developer

  • Only extract information for robot control guidelines

    Hi,
    can someone please give me any tip on how to config an application where i take data from the video only for evaluating the visual scene and control a robot.
    for example the sequence could be:
    get data from webcam
    rescale and smoothing on a part of the image(possibly by hand.. because i want to customize the process),
    on the result apply sobel filter and store the result on a matrix A
    movement detector and store the result on a matrix B
    simple change detector and store the result on a matrix C
    other control systems use this data..
    I need the fastest way to take the image..
    I've seen that i can grab an image or use a codec or filter..
    what is faster?
    what is easier?
    thanks

    i put the varius filters inside the codec it can be faster or not?Perhaps you could reframe this question. What exactly is the problem?
    your code doesn't works..- the Image to BufferedImage block is from the java developers almanac, as I indicated in the comments in the code fragment I use a BufferedImage because it lends itself to quick filtering. You could modify the code to return an Image quite easily, but if you can`t here is the class
    public class Factory {
      public static final int RGB_ALPHA = 111;
      public static final int RGB_RED = 112;
      public static final int RGB_GREEN = 116;
      public static final int RGB_BLUE = 117;
      // This method returns true if the specified image has transparent pixels
       * @param image Image
       * @return boolean
      public static boolean hasAlpha(Image image) {
        // If buffered image, the color model is readily available
        if (image instanceof BufferedImage) {
          BufferedImage bimage = (BufferedImage) image;
          return bimage.getColorModel().hasAlpha();
        // Use a pixel grabber to retrieve the image's color model;
        // grabbing a single pixel is usually sufficient
        PixelGrabber pg = new PixelGrabber(image, 0, 0, 1, 1, false);
        try {
          pg.grabPixels();
        catch (InterruptedException e) {
        // Get the image's color model
        ColorModel cm = pg.getColorModel();
        return cm.hasAlpha();
      // This method returns a buffered image with the contents of an image
       * @param image Image
       * @return BufferedImage
      public static BufferedImage toBufferedImage(Image image) {
        if (image instanceof BufferedImage) {
          return (BufferedImage) image;
        // This code ensures that all the pixels in the image are loaded
        image = new ImageIcon(image).getImage();
        // Determine if the image has transparent pixels; for this method's
        // implementation, see e661 Determining If an Image Has Transparent Pixels
        boolean hasAlpha = hasAlpha(image);
        // Create a buffered image with a format that's compatible with the screen
        BufferedImage bimage = null;
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        try {
          // Determine the type of transparency of the new buffered image
          int transparency = Transparency.OPAQUE;
          if (hasAlpha) {
            transparency = Transparency.BITMASK;
          // Create the buffered image
          GraphicsDevice gs = ge.getDefaultScreenDevice();
          GraphicsConfiguration gc = gs.getDefaultConfiguration();
          bimage = gc.createCompatibleImage(
              image.getWidth(null), image.getHeight(null), transparency);
        catch (HeadlessException e) {
          // The system does not have a screen
        if (bimage == null) {
          // Create a buffered image using the default color model
          int type = BufferedImage.TYPE_INT_RGB;
          if (hasAlpha) {
            type = BufferedImage.TYPE_INT_ARGB;
          bimage = new BufferedImage(image.getWidth(null), image.getHeight(null),
                                     type);
        // Copy image to buffered image
        Graphics g = bimage.createGraphics();
        // Paint the image onto the buffered image
        g.drawImage(image, 0, 0, null);
        g.dispose();
        return bimage;
    How do you see this solution?Depends what you are trying to achieve. I have no problems grabbing and processing frames from a lores webcam to use in robot control. It is a simple procedure to compare one image with another if you overlay the image with a grid, evaluate the pixels in a grid cell to produce a value, and compare that value with previous values.
    regards

  • Problem using events to control robot

    We are using an event structure to control a robot. As you see in the included example, we are using the serial port to transmit data to the robot (actually hyper terminal for now). NOw that the last event has been added (including the graph at lower right), the VI stops responding and must be aborted whenever a button is pressed more than twice in a row. Perhaps the problem is that the serial port is getting overwhelmed (though we are only sending 4 bytes on each button click).
    The graph event is taken from the vi called "Draw Graph With Events" that is included with labVIEW. However, instead of drawing on the graph, we send the coordinates to the robot. When the user clicks on the graph first, it works as intended, but then the
    buttons don't work and vice versa.
    Thanks for any help you can give.
    Sean and Josh

    sorry, I've had a problem posting it. I should be able to put it up soon. Please check back if you can!

  • Version Control of PL/SQL programs in Database

    Is there a version control feature available in Oracle v9.x ???
    I am trying to implement version control on PL/SQL programs(Packages/Functions/Procedures). I should be able to rollback to old version and keep the system running if the latest ones failed. This should be done automatically without bringing the database down or recompiling the PL/SQL programs and also users do not need to reconnect(users might be caught in a LOCK and might get their sessions killed by DBA...)
    Ex: I have heard that in .NET, u can have more than one version of a DLL and have only one version active. If we want to go back to the old version of the DLL, u don't need to recompile the DLL to make it active. I am looking something similar to this....
    I have thought of several ways like creating a small repository table for my PL/SQL programs and store the PL/SQL code in the repository and based on the situation, compile only that program (which might be a OLD or a NEW version) and so forth... But this does not satisfy the requirement of rolling back to the old version without recompiling.(RENAMING a PL/SQL program feature doesn't seem to be implemented yet...)
    I don't want to use Designer just for this purpose...
    Any ideas..
    Thanks,
    Purush

    Are you dealing with code that's being called remotely (i.e. via a database link)?
    No
    I'd be concerned about the concept of rolling back code changes in production on a regular basis-- that would seem to indicate problems that ought to be addressed in development and QA. Rolling back code in production seems like it ought to be a rather painful process, if only because it indicates a massive failure elsewhere.
    This is not on a regular basis at all. Our Database applications are tied with lots of programs which directly control the robots and machines. Certain machines and robots needs to be working all the time and any downtime will cost time and money. To make sure that the implementation goes into production smoothly(without shutting down machines and robots) and then into maintainance mode, we are looking for some kind of source control to control the implementation and make sure to revert back (without shutting down machines and robots) if there are major issues.(There are certain things here which cannot be tested outside of a shop floor due to the physical and other constraints.)
    I have thought of otherways like a compile flag (in the DB.. Ex: a packaged variable) to set before compiling and reset after compiling. The programs on the shopfloor will always read this flag and check buffer(time taken to do this will have to be considered) before calling a DB txns and if the flag is set, buffer the txns and and move on to the next task the machine should do. The next time it call a txn. if the flag is reset, it checks the buffer and if buffer exists, execute the buffer txns first.. and then proceed to actual txn. The things that bothers me is time taken to compile the huge package and the no. of txns getting buffered and the overall txn time.
    I am trying to come up with some kind of solution for this issue if possible.....
    Thanks,
    Purush

Maybe you are looking for