This repo contains tools and documentation created while implementing a WebAssembly compile target for RoboStack.
The scripts depend on forks of Vinca, robostack, and emscripten forge.
To get started clone the dependencies,
git clone https://github.com/mbatc/emscripten-forge-recipes
git clone https://github.com/mbatc/ros-humble
git clone https://github.com/mbatc/vinca.git
and create 3 files, .emforge-dir
, .robostack-dir
, and .vinca-dir
containing the path to each repo. e.g.
echo -n PATH_TO_EMSCRIPTENT_FORGE_REPO > .emforge-dir
echo -n PATH_TO_ROBOSTACK_REPO > .robostack-dir
echo -n PATH_TO_VINCA_REPO > .vinca-dir
These are used in the makefile to locate the repos.
Run make help
to list helpful commands for generating recipes and building packages.
ROS2 packages I've built using these tools can be found in robostack-wasm.
Date | 30/04/2023 |
---|---|
Description | A basic c++ application which is cross-compiled to Web Assembly |
Location | ./hello-wasm/ |
Date | 12/05/2023 |
---|---|
Description | Cross compiled the rclcpp library to Web Assembly. |
Location | ./rclcpp-wasm/ |
- First,
micromamba install -c conda-forge jupyterlite-xeus-python
in your emscripten-forge environment - Then, run
jupyter lite build --XeusPythonEnv.empack_config=empack_config.yaml
in the ./milestones/rmw-wasm-cpp-example folder