The turtlesim_agent leverages AI to convert natural language instructions into visual artwork using the ROS2 TurtleSim simulator. By interpreting text commands, this agent creates drawings in a novel and interactive way, showcasing the capabilities of large language models in creating art through digital environments.
turtlesim_agent is an innovative AI agent that transforms the classic ROS turtlesim simulator into a dynamic canvas powered by natural language processing. Leveraging the capabilities of LangChain, this agent interprets text-based instructions to create visual drawings, effectively turning the turtlesim turtle into a digital artist. This project demonstrates how large language models can engage with external environments, showcasing creative behavior through user-defined prompts.
Users can specify shapes or drawing intentions using plain English, which the AI agent then interprets and executes using turtlesim's motion commands. For instance, users can generate basic shapes or complex imagery, such as a rainbow:
Prompt:
"I want you to draw a rainbow composed of 7 semi-circular arcs, each with a different color and a radius ranging from 2.0 cm to 2.7 cm..."
Note: The outcomes may vary due to the non-deterministic nature of language models; results can differ based on prompt phrasing, timing, or model adjustments.
This project requires:
requirements.txtturtlesim_agent provides two interaction modes:
# For CLI
$ ros2 run turtlesim turtlesim_node
$ ros2 run turtlesim_agent turtlesim_agent_node
# For GUI
$ ros2 launch turtlesim_agent turtlesim_agent.launch.xml
The tools/ directory contains various functions that the agent can call during its reasoning processes. Users are encouraged to augment the agent's capabilities by creating custom tools in this directory. For adding new functions:
*_tools.py file.all_tools.py for accessibility.Contributions to enhance turtlesim_agent are welcome. Suggestions for new tools, smarter models, or novel use cases can significantly enrich the project. Users are invited to contribute ideas through issues or pull requests, and any successful drawing experiments can be documented on the project's wiki.
No comments yet.
Sign in to be the first to comment.