diff --git a/Dockerfile b/Dockerfile index 5db1546..369712c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,10 +12,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ WORKDIR /ws # Copy the ROS package into the standard colcon src/ layout and build it -COPY src/my_robot/ src/my_robot/ +COPY src/raspbot_v2/ src/raspbot_v2/ RUN source /opt/ros/${ROS_DISTRO}/setup.bash && \ - colcon build --packages-select my_robot + colcon build --packages-select raspbot_v2 # ── Stage 2: runtime ────────────────────────────────────────────────────────── FROM ros:kilted-ros-core @@ -43,4 +43,4 @@ COPY docker-entrypoint.sh /docker-entrypoint.sh RUN chmod +x /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["ros2", "launch", "my_robot", "robot.launch.py"] +CMD ["ros2", "launch", "raspbot_v2", "robot.launch.py"] diff --git a/README.md b/README.md index eade836..bd8eb34 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# my_robot +# raspbot_v2 ROS 2 package for the Yahboom Raspbot V2 platform — differential-drive motor control and pan/tilt camera orientation. @@ -139,7 +139,7 @@ The [ansible/](ansible/) directory contains a playbook that handles the remainin The Raspberry Pi is `arm64`, so the image must be built for that platform. On an amd64 host use `docker buildx`: ```bash -docker build --platform linux/arm64 -t my_robot:latest . +docker build --platform linux/arm64 -t raspbot_v2:latest . ``` `--load` exports the built image into the local Docker image store so it can be deployed with `docker save`. @@ -156,7 +156,7 @@ The build is split into two stages: Once the image is built, pipe it directly to the target over SSH — no intermediate file or registry needed: ```bash -docker save my_robot:latest | ssh matt@raspbot-v2.local docker load +docker save raspbot_v2:latest | ssh matt@raspbot-v2.local docker load ``` Replace `matt` with the username configured in [ansible/inventory.ini](ansible/inventory.ini). @@ -172,7 +172,7 @@ docker run --rm \ --network=host \ --device /dev/i2c-1 \ --env ROS_DOMAIN_ID=0 \ - my_robot:latest + raspbot_v2:latest ``` If your board exposes the controller on a different bus (check with `ls /dev/i2c-*` on the host), substitute the correct device node (e.g. `--device /dev/i2c-0`). @@ -186,8 +186,8 @@ docker run --rm \ --network=host \ --device /dev/i2c-1 \ --env ROS_DOMAIN_ID=0 \ - my_robot:latest \ - ros2 launch my_robot robot.launch.py \ + raspbot_v2:latest \ + ros2 launch raspbot_v2 robot.launch.py \ wheel_base:=0.25 max_speed:=0.8 tilt_center_deg:=45.0 ``` @@ -254,12 +254,12 @@ ros2 topic echo /joint_states ├── Dockerfile # Two-stage production image ├── docker-entrypoint.sh # Sources ROS overlays before exec ├── src/ -│ └── my_robot/ +│ └── raspbot_v2/ │ ├── package.xml # ROS package manifest │ ├── setup.py # ament_python build definition │ ├── launch/ │ │ └── robot.launch.py # Starts both nodes together -│ └── my_robot/ +│ └── raspbot_v2/ │ ├── __init__.py │ ├── motor_controller_node.py # Differential-drive motor control │ └── camera_orientation_node.py # Pan/tilt servo control diff --git a/src/my_robot/launch/robot.launch.py b/src/raspbot_v2/launch/robot.launch.py similarity index 96% rename from src/my_robot/launch/robot.launch.py rename to src/raspbot_v2/launch/robot.launch.py index b137090..cfc8dc3 100644 --- a/src/my_robot/launch/robot.launch.py +++ b/src/raspbot_v2/launch/robot.launch.py @@ -21,7 +21,7 @@ def generate_launch_description(): # ── Nodes ───────────────────────────────────────────────────────── Node( - package='my_robot', + package='raspbot_v2', executable='motor_controller', name='motor_controller', parameters=[{ @@ -32,7 +32,7 @@ def generate_launch_description(): ), Node( - package='my_robot', + package='raspbot_v2', executable='camera_orientation', name='camera_orientation', parameters=[{ diff --git a/src/my_robot/package.xml b/src/raspbot_v2/package.xml similarity index 85% rename from src/my_robot/package.xml rename to src/raspbot_v2/package.xml index 0d238ed..47afd26 100644 --- a/src/my_robot/package.xml +++ b/src/raspbot_v2/package.xml @@ -1,8 +1,8 @@ - my_robot + raspbot_v2 0.0.1 - Four-wheel robot motor controller + Yahboom Raspbot V2 motor and camera orientation controller Your Name Apache-2.0 diff --git a/src/my_robot/my_robot/__init__.py b/src/raspbot_v2/raspbot_v2/__init__.py similarity index 100% rename from src/my_robot/my_robot/__init__.py rename to src/raspbot_v2/raspbot_v2/__init__.py diff --git a/src/my_robot/my_robot/camera_orientation_node.py b/src/raspbot_v2/raspbot_v2/camera_orientation_node.py similarity index 100% rename from src/my_robot/my_robot/camera_orientation_node.py rename to src/raspbot_v2/raspbot_v2/camera_orientation_node.py diff --git a/src/my_robot/my_robot/motor_controller_node.py b/src/raspbot_v2/raspbot_v2/motor_controller_node.py similarity index 100% rename from src/my_robot/my_robot/motor_controller_node.py rename to src/raspbot_v2/raspbot_v2/motor_controller_node.py diff --git a/src/my_robot/resource/my_robot b/src/raspbot_v2/resource/raspbot_v2 similarity index 100% rename from src/my_robot/resource/my_robot rename to src/raspbot_v2/resource/raspbot_v2 diff --git a/src/my_robot/setup.cfg b/src/raspbot_v2/setup.cfg similarity index 55% rename from src/my_robot/setup.cfg rename to src/raspbot_v2/setup.cfg index 284e957..bc7c3ec 100644 --- a/src/my_robot/setup.cfg +++ b/src/raspbot_v2/setup.cfg @@ -1,5 +1,5 @@ [metadata] -name = my_robot +name = raspbot_v2 version = 0.0.1 [options] @@ -8,6 +8,6 @@ install_requires = setuptools [develop] -script_dir=$base/lib/my_robot +script_dir=$base/lib/raspbot_v2 [install] -install_scripts=$base/lib/my_robot +install_scripts=$base/lib/raspbot_v2 diff --git a/src/my_robot/setup.py b/src/raspbot_v2/setup.py similarity index 72% rename from src/my_robot/setup.py rename to src/raspbot_v2/setup.py index 096ae89..c053e3d 100644 --- a/src/my_robot/setup.py +++ b/src/raspbot_v2/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -package_name = 'my_robot' +package_name = 'raspbot_v2' setup( name=package_name, @@ -15,8 +15,8 @@ setup( zip_safe=True, entry_points={ 'console_scripts': [ - 'motor_controller = my_robot.motor_controller_node:main', - 'camera_orientation = my_robot.camera_orientation_node:main', + 'motor_controller = raspbot_v2.motor_controller_node:main', + 'camera_orientation = raspbot_v2.camera_orientation_node:main', ], }, ) \ No newline at end of file