Learn ROS and get your ROS certificate by enrolling in the Udemy course (Highest Rated course) ROS for Beginners: Basics, Motion and OpenCV.
Learn about ROS2: ROS Next Generation by enrolling in the Udemy course ROS2 How To: Discover Next Generation ROS
Step 1: installing required packages:
To control any robot you have to install ROSLink packages with a suitable bridge for your robot. Gaitech Scope is using ROSLink-ba version which has WebSocket connection in both sides robot and client sides, which improves the ability to send a video stream.
ROSLink bridges are developed continuously for each ROS-robot comes to the market now FEB 2019 we have bridges for (turtlebot2, turtlebot3, Gapter, ARdrones and ria)_
To install and compile roslink-ba open terminal and type
cd ~/catkin_ws/src git clone https://github.com/gaitech-robotics/gaitech_roslink.git cd ../ catkin_make
The launch should start working without any problems or errors.
We need also to install a script that runs as a WebSockets server to manage the communication between the robot and the user which is available in this link
THis websocket package may not be installed in the robot, so lets install it
First we need to install pip (if it is already installed you can skip this step):
open the terminal and type these commands:
sudo apt-get update sudo curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" python get-pip.py
you can check by type this command:
pip --version pip 18.0 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
- Secound is to install the websocket package, type in the termenal this command:
pip install git+https://github.com/dpallot/simple-websocket-server.git
Step 2: Networking configration:
There is also a web-app version of Gaitech Scope. You can open this page and when it gets loaded it will work exactly as the .apk file. apk file is a bit faster, but the web-app version can be working on any platform (windows, ios, ubuntu, etc)
Step 3: Networking configration:
The main thing to care about it when using Gaitech Scope is to be sure that your robot and smartphone are connected to the SAME NETWORK.
The next thing to do is to put the IP of the machine that runs the WebSocket server script.
To know the IP address you can type “ifconfig” in the terminal.
Type this IP in the options page in the app as shown in these screenshots.
Step 4: running robot:
In the robot terminal run the bringup launch file, the command depends on the robot itself, e.g for ria robots the bring up is:
roslaunch e100_bringup minimal.launch
In another terminal run the python WebSocket server.
The last thing is to launch the rolsink bridge, this command depends on the robot you are using let’s go with ria this time also, so the command will be:
roslaunch roslink-ba riae100.launch
Now open the app, make sure that the IP address is correct and enjoy controlling your robot.
Running RIA-E100 over the internet¶
To run and control RIA-e100 over public network you need just a public server with a public IP address. The python webosocket server has the abillty to run on a public server as will, and to do that follow these steps.
- Do the prevoise installation steps that related to websocket server above on the server.
- Run the python secript on the server and make sure there is no errors messages
- On the robot PC go to this dirctory
- open the riae100.launch file and change the ground_station_ip value to be the public IP address for your server
- save the file and run the code as if it on a local network.