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-recipesgit clone https://github.com/mbatc/ros-humblegit 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-dirThese 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-pythonin your emscripten-forge environment - Then, run
jupyter lite build --XeusPythonEnv.empack_config=empack_config.yamlin the ./milestones/rmw-wasm-cpp-example folder