It represents visually the robot’s behavior as a graph on a canvas composed of states (nodes,vertices) and transitions (edges, links). When the automaton is in a certain state it will pass from one state to another depending on the conditions established in the transitions. This graphical representation allows a higher level of abstraction for the programmer. It combines a graphical language to specify the states and the transitions with a text language (Python) to detail the behavior on each state or the conditions in the transitions.
VisualStates generates a ROS node which implements the automata and shows a GUI at runtime with the active state every time, for debugging.
Installation from Ubuntu ROS Package
If you have already installed ROS on your system, you can install visualstates with the following command.
sudo apt install ros-kinetic-visualstates
Installation from Source
Install the following dependencies:
ROS Kinetic Kame
VisualStates is built as a Robotics Operating System package and currently developed using ROS Kinetic Kame. Follow the instructions given here to install ROS Kinetic on your desktop.
sudo apt install ros-kinetic-desktop
The frontend depends on PyQT to interactively develop robotic visual behavior.
sudo apt install python-pyqt5 sudo apt install python-pyqt5.qsci
The VisualStates tool is distributed as a ROS package. You can directly clone VisualStates repository in an active catkin workspace. Follow the steps below in your ROS workspace:
cd catkin_ws/src git clone https://github.com/JdeRobot/VisualStates.git cd .. catkin_make source devel/setup.bash rosrun visualstates main.py
About the project
VisualStates is © 2017-2019 by JdeRobot.
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. Read more about becoming a contributor in our GitHub repo.
Code of Conduct
VisualStates is committed to fostering a welcoming community.
View our Code of Conduct on our GitHub repository.