Kokon
Nano Banana와 Generative Fill을 대신할 수 있는 무료 로컬 대안
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗No install needed. Click the link, design your robot, and download the ROS 2 package.
A single-page web app that generates URDF models and ready-to-build ROS 2 packages for:
Enter the robot's dimensions and masses, check it in the live 3D preview (with joint sliders and geometry checks), pick RViz, Gazebo, or both, and download a zip containing:
urdf/<robot>.urdf with inertia computed from geometry, plus Gazebo plugins (diff drive, joint position controllers, lidar/camera/IMU) when Gazebo is selectedlaunch/display.launch.py (robot_state_publisher + joint_state_publisher_gui + RViz)launch/gazebo.launch.py (Gazebo + spawn + ros_gz_bridge, optional RViz)worlds/empty.sdf, rviz/*.rviz, package.xml, CMakeLists.txt, README.mdrobot_spec.json to re-import and edit laterFor the 6-DOF arm, humanoid and semi-humanoid it can also generate a <robot>_moveit_config package:
gz_ros2_control (Gazebo)JointTrajectoryController per group, wired to MoveItdemo.launch.py (MoveIt + RViz, no physics) and gazebo.launch.py (Gazebo + MoveIt + RViz)Gazebo worlds included in every package (pick the default in the app, switch at launch with world:=<name>):
| World | Contents |
|---|---|
empty | Flat ground |
factory | Conveyor lines, CNC machines, work tables, bin racks, marked robot cell |
warehouse | Four rows of pallet racks with boxes, 2 m aisles, floor lanes, loading dock |
office | Desk clusters with monitors and chairs, meeting room, cabinets, sofa, plants |
Worlds are built from simple shapes, so they load offline with no model downloads.
Pick Your own world in Step 3 (or drag a file onto the world picker) and upload:
.sdf or .world), or.zip that holds the world file together with the models and meshes it uses (keep the folder layout the world expects).The app then:
<include> models still load in Gazebo, they just are not drawn in the browser);default inside the file, so the launch files and bridges find it;worlds/custom_assets/, rewrites relative mesh paths to point there, and adds that folder (and custom_assets/models) to the Gazebo resource path so model:// URIs resolve;x, y and yaw arguments.Launch it with world:=custom. Files with absolute paths (file:///home/...) only work on the computer they point to.
index.html is a single file: open it in a browser, or serve the folder with any static server, for example
python3 -m http.server 8000
It loads three.js and JSZip from public CDNs, so it needs internet access.
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
unzip ~/Downloads/<package>.zip
cd ~/ros2_ws && colcon build --packages-select <package>
source install/setup.bash
ros2 launch <package> display.launch.py # RViz
ros2 launch <package> gazebo.launch.py # Gazebo
Move the robot with the keyboard (in a new terminal, while Gazebo runs):
ros2 run teleop_twist_keyboard teleop_twist_keyboardros2 run <package> joint_teleop. Keys: w/s pick a joint, a/d move it, q/e change the step size, z zeroes the joint, h sends every joint home. The semi-humanoid also drives its base with i , j l and stops with k. It works with the plain Gazebo package (joint position controllers) and with the MoveIt package (trajectory controllers).joint_teleop press i / , to walk forward / back, j / l to turn, u / o to walk and turn, k to stop, h to stop and straighten the legs. It walks slowly (about 2 cm/s) with a weight-shifting gait and uses /joint_states and /imu to set each foot down flat. Tested in MuJoCo; keep Gazebo's physics step at 1 ms.The colors you pick in the app are written into every <visual> of the URDF, so RViz and Gazebo show the same colors as the preview. If a part shows up plain white in RViz, RViz has no transform for that link yet: check that the joint states are being published (the joint slider window for RViz, or the Gazebo bridge for simulation).