====== Remote (SSH) Connnection to Turtlebot ======
First off, GT Lawn automatically closes off connected devices from the external world (they can get out, but noone can get in). This is for security purposes and makes sense. However, if we need to connect to the Turtlebot via SSH, then it becomes a problem. There are two categories of solution to the problem.
* Contact OIT and insist that they open inbound services for your device/Turtlebot (really insist!)
* Disable inbound securiy service //every// time you connect to GT Lawn.
The first can only really done in limited quantities and by faculty (at least that's my belief given how much it took for me to get just one Turtlebot opened up like that). That means we'll be doing the second category here. Instead of connecting to GT-Wifi which we all love, we will have to connect to eithet GT-Other or GT-Device. GT-Other is the easier method.
After establishing a connection with inbound service, then it is just a matter of running ssh to connect to the device.
===== Get Turtlebot on GT Internet =====
----------------------------------------
==== Connect to GT-Other ====
Figure out what the special key is for GT-Other. It is on the [[http://lawn.gatech.edu/|GT-Lawn]] page as an option ("Pre-shared Key" link off to the left). Enter your credentials and get the secret password. Once you got it, you can connect to GT-Other, but the connection won't give you internet access. Open up a browser and navigate to [[http://auth.lawn.gatech.edu | auth.lawn.gatech.edu]]. You'll see a view similar to the one below:
;#;
{{connect01_ISSdisable.png}}
;#;
Of course it won't be filled out. Fill it out like I did, with the login id, the password, and also with Inbound Security Service disabled (**not** checked). This last one is clutch. That allows the Turtlebot to be connected to remotely. Once done entering and selecting, just hit "Login" and oyu are good to go.
==== Connect to GT-Device ====
This is a bit trickier. First, make sure to connect to GT-Device using the Turtlebots wifi. Then, on another machine, you will have to navigate to [[http://auth.lawn.gatech.edu | auth.lawn.gatech.edu]] and get to the above screen. However, you will also have to enter one more piece of information on top of what is detailed in the GT-Other case. You will need the MAC Address of the device. Select the "Login a different device" option and enter the MAC Address of the Turtlebots wifi system. To get that one, you will need to type the following in the command line (i.e., in a Terminal):
ifconfig -a
and then see what pops out. There should be a set of ouputs for "wlan0." What you want to find is the hardware address of the wifi device (here: wlan0). It should be on the first row after the HWaddr string. Enter that and then hit the "Login" button. Then, when you connect to GT-Device, it will automatically grant you network access. Since the Turtlebot cann do the option above, it's far easier to do it that way.
===== Connect to Turtlebot from Another Machine =====
-----------------------------------------------------
To connect from another machine, you will need a secure shell program and you will need the IP address of the Turtlebot. To get the IP address of the Turtlebot, run ifconfig once connected to GT wireless. The image below shows you what to expect as ouput when you run
ifconfig -a
which is
;#;
{{connect02_ifconfig.png}}
;#;
Note that the wlan0 fields have an IP address. It is listed under "inet addr" field. Take ntoe of that number. It's where you wil have to ssh into. Supposing that you had a linux machine or a Mac as you remote machine, then entering the following in the command line will do the trick:
ssh turtlebot@ipaddress
with the proper substitution of the IP address. If you created another account besides the turtlebot account, then use that login name before the @ symbol. Usually it is best to create your own account. Why dirty the nice and clean turtlebot one if you don't have to. Suppose that you have Windows and are wondering where is my ssh? Well, you have a few options. My favorite two are *putty* and *Secure Shell* (while GeorgiaTech will sometimes recommend SecureCRT). Putty is easier to find and get. Snag it, install it, then learn how to use it (not that hard, just run and enter the IP address in the right text field).
From here you can do basic things like run the keyboard teleop code. On the actual Turtlebot laptop, open a Terminal and run the basic Turtlebot system code:
roslaunch turtlebot_bringup minimal.launch
Then, once the code has launched and is running, ssh into the laptop and run the keyboard teleoperation code:
roslaunch turtlebot_teleop keyboard_teleop.launch
which should let you remote control the Turtlebot using the keyboard.
===== Connect to Turtlebot and Forward X =====
----------------------------------------------
In linux, and maybe Mac, it is as easy as entering:
ssh -X turtlebot@ipaddress.
and you are forwarding the X messages to your display. It will be absurdly slow, but can be a last resort/desperate measure kind of thing.
Now, for Windows, it's a bit tougher. You'll have to get an X client running. The computers in the ECE lab (VL E265) have such a client installed. You just have to run it, then connect to the Turtlebot and it will capture the X messages and display stuff.
;#;
ENDS FOR NOW. I HAVEN'T CONNECTED THAT WAY YET TO DOCUMENT IT.
;#;
---------
;#;
[[: | Main ]]
;#;