rostalk is a ROS client written in Amber Smalltalk
JavaScript Smalltalk
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



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

Get last version of rostalk:

git clone

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 ../amber/st/
cd ..

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

cd amber

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:


Launch rosbridge to connect ROS to rosjs:

rosrun rosbridge

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.


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