Home

Awesome

fields-ignition

random crop field generator for Ignition Gazebo

:construction: work in progress

What's this?

I was wondering how complicated would it be to generate random test environments for agricultural robots. Turned out with great tools like the Blender python API, and Ignition Gazebo it can be a fun and straightforward process :tada:

This repo contains:

Notes

random tomato crops in Blender

Run in a Catkin workspace

requires ROS Noetic and Ignition Dome

Install

Run the simulation

Generate a new tomato field

Run with Docker

# build the container
docker build -t ros-tomatoes .
# run the simulator with Docker:
xhost +

docker run -it \
     -e WORLD_DIR=/catkin_ws/src/fields_ignition/generated_examples/tomato_field \
     -e DISPLAY \
     -e QT_X11_NO_MITSHM=1 \
     -e XAUTHORITY=$XAUTH \
     -v "$XAUTH:$XAUTH" \
     -v "/tmp/.X11-unix:/tmp/.X11-unix" \
     -v "/etc/localtime:/etc/localtime:ro" \
     -v "/dev/input:/dev/input" \
     --network host \
     --rm \
     --privileged \
     --runtime=nvidia \
     --security-opt seccomp=unconfined \
     --name tomato_field \
     ros-tomatoes

Note: to start a less resource heavy simulation change the WORLD_DIR env to /catkin_ws/src/fields_ignition/generated_examples/tomato_field_mini