/rostalk

rostalk is a ROS client written in Amber Smalltalk

Primary LanguageJavaScript

Rostalk

Rostalk is a ROS client implemented in Amber Smalltalk that used rosjs (ROS javascript binding) and rosbridge. The main idea of Rostalk is to be able to develop and control robotic systems on the web with a high-level language like Smalltalk instead of using JavaScript.

Amber Smalltalk (previously known as jtalk) is an implementation of the Smalltalk language that runs on top of the JavaScript runtime. It is designed to make client-side development faster and easier. Amber is written in itself, including the parser and compiler. Amber compiles into efficient JavaScript, mapping one-to-one with the equivalent JavaScript. There is no interpretation at runtime.

Install rostalk

Get last version of amber:

git clone https://github.com/NicolasPetton/amber.git

Get last version of rostalk:

git clone https://github.com/SergeStinckwich/rostalk.git

Move Rostalk files in the jtalk repository:

cd rostalk
cp rostalk.html ../amber/
cp Rostalk-core.js ../amber/js/
cp Rostalk-core.deploy.js ../amber/js/
cp Rostalk-code.st ../amber/st/
cd ..

Launch webserver provides by jtalk (you will need Node.js):

cd amber
./bin/server

Setup your ROS environment

Install ROS Electric

Install ROSBridge

apt-get install ros-electric-brown-remotelab

Start up a roscore, if you haven't already:

roscore&

Launch rosbridge to connect ROS to rosjs:

rosrun rosbridge rosbridge.py

Launch your favorite web browser (supporting Websocket) on http://localhost:4000/rostalk.html in your favorite webserver.

Try a first example

Enter and evaluate (do it) in the workspace the following Smalltalk expression:

RosConnection example.

In the Transcript, you should see that rostalk connected to ROS, publish a topic and print a list of current topics.

License

Rostalk is released under the MIT license. All contributions made for inclusion are considered to be under MIT.