BOW Logo
Docs

Getting Started

Your Developer Environment

Before developing an application using BOW it is first necessary to have your environment correctly setup. To develop using BOW you need two things, a workstation and a robot:

- A Linux or Windows workstation (macOS coming soon) with:

  • The BOW Hub application installed
  • The language of your choice (Python, C++, C#) installed and configured
  • The corresponding BOW SDK installed
  • The IDE of your choice for creating your BOW application

- A BOW enabled robot

  • This can be a physical robot running a BOW driver
  • OR a simulated robot running in the BOW webots simulator
Simulated Robots

If you are using a simulated robot, then the whole Webots application acts as the robot, you should not use the Webots IDE to develop your application.

Remote Simulation

Similar to a physical robot, your simulated robot does not need to run on the same computer, or even the same network, as the workstation you are developing on. The simulated robot can be connected to from anywhere in the world.

Example Environment and Application

Below is a video which showing a typical development environment

In this example you can see all of the above requirements for a developer environment in action, in this case:

  • A Windows workstation
  • The installed BOW Hub, the system tray application used to select different robots
  • The language of choice, in this case Python 3
  • The IDE of choice, in this case PyCharm

We also see both a simulated Tiago++ running in the simulator AND a physical Tiago++ robot running the BOW driver.

Webots Simulation

Note that the only elements of the Webots simulator being used for development are the 3D Window which allows us to interact with the world and scene, and the console which shows us the output from the running BOW driver. You can also use the Scene tree which can be used to add and remove items from the world. However, the text editor is not used, as the code running inside the webots IDE is the BOW driver which should not be edited by users.

Glossary

TermDefinitionLink
BOW HubThe BOW system tray application which allows you login, see online robots, switch between robots, install and launch the simulator and other functions.BOW Hub
SDKA set of tools which enable you to interact with the BOW framework using your preferred language.SDK
DriverBOW software which runs on the robot and sends data to your application. It also receives packets of control data from your application and applies these to your robot.The Driver
ModalityA channel of data between client and driver. Each modality represents a different subset of sensory or control data.Modalities
ExteroceptionA robots ability to sense its surrounding environmentSensory Modalities
InteroceptionA robots ability to sense its own internal stateSensory Modalities
ProprioceptionA robots ability to measure its own joints and their position in spaceSensory Modalities
Inverse Kinematics (IK)The process of calculating the required joint angles to place the end effector in a desired position in 3D spaceInverse Kinematics Tutorial

Troubleshooting

If you have any support requirements, questions or bug reports please fill out the support form in our portal, and we will get back to you as soon as possible to help.

On this page