- Spawn the robot
$ cd ~/dev_ws/
$ source install/setup.bash
$ ros2 launch sevillabot rsp.launch.py use_sim_time:=true
- Launch gazebo
$ cd ~/dev_ws/
$ source install/setup.bash
$ ros2 launch sevillabot launch_sim.launch.py
- Display in RVIZ
$ cd ~/dev_ws/
$ source install/setup.bash
$ ros2 launch sevillabot display.launch.py
- Teleop with keyboard
$ cd ~/dev_ws/
$ source install/setup.bash
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
or, Teleop with gamepad (plugged to PC)
$ cd ~/dev_ws/
$ source install/setup.bash
$ ros2 launch sevillabot joystick.launch.py
Issue: Body placement is not respected when exporting an assembly as STL. Workaround (see FreeCAD/FreeCAD#12278):
- Move all the items you want to export to a Part
- Go to the Mesh Workbench
- Create a Mesh from the Part
- Export those meshes as STL
To maintain local origin, copy the Part to root axes then export this copy of the part.
Issue: cannot export to DAE format (missing pycollada error message)
Place meshes in meshes
folder, modify to CMakeLists.txt
to install this directory
Use filename="file://$(find sevillabot)/..."
for path
Note: need to scale when importing (FreeCAD units are mm, Gazebo units are m)
<mesh filename="file://$(find sevillabot)/meshes/ASSY_sevillabot_base.stl" scale="1.0e-3 1.0e-3 1.0e-3"/>
- In
properties.xacro
fixW_z
(wheel axis z-offset in m) = 0.02 (not 0.025, otherwise wheels are out of their axes!) Checked it matches FreeCAD reference frame displacement. - modified
launch_sim.launch.py
to loadsevillabot_world.world
as default world for gazebo simulation - Added default RVIZ config
display_bot.rviz
- In
camera.xacro
modify horizontal FOV to 160 degrees. Since camera is small, remove and tags. - Update
Camera.md
with camera properties - in
Simulation.md
add notes for teleop with joystick and all changes above
- add wheels mesh
- add caster mesh
- align height of caster
- measure and correct position of wheels
- is collision between wheels and chassis a problem? Apparently not
- adjust angle of lidar
- measure values of CoGs, masses, inertias and update in URDF