Customization for ROS-1¶
Neobotix robots can be easily customized. For example, if you decide to add a new sensor, then you just need to add or change a couple of configurations. This documentation will help you to get up and going with the self-made customization that you make.
Setup the launch¶
Arm¶
For spawning the right configuration of the robot model in the RViz. For example, if you want to spawn the pre-configured mmo-500. In the file directory, navigate to ~/your_workspace/src/your_robot/launch
and open bringup.launch
. In the bottom, you can find:
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find neo_mpo_500)/robot_model/mpo_500.urdf.xacro'" />
Change it to:
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find neo_mpo_500)/robot_model/mmo_500.urdf.xacro'" />
Similar approach can be employed for other mobile manipulators.
Laser Scanner¶
In case, if a decision has been made to change or add a laser scanner. It can be done easily. We have currently 2 sick-laser scanners pre-configured. The same can be used as an example to add other laser scanners of your choice. By defaut setup in most of our robot repositories, we have sick_s300 configured. In order to change it to sick_microscan, In the file directory, navigate to ~/your_workspace/src/your_robot/configs/lidar
and open lidar.launch
.
Now comment out the the line for the sick_s300.launch
and uncomment the line for the sick_microscan3.launch
.
Customizing the robot model¶
LIDAR¶
We provide options for you to choose between two laser scanners for our robots depending on the application and usage.
- SICK S300
- SICK Microscan
For simulation, you can select you required laser scanners by commenting/uncommenting out the desired part, based on the instructions given in the URDF file.
In the repository for our robot models, we can find the sick_laser urdf file for all the robots, you can modify the desired laser-scanner in that file.
An example to MP-400 is given below.
<!-- SICK S3 sensor: Uncomment/Comment it out if required -->
<!-- <visual> -->
<!-- <origin xyz="0 0 -0.12" rpy="-1.57 0 3.14" /> -->
<!-- <geometry> -->
<!-- <mesh filename="package://neo_simulation/robots/mpo_500/meshes/SICK-S300.dae" scale="0.001 0.001 0.001" /> -->
<!-- </geometry> -->
<!--</visual> -->
<!--<collision> -->
<!-- <origin xyz="0 0 0" rpy="-1.57 0 3.14" /> -->
<!-- <geometry> -->
<!-- <mesh filename="package://neo_simulation/robots/mpo_500/meshes/SICK-S300.dae" scale="0.001 0.001 0.001" /> -->
<!-- </geometry> -->
<!-- </collision> -->
<!-- Microscan 3 sensor: Uncomment/Comment it out if required -->
<visual>
<origin xyz="-0.0 0 -0.06" rpy="1.57 0 0" />
<geometry>
<mesh filename="package://neo_simulation/robots/mpo_500/meshes/SICK-MICROSCAN3.dae" scale="0.001 0.001 0.001" />
</geometry>
</visual>
<collision>
<origin xyz="-0.0 0 -0.06" rpy="1.57 0 0" />
<geometry>
<mesh filename="package://neo_simulation/robots/mp_500/meshes/SICK-MICROSCAN3.dae" scale="0.001 0.001 0.001" />
</geometry>
</collision> -->
IMU¶
We also provide an option of IMU. Add, Remove or Adjust the position of IMU based on your requirements. An example is given below.
<!--+++++++++++++++++++ IMU ++++++++++++++++++++++++-->
<!-- Comment or uncomment based on your requirement -->
<xacro:include filename="$(find neo_simulation)/robot_model/mmo_700/urdf/xacros/imu.xacro" />
s<xacro:imu name="imu_1" parent="base_link">
<origin xyz="0.100 0 0.300" rpy="0 0 3.14" />
</xacro:imu>
There will be other sensors added and further developments will be updated.