LabVIEW Robotics Documents

Showing results for 
Search instead for 
Did you mean: 

Robot Recipe: Teleoperation Mode for NI Robotics Starter Kit


This recipe steps you through how to adapt your NI Robotics Starter Kit into a remotely-operated (teleoperable) robot.

90% of the actions we take while driving our cars are from sight (1), so it would make sense that a camera on a robot would be a good step towards programming autonomy for the robot.  The basic steps include: attaching an IP ethernet-based camera to the starter kit, and mounting a wireless router.  Depending on what router you get, you may be able to configure a more advanced network configuration.

1a. Booher, H. R., "Effects of visual and auditory impairment in driving performance,"  Human Factors, 1978, 20, pp. 307-320

1b. Bryan, W.E., "Research in vision and traffic safety," Journal of the American Optometric Association, 1957, 29, pp. 169-172

1c. The actual value of 90% is disputed among researchers.  (Castro, C., Human Factors of Visual and Cognitive Performance in Driving, 2009)

Parts Overview

List any hardware and software components used to build your robot

Part Description
Model Name/Number

NI Robotics Starter Kit (includes:

Mobile Platform, Sensors and FPGA_Real-Time Processing Targets)

National Instruments781222-01
Wireless routerAsusRT-G32
IP CameraAxisM1011
IR Distance SensorSharpGP2D12
5V RegulatorRadio Shack
DC Coaxial Plug

Other items:

Metric and English Allen wrench set

Small adjustable wrench or a pair of pliers

Wire cutters and strippers

Soldering tools


Zip ties


CAT-5 cable (Ethernet cable), crimps, and crimp tool

Screws for mounting the WiFi router (I used two 8-32 's )

IR distance sensor (I used a Sharp GP2D12, which has drivers that come with LabVIEW Robotics)

DC Coaxial Plug for the router and camera, or just cut off their power supplies

5V regulator or a regulator at the voltage of your camera / router

Software used

NI Robotics Starter kit software, which includes:  LabVIEW Robotics, LabVIEW Real-Time, LabVIEW FPGA software modules

DD-WRT for my particular router:

Hardware modification steps

Step 1: Disassembly

  • Disconnect the battery plug from the connector leading in to the robot
  • Unplug the power connector that goes to the sbRIO-9361
  • Unplug the encoder feedback on each of the two motors (Red, Blue, Brown, and Yellow wire bundle)
  • Unscrew and remove the sonar sensor from the bracket it's mounted to, and also remove the mounting bracket from the servo (1 screw)
  • Unscrew the 8 screws/nuts that connect the two "halves" of the robot together
  • Afterwards, you should have something that looks like this:


Step 2: Wiring for power

Both the camera and router are usually powered from a DC power supply that you plug in to the wall.  The robot's battery will source the power in this case.  Be sure to check the electrical specifications of your router and camera before continuing.  The router used here runs on 12V and the camera uses 5V.

  • Either create a power cable using some wires as seen below, or cut off the connector as seen in the next bullet.  You can get the plugs with wire leads from an electronics shop.  The particular part used here is a DC Coaxial Plug 2.5mm (ID) x 5.5 mm (OD).  Suppliers include: Digikey, Allied Electronics, Newark, Radio Shack, Fry's, and many others.  Remember, the center is usually positive, but you can double check with a multimeter on your original, stock power supply.


If you want to just cut off the connector that came with your device, you can do that too (as seen for the camera power supply below).  The following shows the supplies used and then how they were soldered together.  The black tubes are heat shrink.   Depending on the voltage of your camera or router, you may need a different regulator.


  • The router runs of off 12V, so in this case, the wires were squeezed in to where the battery power supply of the robot goes in to the 12V to 24V converter.  To find this, trace the red wire from the battery connector, to the switch, to the terminal.

  • For the 5V regulator, remember you probably have to attach it to a heat sink.  Use strain relief as needed (zip ties).  This way if the wires get tugged on, the soldering connections will not break so easily.

  • To avoid more soldering and splicing power wires, you can use one of the "splitter" blocks already on the robot.  They look like grayish connectors with one wire going in and two wires going on.  You can actually pry it open and shove your own wire in there if it is small enough.  For this case, the power supply wires for the regulator were pushed in to the block.  If you don't feel comfortable with this, you can always splice the wires going in to the 12V to 24V power supply since you may not be able to shove more wires in to the terminals.


And that's it for power!  Afterwards, the insides of your bot should look something like this


Now just put the bot back together.  Basically, just put the two halves back together and plug in the encoder feedback cables.


If you want to have easier access to the battery and potentially change it out, before you put the bot back together, unscrew the plastic plate the battery is attached to and flip it over.  You may also want to cut the zip-ties.  To make the battery a little more secure when mounted upside down, you can buy some "hook and loop" (Velcro) material to make straps that go through the zip-tie slots in the plastic plate.  Use the straps to repeatably secure the battery to the plastic plate.

Step 3: Mounting the camera, router, and IR sensor

  • For this case, the hole spacing on the starter kit was pretty close to the hole spacing on the router.  It also just so happened that an 8-32 screw fits very snuggly in to the small holes on the starter kit (for screws, nuts, and bolts, visit your local hardware store or  You just need a little elbow grease and you can force an 8-32 in to the hole and thread the hole at the same time.  With those screws in, the router could just slide on with its own mounting holes.  If you don't want to muscle in the screws, you can always get a smaller bolt and put a lock washer on the other side of the frame.  Alternatively, you can use hook and loop fastener (self-lock mushroom-head from works well).

  • Unscrew the four screws holding the servo motor on to the black acrylic plate.  Pull the servo motor down through the hole.  Then place the servo upside down on top of the acrylic plate and put the screws back on.  So now, if you have a camera that comes with a clamp, it is pretty easy to attach the camera.

  • Now would be a good time to make some ethernet cables.  Either use extra cables you have lying around or make the cables custom to length.  For a good reference on making network cables, check out:  Make cables to go from the sbRIO and the camera to the router
  • Attach the IR sensor and plug in the cables.  You may have to refer to the sbRIO-9361 documentation for how to hook up an analog sensor.


Notes about the hardware used

The router used was an Asus RT-G32 so that DD-WRT would install (see blog entry for why this is useful).  It was a little bit of a pain to get DD-WRT on this particular router compared to some others (click here for instructions for the RT-G32).  There are plenty of other routers out there that support DD-WRT (like the Netgear WNDR3300).  Just check the website at:

Helpful Links:

NI Robotics Technical Blog:

Related posts:

To download VIs to control the teleoperated robot, see: How to Convert Starter Kit into Teleop,

For information on advanced networking, see: Teleoperate Starter Kit from 20 Floors Away,

To make the robot autonomous, see; Starter Kit Obstacle Avoidance Via Vision Processing

Active Participant
Active Participant

Two Questions....

1) How did you condigure your Router?  Specificaly, did you use  Client Bridged, or Client Unbridged?  I'm looking at setting up several RSK's so it seems like Client Unbridged would be easier, 'cos all the routers could be setup the same. But then I need to deal with Port Forwarding through the routers.  Does LabVIEW use any specific ports for downloading and debugging?

2) If I go Bridged, then I'd like to assign each RSK it's own fixed IP.  How would I do that?


Get a life? This IS my life!

1. The router was configured as a wireless bridge--not a client bridge.  Just a regular bridge.  That way everyone is on the same subnet.

2. If you're using DD-WRT to configure the bridge, see for reference on how to setup the fixed IP (typically referred to as the local IP on the settings).



I love this link, It is extremely useful.

Im uni, and im starting a small project on getting the same robot to move over the web.

I just had a question/request, how to i then link the robot to labview again.

Thanx in advance



Great job

But the VIs are not accessible. How do we get them...


Could you tell me how the router was set up to the sbrio and also what TCP port did you use in the Labview VI. I am doing a Project trying to sent data from python to sbrio wirelessly with socket programming.