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
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.
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.
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
Term | Definition | Link |
---|---|---|
BOW Hub | The BOW system tray application which allows you login, see online robots, switch between robots, install and launch the simulator and other functions. | BOW Hub |
SDK | A set of tools which enable you to interact with the BOW framework using your preferred language. | SDK |
Driver | BOW 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 |
Modality | A channel of data between client and driver. Each modality represents a different subset of sensory or control data. | Modalities |
Exteroception | A robots ability to sense its surrounding environment | Sensory Modalities |
Interoception | A robots ability to sense its own internal state | Sensory Modalities |
Proprioception | A robots ability to measure its own joints and their position in space | Sensory Modalities |
Inverse Kinematics (IK) | The process of calculating the required joint angles to place the end effector in a desired position in 3D space | Inverse 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.