Removed ~ files
This commit is contained in:
48
README.md~
48
README.md~
@@ -1,48 +0,0 @@
|
||||
# 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.
|
||||
|
||||
### Quick Start Guide
|
||||
|
||||
|
||||
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 <Host computer IP>
|
||||
export ROS_MASTER_URI=http://<Host computer IP>:11311
|
||||
export ROS_IP=<your IP>
|
||||
|
||||
Make sure you have the web_video_server installed:
|
||||
|
||||
sudo apt-get install ros-indigo-web-video-server
|
||||
|
||||
Make sure you have ROSBridge installed:
|
||||
|
||||
sudo apt-get install ros-indigo-rosbridge-suite
|
||||
|
||||
Then run the bash file in the working directory by running the following in the terminal.
|
||||
|
||||
bash launch.bash
|
||||
|
||||
#### Just display the webpage
|
||||
|
||||
If you just want to test the webpage, navigate to the working directory in the terminal and type
|
||||
|
||||
python -m SimpleHTTPServer
|
||||
|
||||
Then open http://localhost:8000/.
|
||||
# Making Changes
|
||||
|
||||
Feel free to clone this project and use it as a base for your own GUI.
|
||||
|
||||
You can easily customise the "Robot Display" pannel by changing the HTML "robot\_display.html" file.
|
||||
|
||||
All ROS related Javascript should go in the "ProjectFiles/js/ros_scripts.js" file.
|
||||
All functions that are used to update the GUI should go in the "ProjectFiles/js/update_guis.js" file
|
||||
|
||||
By using ROSBridge, this GUI will attempt to display relevant information over the web for any device.
|
||||
|
||||
TODO:
|
||||
1. Display Network Information
|
||||
1. Add checkmarks for which topics you want to record
|
||||
2. Add time plot for data
|
||||
1. fix connectoin button on ROS Bridge Connection tab
|
||||
@@ -9,4 +9,4 @@ Array.prototype.indexOfTopic = function(name) {
|
||||
if (this[i].name == name)
|
||||
return i;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
BIN
data/bagfile_2015-07-01-09-17-42.bag.active
Normal file
BIN
data/bagfile_2015-07-01-09-17-42.bag.active
Normal file
Binary file not shown.
27
launch.bash~
27
launch.bash~
@@ -1,27 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
kill_child_processes() {
|
||||
isTopmost=$1
|
||||
curPid=$2
|
||||
childPids=`ps -o pid --no-headers --ppid ${curPid}`
|
||||
for childPid in $childPids
|
||||
do
|
||||
kill_child_processes 0 $childPid
|
||||
done
|
||||
if [ $isTopmost -eq 0 ]; then
|
||||
kill -9 $curPid 2> /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
# Ctrl-C trap. Catches INT signal
|
||||
trap "kill_child_processes 1 $$; exit 0" INT
|
||||
|
||||
chmod a+x src/bagger.py
|
||||
|
||||
x-terminal-emulator -e "roslaunch rosbridge_gui_example all.launch" &
|
||||
x-terminal-emulator -e "python -m SimpleHTTPServer 8000" &
|
||||
x-terminal-emulator -e "rostopic echo /bag_notifier" &
|
||||
x-terminal-emulator -e "rosrun web_video_server web_video_server"
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<launch>
|
||||
<include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch" />
|
||||
<include file="$(find rosbridge_gui_example)/launch/bagger.launch" />
|
||||
<include file="$(find rosbridge_gui_example)/launch/talker.launch" />
|
||||
</launch>
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
import rospy
|
||||
from std_msgs.msg import String
|
||||
import rospkg
|
||||
import subprocess
|
||||
import os
|
||||
import signal
|
||||
|
||||
class Bagger(object):
|
||||
|
||||
def __init__(self):
|
||||
rospy.init_node("bagger", anonymous=True)
|
||||
rospy.Subscriber("bag_publisher", String, self.callback)
|
||||
self.pub = rospy.Publisher("bag_notifier", String, queue_size=10)
|
||||
self.proc = None
|
||||
rospack = rospkg.RosPack()
|
||||
self.data_path = os.path.join(rospack.get_path("rosbridge_gui_example"), "data")
|
||||
|
||||
def callback(self, msg):
|
||||
if msg.data == "STOP" and self.proc is not None:
|
||||
os.killpg(self.proc.pid, signal.SIGINT)
|
||||
self.pub.publish("STOPPED")
|
||||
else:
|
||||
bag_file = os.path.join(self.data_path, msg.data)
|
||||
self.proc = subprocess.Popen(["rosbag", "record", "-o", bag_file], preexec_fn=os.setsid)
|
||||
self.pub.publish(["rosbag", "record", "-o", bag_file])
|
||||
self.pub.publish("STARTED")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
Bagger()
|
||||
rospy.spin()
|
||||
Reference in New Issue
Block a user