3.4 KiB
Asctec Pelican GUI
The purpose of this project is an example of how to write a web page that can be accessed by any device on the same network as the host computer by accessing the IP of that host computer.
Here are the following setup requirements:
- A roscore running
- The IP of the machine running ROS
- Web Server up and running
Quick Start Guide
This guide is for after you have completed the setup requirements
If you are connecting to a remote computer that is running the roscore, you need to run the following lines in the terminal:
sudo route add 192.168.2.1 gw <your IP>
export ROS_MASTER_URI=http://<Host computer IP>:11311
export ROS_IP=<your IP>
Then run the bash file in the working directory by running the following in the terminal.
bash bashLaunchFile.bash
If you are having troubles, make sure the .bash file's permissions permit execution and make sure the working directory ("rosbridge_GUI_example") and all it's sub folder's permissions for "others" permit "Create and delete files" for enlcosed files and folders.
#Setup Requirements
ROS Core
If you are either using a remote or local rosmaster, make sure on the computer that you are going to use to host the webpage can access and echo topics that you wish to display on the webpage.
The IP of the machine running ROS
This is required when connecting using the rosbridge
Web Server up and running
There are two options for launching a web server. Python and apache2. Python is a single line run in the work directory while apache2 runs in the background.
Python Web Server
apache2 up and running
apache2 is used to host the webpage on your computer.
Google can help you find the install instructions which are straight forward.
The only next trick is to change the host directory to the working directory.
1.check where is configuration. Generally, apache2 configuration file is located in /etc/apache2/ folder.
vi /etc/apache2/apache2.conf in that file, you can find out the location of "DocumentRoot" config
Include sites-enabled/ that indicates your configration file is in "/etc/apache2/sites-enabled/".
2.Edit DocumentRoot config
vi /etc/apache2/sites-enabled/000-default In that file, you can find the "DocumentRoot" like below
DocumentRoot /home/glenturner/catkin\_ws/src/asctec\_pelican\_gui
And, modify that as you want.
4.Change in apa.conf file to include:
<Directory /home/glenturner/catkin_ws/src/asctec_pelican_gui>
AllowOverride All
Require all granted
</Directory>
- Folder Permissions This was a big problem for me. If you ever get errors on the page that permissions where denied, navigate to the directory above the working directory, right click on the directory that you are working in, change the permissions for all folders and sub folders so that everyone can access it.
3.Restart apache.
service apache2 restart
Web Server up and running
Here the rosbridge_suite that is used to link the websocket and ROS: http://wiki.ros.org/rosbridge_suite.
Basic ROS functionality of rosbridge: http://wiki.ros.org/roslibjs/Tutorials/BasicRosFunctionality
the launch command: roslaunch rosbridge_server rosbridge_websocket.launch
TODO
By using ROSBridge, this GUI will attempt to display relevant information over the web for any device.
TODO:
- Display Network Information
- Display camera image
- Move connection information to a new tab
- Check why on iPad the default IP address doesn't load