Teleop robot
This project demonstrates how to use Genesys to spawn robots into a Gazebo simulation and control them via a custom teleoperation node.
pip install genesys-framework-cliecho 'export PATH="$(python3 -m site --user-base)/bin:$PATH"' >> ~/.bashrcgenesys new robotcd robotgenesys build<?xml version="1.0" ?>
<sdf version="1.6">
<world name="empty_world">
<light name="sun" type="directional">
<cast_shadows>true</cast_shadows>
<pose>0 0 10 0 -0 0</pose>
<diffuse>0.8 0.8 0.8 1</diffuse>
<specular>0.2 0.2 0.2 1</specular>
<attenuation>
<range>1000</range>
<constant>0.9</constant>
<linear>0.01</linear>
<quadratic>0.001</quadratic>
</attenuation>
<direction>-0.5 -0.5 -1</direction>
</light>
<gravity>0 0 -9.8</gravity>
<magnetic_field>6e-06 2.3e-05 -4.2e-05</magnetic_field>
<atmosphere type="adiabatic"/>
<spherical_coordinates>
<surface_model>EARTH_WGS84</surface_model>
<latitude_deg>0</latitude_deg>
<longitude_deg>0</longitude_deg>
<elevation>0</elevation>
</spherical_coordinates>
<state world_name="empty_world">
<sim_time>0 0</sim_time>
<real_time>0 0</real_time>
<wall_time>0 0</wall_time>
<iterations>0</iterations>
<model name="ground_plane">
<pose>0 0 0 0 -0 0</pose>
<scale>1 1 1</scale>
<link name="link">
<pose>0 0 0 0 -0 0</pose>
<velocity>0 0 0 0 -0 0</velocity>
<acceleration>0 0 0 0 -0 0</acceleration>
<wrench>0 0 0 0 -0 0</wrench>
</link>
</model>
</state>
<gui fullscreen="0">
<camera name="user_camera">
<pose>5 -5 2 0 0.275 2.356</pose>
</camera>
</gui>
<model name="ground_plane">
<static>true</static>
<link name="link">
<collision name="collision">
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
<surface>
<friction>
<ode>
<mu>100</mu>
<mu2>50</mu2>
</ode>
</friction>
<bounce/>
<contact>
<ode/>
</contact>
</surface>
</collision>
<visual name="visual">
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
<material>
<ambient>0 0 0 1</ambient>
<diffuse>0.7 0.7 0.7 1</diffuse>
<specular>0.01 0.01 0.01 1</specular>
<emissive>0 0 0 1</emissive>
</material>
</visual>
<pose>0 0 0 0 -0 0</pose>
<self_collide>false</self_collide>
<enable_wind>false</enable_wind>
<kinematic>false</kinematic>
</link>
</model>
</world>
</sdf>1. Imports
2. Keyboard Handling
3. The Teleop Node
4. Publishing Loop
5. Entry Point
🔑 In Plain English
Last updated
Was this helpful?
