Edoras: Closing the loop to bridge CFS and ROS2
-
Clone this repository:
git clone git@github.com:traclabs/edoras_ws.git cd edoras_ws
-
Clone software (cFS and edoras workspace)
./scripts/clone_code.sh
-
Build base images:
./scripts/build_images.sh
-
Build cFS and edoras ROS2 workspace:
./scripts/build_cfe.sh ./scripts/build_edoras.sh
-
Start services:
docker compose -f docker-compose-dev.yml up
This will start 3 services: fsw, rosgsw and novnc. fsw starts cFS already
-
Open a terminal in fsw, launch robot on the flight side:
docker exec -it edoras_ws-fsw-1 bash
Inside the container:
cd /code/edoras ros2 launch edoras_demos rover_flight_demo.launch.py
-
Open a terminal in rosgsw:
docker exec -it edoras_ws-rosgsw-1 bash
Inside the container:
cd /code/edoras ros2 launch edoras_demos rover_ground_demo_multihost.launch.py
-
Bridge are up on the ground, operator UI is setup on the ground, and cFS and the robot on the flight side are up. One last thing is needed: Let cFS know that we want telemetry data back:
docker exec -it edoras_ws-rosgsw-1 bash
cd /code/edoras ros2 service call /to_lab_enable_output_cmd std_srvs/srv/SetBool data:\ false\
You'll see in the first terminal something like: Telemetry for IP: 10.5.0.3 activated. In the rosgsw's Rviz window, you'll see a red arrow show up, showing that telemetry from the rover is being received back.
-
Start services:
docker compose -f docker-compose-dev.yml up
This will start 3 services: fsw, rosgsw and novnc. fsw starts cFS already
-
Open a terminal in fsw, launch robot on the flight side:
docker exec -it edoras_ws-fsw-1 bash
Inside the container:
cd /code/edoras ros2 launch edoras_demos gateway_big_arm_flight_demo.launch.py
-
Open a terminal in rosgsw:
docker exec -it edoras_ws-rosgsw-1 bash
Inside the container:
cd /code/edoras ros2 launch edoras_demos gateway_big_arm_ground_demo_multihost.launch.py
-
Bridge are up on the ground, operator UI is setup on the ground, and cFS and the robot on the flight side are up. One last thing is needed: Let cFS know that we want telemetry data back:
docker exec -it edoras_ws-rosgsw-1 bash
cd /code/edoras ros2 service call /to_lab_enable_output_cmd std_srvs/srv/SetBool data:\ false\
You'll see in the first terminal something like: Telemetry for IP: 10.5.0.3 activated. In the rosgsw's Rviz window, you'll see a red arrow show up, showing that telemetry from the rover is being received back.