Skip to content

Commit 6eea97a

Browse files
geurtoJelmerdwrosalievanarkJonasvdbo
authored
321 split docker image structure (#340)
* merging changes from migrate_python_to_cpp into main Signed-off-by: Peter Geurts <peter.geurts@proton.me> * license Signed-off-by: Peter Geurts <peter.geurts@proton.me> * moved joystick tests from rcdt_tests to unit tests in rcdt_joystick Signed-off-by: Peter Geurts <peter.geurts@proton.me> * fixed namespacing issues; removed RGBD tests from realsense and zed Signed-off-by: Peter Geurts <peter.geurts@proton.me> * fixed run Signed-off-by: Peter Geurts <peter.geurts@proton.me> * python -> cpp node in launch file Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add enable_overrun option to fix communication_constraint_violation errors. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Update Frank URDFs. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix: Create more free disk space in runner (#328) * Check disk space after building docker image. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Trigger workflow. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Trigger workflow without cache. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Test other clean up script. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Disable our clear disk space action. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Test clean-image-for-docker Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Test other action. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Add our old method after new method. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Fix format. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Clean up code. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Fix reference. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> --------- Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * removed unused gamepad_mapping files; updated package.xml Signed-off-by: Peter Geurts <peter.geurts@proton.me> * 312 organize and clean up existing code (#329) * Remove unused files Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Missing docs, but new working configuration management implementation of the launching of the platforms Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update docstrings, still need to rename certain functions Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Add empty files in preparation for splitting up the robot.py file Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Split robot.py into separate files and extract global methods and variables from the Platform class and place them in different files Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Change name of file that describes its use better Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Make global methods in platform.py specific to the Platform class since they are only used there, and remove the old robot.py file Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Adjusted the code to pass the linting checks Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Move class-specific functions to the corresponding classes Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Generalise 'robot' to 'platform' where possible Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Fix naming in URDFs Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Rename package rcdt_messages to rcdt_interfaces to follow the classic ros2 naming standards more closely Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Minor updates for the code after Jelmer's review Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Move configuration context to EnvironmentConfig since that's accessible from everywhere, and change robots.launch.py to bringup.launch.py to follow ros2 naming standards more closely Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Rename '.platform' to '.platform_type' to make the code easier to read Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update linting Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Remove unused images from repo Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Rename 'utils_conf' to 'utils_config' Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Improve naming Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Rename configuration files and add predefined configuration class Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update rcdt_test file structure Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Move 'SKIP' to launch_utils and work through all remaining TODOs Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> --------- Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * 302 Add gps support to navigation (#323) * First steps. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * WIP Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Fix local odometry and visualize in Rviz and Vizanti. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Create 3D world form open street map. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Add license. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Add osm2world install script to docker file. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Remove zip after unpacking. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Show disk space in post install. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Check disk space before and after chown. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Undo changes. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Load 3D world based on map. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Restructure sdf files. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Use dynamic namespaces. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Us logger instead of printing. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Fix test. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Change osm2world properties to not add road marking materials since this results in height differences. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Only remap gps topic when using gps. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Skip joy gripper tests. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> --------- Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Initial splitting of docker. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * rcdt_husarion can now start a container and directly launch husarion.launch.py Signed-off-by: Peter Geurts <peter.geurts@proton.me> * rcdt_gazebo now spawns a new world and a Panther Signed-off-by: Peter Geurts <peter.geurts@proton.me> * split rcdt_core up into rcdt_base and rcdt_cuda, based on if an image needs cuda/torch; added rcdt_tools Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added rviz/vizanti launch files -- rviz now launches with some (hardcoded) properties Signed-off-by: Peter Geurts <peter.geurts@proton.me> * moving to separate platforms.yml, simulator.yml, tools.yml so you can restart rviz/gazebo without taking down the robot compose Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added rcdt_nav2 Signed-off-by: Peter Geurts <peter.geurts@proton.me> * 324 make repository compliant to alliander ospo standards (#339) * Add missing docs from ospo checklist, template names still need to be updated Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update placeholder values with the correct values, and add some extra text to the README.md Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> --------- Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Generalize nav2 tests and add GPS test. (#338) * Generalize Nav2 tests. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Create simplified nav2_manager using nav2 commander API. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Add GPS navigation and extend UI. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * WIP Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Fix tests. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Switch to using tf2 listener directly. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Apply feedback. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Try spin_once function with zero timeouts. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Apply feedback. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Apply feedback. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> --------- Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Improve stability of tests. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * rebase Signed-off-by: Peter Geurts <peter.geurts@proton.me> * moved Husarion URDFs to rcdt_gazebo as they are only used in simulation (and need ros-gz plugins) Signed-off-by: Peter Geurts <peter.geurts@proton.me> * small updates Signed-off-by: Peter Geurts <peter.geurts@proton.me> * adding back the URDF to rcdt_husarion fixed the launch issue Signed-off-by: Peter Geurts <peter.geurts@proton.me> * basic nav2/panther/gazebo/rviz launch now runs, started additions in compose.py to fix env vars in composes Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add script to make compose and spin container for given platform. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Create devcontainer configurations for VSCode. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Start integrating Franka. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add gripper components to Franka. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Make platfroms argument optional. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Simplify code. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add moveit base. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Use Register and add pose_manipulator node. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * First working version of Moveit with separate dockers. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix robot visualization in Rviz. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Move URDF's to new rcdt_description package and install this package in Gazebo container. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Create LICENSE (#348) Signed-off-by: Jonas van den Bogaard <3628277+Jonasvdbo@users.noreply.github.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Architecture for Grasping (#337) * Initialize grasping documentation page. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Add integration. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Add software architecture. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Apply feedback. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> --------- Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Improve stability of the tests (#352) * Improve test stability. --------- Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Change RewrittenYaml to AdaptedYaml and improve launch logic. (#349) * Change RewrittenYaml to AdaptedYaml. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> * Fix global costmap and improve launch file logic. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> --------- Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * 315 sensor integrate ouster hardware (#346) * Update launch file with lifecycle node for the ouster driver Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Add temporary placeholder for topic remappings for the ouster driver Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update ouster launch file to match with ouster hardware, and update Lidar class to also bridge /scan topic for the ouster since the hardware itself does that as well Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update ouster documentation Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Remove unused import Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Turn off scan method of the Ouster since it only takes a single row of the entire scan instead of merging the rows, and add the pointcloud_to_laserscan node Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Correctly update the documentation and make small adjustment to launch file to make the ip addresses slightly more dynamically adjustable when desired Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Generalize setting the ip address of the device a bit more Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Add missing line for linting Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> --------- Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * 289 lynx integrate lynx simulation (#351) * Add lynx startup to repo, only in rviz the link to map not working yet Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Adjust controller config location in urdf lynx, but it's the panther version so the lynx version still needs to be added! Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Fix linting Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Move panther and lynx to new husarion package, as well as the corresponding controller config from rcdt_gazebo Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Restore removed config value Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Move the nav2 parts from the panther package to its own package Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Add ouster lidar and gps configurations, tested via bringup Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Fix linting and add Lynx tests Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update documentation Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Remove joy_topics.yaml seems it does not seem to be used anymore Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Move the gazebo.urdf.xacro files to a common folder since the panther and lynx both use the same Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Fix bug in nav2 tests Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Add missing license file Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update predefined configurations according to new features from main branch Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Fix bug regarding local variable being uninitialized Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update lifecycle node management nav2 Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Assign Lifecycle directly to dictionary Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> --------- Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Rosalie van Ark <57712550+rosalievanark@users.noreply.github.com> Co-authored-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add ouster. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add velodyne. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add realsense. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add zed. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Clean up. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * First step towards multi platform. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Give controllers more time to start. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Load predefined configurations. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Change name to namespace. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Pass configurations to docker containers using mashumaro. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove old code. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Define our default for ros srv and action files (#356) * Remove unused services Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Add message string to services Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Remove services that we don't need anymore Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Remove AddMarker service and replace instances with PoseStampedSrv Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Remove DefineGoalPose service and replace instances with PoseStampedSrv Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Remove MoveHandToPose and MoveToConfiguration services and replace instances with new StringSrv service Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update documentation Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Rename 'Trigger' action to 'TriggerAction' to follow our new default naming convention Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Update linting Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Remove ExpressPoseInOtherFrame service and replace instances with the new TransformPoseToFrame service Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Create translation and rotation tests for TransformPoseToFrame functions Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> * Fix linting Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> --------- Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove unused files. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Test building of all containers using script. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove dev containers. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Update dev container. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add foundation for pytest migration. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add GPS. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add Lynx. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * First integration of Moveit and Nav2. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add franka tests. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Start tests when containers healthy and add Panther tests. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add nav2 lidar navigation test. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add foundation for linting checks. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix linting. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix ty and doxygen. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * moved rcdt_core copies and builds outside of base image; consolidated often-called Docker functions into bash scripts Signed-off-by: Peter Geurts <peter.geurts@proton.me> * renamed rcdt_nmea -> rcdt_gps, and the nmea platform to nmea_gps Signed-off-by: Peter Geurts <peter.geurts@proton.me> * renamed rcdt_tools -> rcdt_visualization Signed-off-by: Peter Geurts <peter.geurts@proton.me> * build rcdt_core packages in rcdt_tests Signed-off-by: Peter Geurts <peter.geurts@proton.me> * fixed ruff errors Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Improve Dev container. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Simplify compose.py Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * updated GitHub workflow to work with multiple images; switched to base images available on our Docker Hub Signed-off-by: Peter Geurts <peter.geurts@proton.me> * disabled some workflows for now Signed-off-by: Peter Geurts <peter.geurts@proton.me> * restructuring, removed unneeded workflows (for now) Signed-off-by: Peter Geurts <peter.geurts@proton.me> * consolidated into one docker.yml workflow file Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added docker.yml Signed-off-by: Peter Geurts <peter.geurts@proton.me> * removed draft condition Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Rename test_panther to test_vehicle and randomly choose between the panther and the lynx to test Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix code style in test_vehicle according to linting Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add core tests and few fixes. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added back draft condition Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Pass additional arguments to pytest. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Rename nmea_gps to gps in predefined_configurations, and remove unrequired case in config_objects Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added build.py script that uses components.yml to replace separate build scripts Signed-off-by: Peter Geurts <peter.geurts@proton.me> * removed condition for workflows to test Signed-off-by: Peter Geurts <peter.geurts@proton.me> * expanded test workflow Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Port rcdt_gui. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add collision monitor test. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * removed .env files; run workflow tests in xvfb Signed-off-by: Peter Geurts <peter.geurts@proton.me> * put back /dev:/dev mount Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added pytest-no-nvidia for GH runner tests; added linting workflow Signed-off-by: Peter Geurts <peter.geurts@proton.me> * installed dependencies in linting workflow Signed-off-by: Peter Geurts <peter.geurts@proton.me> * no runtime: nvidia in linting mode Signed-off-by: Peter Geurts <peter.geurts@proton.me> * set membership Signed-off-by: Peter Geurts <peter.geurts@proton.me> * test with abort-on-container-exit Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added docker pull to test/linting workflows Signed-off-by: Peter Geurts <peter.geurts@proton.me> * test without cache Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add Franka hardware. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * fixed conditional Signed-off-by: Peter Geurts <peter.geurts@proton.me> * typo Signed-off-by: Peter Geurts <peter.geurts@proton.me> * build and cache base image separately Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added extra steps Signed-off-by: Peter Geurts <peter.geurts@proton.me> * back to original Signed-off-by: Peter Geurts <peter.geurts@proton.me> * fixed linting error again Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix environment variables. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Lock zed on specific commit and remove ffmpeg configuration Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * split workflow up into base and cuda builds Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added franka_msgs to tests and dev containers Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove "test" mode. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix hardware lidars. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * build-cuda needs detect-changes Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix Franka on real hardware. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * arm64 and amd64 architectures in workflow Signed-off-by: Peter Geurts <peter.geurts@proton.me> * back to only amd64 for now Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove group_add 'video' from all docker-compose files Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added back platforms now that multiarch images are on Docker Hub Signed-off-by: Peter Geurts <peter.geurts@proton.me> * fixed ordering Signed-off-by: Peter Geurts <peter.geurts@proton.me> * removed pyrealsense2 dependency Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove the EnvironmentConfiguration class and move the variables to the PredefinedConfigurations class, a platform no longer adds itself to the world, the latter class controls that now Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * updated build script Signed-off-by: Peter Geurts <peter.geurts@proton.me> * including arm runners Signed-off-by: Peter Geurts <peter.geurts@proton.me> * switched detect-changes to only ubuntu24.04 Signed-off-by: Peter Geurts <peter.geurts@proton.me> * self-hosted runner test Signed-off-by: Peter Geurts <peter.geurts@proton.me> * only arm64 test Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove architecture names from docker services. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix gps navigation and include test. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * expand matrix with multiarch Signed-off-by: Peter Geurts <peter.geurts@proton.me> * typo Signed-off-by: Peter Geurts <peter.geurts@proton.me> * typo Signed-off-by: Peter Geurts <peter.geurts@proton.me> * do not fail all if one build fails Signed-off-by: Peter Geurts <peter.geurts@proton.me> * build amd64/arm64 separate then create manifest Signed-off-by: Peter Geurts <peter.geurts@proton.me> * ignore realsense-arm64 in builds Signed-off-by: Peter Geurts <peter.geurts@proton.me> * ignore zed-arm64 as arm runners are do not have GPU Signed-off-by: Peter Geurts <peter.geurts@proton.me> * fixed manifest needs field; added manifest arch check for cuda Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added pull command before running tests so that the timeout is not reached during pulling Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Restructure pyproject.toml Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * updated docker compose pull in tests; re-enabled "!= draft" check for workflows Signed-off-by: Peter Geurts <peter.geurts@proton.me> * policy missing Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove hardcoded lines. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * removed old files Signed-off-by: Peter Geurts <peter.geurts@proton.me> * removed mentions of ros2_ws Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove arch flag from build.py Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * updated pre-commit config Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Split colcon build for external and our ros packages. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * changed pydoclint to shell script; updated docstrings Signed-off-by: Peter Geurts <peter.geurts@proton.me> * include python files in repo root for pydoclint Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Update code with new PredefinedConfigurations logic layout Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Pushed a change that was just for testing, rest WORLD variable back to what it was Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix parameter names and values Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix provided parameter Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Working version of the new architecture Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Update code according to linting Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Expand build.py to image_manager.py and add pull functionality. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add cornflakes plugin to dev container. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix resources in Gazebo. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove unused files. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Run pydoclint in quite mode. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Stop containers on pytest interrupt. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * merged start.py into compose.py and simplified; added UI option for displaying Gazebo UI Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove unused utilities. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Remove unused dev_settings. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Fix linting. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Update documentation according to new code structure Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added option to propagate dev_settings into containers run by pytest Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Split building of core and other images. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Add strategy. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * updated build matrix Signed-off-by: Peter Geurts <peter.geurts@proton.me> * renamed compose.py to start.py; added Nix flake for dev environment Signed-off-by: Peter Geurts <peter.geurts@proton.me> * renamed base to ubuntu in workflows Signed-off-by: Peter Geurts <peter.geurts@proton.me> * removed disk space clearing to hopefully use more cache in builds Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added back clear disk space actions for cuda-images Signed-off-by: Peter Geurts <peter.geurts@proton.me> * Update documentation and remove franka_lock_unlock. Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Peter Geurts <peter.geurts@proton.me> * updated system and workflows documentation Signed-off-by: Peter Geurts <peter.geurts@proton.me> * removed simple_gui.py as it was moved to rcdt_gui.py Signed-off-by: Peter Geurts <peter.geurts@proton.me> * fixed merge errors Signed-off-by: Peter Geurts <peter.geurts@proton.me> * updated documentation Signed-off-by: Peter Geurts <peter.geurts@proton.me> * disabled docker workflows until we have Docker pro Signed-off-by: Peter Geurts <peter.geurts@proton.me> * re-enable linting workflow Signed-off-by: Peter Geurts <peter.geurts@proton.me> * added dummy workflow to bypass branch protection rules Signed-off-by: Peter Geurts <peter.geurts@proton.me> --------- Signed-off-by: Peter Geurts <peter.geurts@proton.me> Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Signed-off-by: Rosalie <rosalie.van.ark@alliander.com> Signed-off-by: Jonas van den Bogaard <3628277+Jonasvdbo@users.noreply.github.com> Signed-off-by: Rosalie van Ark <57712550+rosalievanark@users.noreply.github.com> Co-authored-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com> Co-authored-by: Jelmer de Wolde <Jelmerdw@users.noreply.github.com> Co-authored-by: Rosalie van Ark <57712550+rosalievanark@users.noreply.github.com> Co-authored-by: Jonas van den Bogaard <3628277+Jonasvdbo@users.noreply.github.com> Co-authored-by: Rosalie <rosalie.van.ark@alliander.com>
1 parent f747786 commit 6eea97a

File tree

365 files changed

+6340
-12029
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

365 files changed

+6340
-12029
lines changed

.devcontainer/.env

Lines changed: 0 additions & 18 deletions
This file was deleted.

.devcontainer/dev/.dev_bashrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
source /opt/ros/jazzy/setup.bash
2+
source /rcdt/ros/install/setup.bash
3+
export PYTHONPATH="/rcdt/.venv/lib/python3.12/site-packages:$PYTHONPATH"
4+
export PATH="/rcdt/.venv/bin:$PATH"

ros2_ws/src/rcdt_franka/urdf/adapted/franka_arm.ros2_control.xacro.license renamed to .devcontainer/dev/.dev_bashrc.license

File renamed without changes.

.devcontainer/dev/Dockerfile

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# SPDX-FileCopyrightText: Alliander N. V.
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
FROM rcdt/robotics:base
5+
6+
ARG REMOTE_USER
7+
ARG COLCON_BUILD_SEQUENTIAL
8+
ENV ROS_DISTRO=jazzy
9+
WORKDIR /rcdt/ros
10+
11+
# Install linting tools:
12+
RUN apt update && apt install -y --no-install-recommends \
13+
doxygen \
14+
clang \
15+
&& rm -rf /var/lib/apt/lists/* \
16+
&& apt autoremove -y \
17+
&& apt clean
18+
19+
# Install MoveIt:
20+
RUN apt update && apt install -y --no-install-recommends \
21+
ros-$ROS_DISTRO-moveit \
22+
ros-$ROS_DISTRO-moveit-servo \
23+
ros-$ROS_DISTRO-moveit-visual-tools \
24+
ros-$ROS_DISTRO-moveit-ros-perception \
25+
ros-$ROS_DISTRO-topic-tools \
26+
&& rm -rf /var/lib/apt/lists/* \
27+
&& apt autoremove -y \
28+
&& apt clean
29+
30+
# Install Nav2:
31+
RUN apt update && apt install -y --no-install-recommends \
32+
ros-$ROS_DISTRO-nav2-simple-commander \
33+
&& rm -rf /var/lib/apt/lists/* \
34+
&& apt autoremove -y \
35+
&& apt clean
36+
37+
# Install custom msgs:
38+
RUN git clone --depth=1 --filter=blob:none -b v3.1.1 \
39+
https://github.com/frankarobotics/franka_ros2.git src/franka_ros2 \
40+
&& cd src/franka_ros2 \
41+
&& git sparse-checkout set franka_msgs
42+
43+
# Setup configuration files:
44+
COPY common/colcon_build.sh /rcdt/colcon_build.sh
45+
COPY .devcontainer/dev/.dev_bashrc /.dev_bashrc
46+
RUN echo "source /.dev_bashrc" >> /home/$REMOTE_USER/.bashrc
47+
48+
# Copy repo packages:
49+
COPY rcdt_core/src/ /rcdt/ros/src
50+
COPY rcdt_moveit/src/ /rcdt/ros/src
51+
52+
# Build repo packages:
53+
ENV DCMAKE_EXPORT_COMPILE_COMMANDS=1
54+
RUN /rcdt/colcon_build.sh
55+
56+
# Install python dependencies:
57+
COPY pyproject.toml /rcdt/pyproject.toml
58+
RUN uv sync --all-groups
59+
60+
WORKDIR /rcdt
61+
CMD ["sleep", "infinity"]
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
//SPDX-FileCopyrightText: Alliander N. V.
2+
//
3+
//SPDX-License-Identifier: Apache-2.0
4+
{
5+
"name": "dev",
6+
"remoteUser": "ubuntu",
7+
"build": {
8+
"dockerfile": "Dockerfile",
9+
"context": "../..",
10+
"args": {
11+
"REMOTE_USER": "ubuntu"
12+
}
13+
},
14+
"workspaceMount": "source=${localWorkspaceFolder},target=/rcdt_robotics,type=bind",
15+
"workspaceFolder": "/rcdt_robotics",
16+
"overrideCommand": true,
17+
"runArgs": [
18+
"--rm"
19+
],
20+
"customizations": {
21+
"vscode": {
22+
"extensions": [
23+
"ms-python.python",
24+
"llvm-vs-code-extensions.vscode-clangd",
25+
"charliermarsh.ruff",
26+
"astral-sh.ty",
27+
"kevinglasson.cornflakes-linter",
28+
"tamasfe.even-better-toml",
29+
"ms-azuretools.vscode-docker",
30+
"twxs.cmake",
31+
"kylinideteam.cmake-intellisence",
32+
"redhat.vscode-yaml"
33+
]
34+
}
35+
}
36+
}

.devcontainer/devcontainer.json

Lines changed: 0 additions & 24 deletions
This file was deleted.

.devcontainer/docker-compose.yml

Lines changed: 0 additions & 59 deletions
This file was deleted.

.env

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# SPDX-FileCopyrightText: Alliander N. V.
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
# Using NVIDIA GPU:
6+
DISPLAY
7+
NVIDIA_VISIBLE_DEVICES=all
8+
NVIDIA_DRIVER_CAPABILITIES=all
9+
10+
# Colored terminal:
11+
RCUTILS_COLORIZED_OUTPUT=1
12+
13+
# Set the RMW implementation to Cyclone DDS for communication with the Panther:
14+
RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
15+
16+
# Define GZ_IP to use Gazebo with firewall enabled:
17+
GZ_IP=127.0.0.1
18+
19+
# Define Gazebo resource path:
20+
GZ_SIM_RESOURCE_PATH=/rcdt/ros/src:/rcdt/external/src
21+
22+
# Enable usage of git repo inside container:
23+
GIT_CONFIG_COUNT=1
24+
GIT_CONFIG_KEY_0=safe.directory
25+
GIT_CONFIG_VALUE_0=*
26+
27+
# Define cache location for pre-commit:
28+
PRE_COMMIT_HOME=/rcdt_robotics/.cache/pre-commit

.github/workflows/docker-and-workspace.yml

Lines changed: 0 additions & 64 deletions
This file was deleted.

0 commit comments

Comments
 (0)