diff --git a/flake.nix b/flake.nix index 52c2c74..d261ede 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,11 @@ { + description = "Development environment for ASTRA Anchor"; + inputs = { nix-ros-overlay.url = "github:lopsided98/nix-ros-overlay/master"; nixpkgs.follows = "nix-ros-overlay/nixpkgs"; # IMPORTANT!!! }; + outputs = { self, nix-ros-overlay, nixpkgs }: nix-ros-overlay.inputs.flake-utils.lib.eachDefaultSystem (system: let @@ -13,18 +16,31 @@ in { devShells.default = pkgs.mkShell { name = "ASTRA Anchor"; - packages = [ - pkgs.colcon - pkgs.python312Packages.pyserial - pkgs.python312Packages.pygame - (with pkgs.rosPackages.humble; buildEnv { + packages = with pkgs; [ + colcon + python312Packages.pyserial + python312Packages.pygame + (with rosPackages.humble; buildEnv { paths = [ - ros-core ros2cli ros2run ros2bag ament-cmake-core python-cmake-module + ros-core ros2cli ros2run ros2bag rviz2 xacro ament-cmake-core python-cmake-module + diff-drive-controller parameter-traits generate-parameter-library + joint-state-publisher-gui robot-state-publisher + ros2-control controller-manager + # ros2-controllers nixpkg does not build :( ]; }) ]; + shellHook = '' + [ -d install ] || colcon build --symlink-install + source install/setup.bash + + # Display stuff + export DISPLAY=''${DISPLAY:-:0} + export QT_X11_NO_MITSHM=1 + ''; }; }); + nixConfig = { extra-substituters = [ "https://ros.cachix.org" ]; extra-trusted-public-keys = [ "ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo=" ]; diff --git a/src/anchor_pkg/package.xml b/src/anchor_pkg/package.xml index 19dc42a..60964eb 100644 --- a/src/anchor_pkg/package.xml +++ b/src/anchor_pkg/package.xml @@ -8,6 +8,8 @@ AGPL-3.0-only rclpy + common_interfaces + python3-serial ament_copyright ament_flake8 diff --git a/src/arm_pkg/package.xml b/src/arm_pkg/package.xml index 8982d81..efcb547 100644 --- a/src/arm_pkg/package.xml +++ b/src/arm_pkg/package.xml @@ -8,7 +8,11 @@ AGPL-3.0-only rclpy + common_interfaces + python3-numpy ros2_interfaces_pkg + + python3-ikpy-pip ament_copyright ament_flake8 diff --git a/src/astra_descriptions b/src/astra_descriptions index 9a0b2b2..aaddaef 160000 --- a/src/astra_descriptions +++ b/src/astra_descriptions @@ -1 +1 @@ -Subproject commit 9a0b2b2ea1dbdc2b3a78ab5f045bdc356093f241 +Subproject commit aaddaef90c3561475f46ed857b1428b7c334f638 diff --git a/src/bio_pkg/package.xml b/src/bio_pkg/package.xml index d4a8515..d87859f 100644 --- a/src/bio_pkg/package.xml +++ b/src/bio_pkg/package.xml @@ -8,6 +8,7 @@ AGPL-3.0-only rclpy + common_interfaces ros2_interfaces_pkg ament_copyright diff --git a/src/core_pkg/package.xml b/src/core_pkg/package.xml index f97b13e..667ee58 100644 --- a/src/core_pkg/package.xml +++ b/src/core_pkg/package.xml @@ -8,6 +8,9 @@ AGPL-3.0-only rclpy + common_interfaces + python3-scipy + python-crccheck-pip ros2_interfaces_pkg ament_copyright diff --git a/src/headless_pkg/package.xml b/src/headless_pkg/package.xml index b5f3b52..bc06dde 100644 --- a/src/headless_pkg/package.xml +++ b/src/headless_pkg/package.xml @@ -8,6 +8,8 @@ AGPL-3.0-only rclpy + common_interfaces + python3-pygame ros2_interfaces_pkg ament_copyright diff --git a/src/headless_pkg/src/headless_node.py b/src/headless_pkg/src/headless_node.py index fd23a8c..b0131f2 100755 --- a/src/headless_pkg/src/headless_node.py +++ b/src/headless_pkg/src/headless_node.py @@ -7,7 +7,6 @@ import signal import time import atexit -import serial import os import sys import threading diff --git a/src/latency_tester/CMakeLists.txt b/src/latency_tester/CMakeLists.txt index 6fea0db..6c214e8 100644 --- a/src/latency_tester/CMakeLists.txt +++ b/src/latency_tester/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.22) project(latency_tester) # Default to C++14 diff --git a/src/latency_tester/package.xml b/src/latency_tester/package.xml index 23de138..121816d 100644 --- a/src/latency_tester/package.xml +++ b/src/latency_tester/package.xml @@ -9,7 +9,7 @@ ament_cmake rclcpp - std_msgs + common_interfaces ament_lint_auto ament_lint_common