Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instructions for ros bridge on Amiga brain OS 2.0 #26

Open
Hackerman342 opened this issue Oct 11, 2023 · 1 comment
Open

Instructions for ros bridge on Amiga brain OS 2.0 #26

Hackerman342 opened this issue Oct 11, 2023 · 1 comment
Assignees

Comments

@Hackerman342
Copy link
Contributor

Running instructions for what will allow running the ros bridge on the new Amiga brain OS (2.0)

@Hackerman342
Copy link
Contributor Author

Setup

ssh into your robot.

This requires having set up your user credentials

ssh <your-robot>

Pull the container

# Pull the container
# This may take 20 minutes, depending on network connection.
docker pull dustynv/ros:noetic-pytorch-l4t-r35.2.1

# Check that the image exists
docker images

NOTE: The reason I went for the pytorch container is that it seems to have all the required ros packages already installed.
Other versions require apt update && apt install ros-noetic-ros-base for using some basic tools, like rostopic
But these installed apt packages do not persist between runs of the container!

Feel free to check the other noetic containers at https://github.com/dusty-nv/jetson-containers/tree/master/packages/ros

Keep in mind it is important to get the correct version
If you want to check versions, as your user account:

cat /etc/nv_tegra_release
# Should indicate R35 (release), REVISION: 2.1

dpkg -l | grep nvidia-jetpack
# Should indicate Jetpack 5.1

lsb_release -a
# Should indicate Ubuntu 20.04

Make a directory to bind mount

This will create a directory that you will bind mount when you run your ROS docker container
By creating it ahead of time, you will have more file permissions than if docker creates it automatically.

cd ~
mkdir catkin_ws # you cn choose a different name here

Start the container

docker run --runtime nvidia -it --rm --network=host -v ~/catkin_ws:/workspace/catkin_ws dustynv/ros:noetic-pytorch-l4t-r35.2.1

Command breakdown

  • docker run: This is the basic command to run a Docker container.

  • --runtime nvidia: This flag specifies the use of the NVIDIA GPU runtime. It's typically used when you need GPU support within the container.

  • -it: These are combined flags that make the container run in interactive mode (-i) and allocate a pseudo-TTY (-t) for terminal interaction.

  • --rm: This flag indicates that the container should be removed (cleaned up) when it exits. Useful for temporary containers or for situations where you don't need to keep the container around after use.

  • --network=host: This flag instructs the container to share the host network namespace, allowing the container to access the network as if it were the host. It's often used when the container needs to interact with the host network.

  • -v ~/catkin_ws:/workspace/catkin_ws: This is a volume or bind mount configuration. It maps the ~/catkin_ws directory on your host machine to the /workspace/catkin_ws directory inside the container. Any changes made in the container's /workspace/catkin_ws directory will be reflected in the ~/catkin_ws directory on your host machine.

  • dustynv/ros:noetic-pytorch-l4t-r35.2.1: This is the name of the Docker image to be used when creating the container. It specifies the image's repository (dustynv/ros) and its tag (noetic-pytorch-l4t-r35.2.1). Docker images are like snapshots of the container's filesystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants