No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro kilted. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
Repository Summary
| Description | ROS 2 based robot learning platform |
| Checkout URI | https://github.com/kallaspriit/rosbot.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2022-01-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| chat | 0.1.0 |
| client_service | 0.0.0 |
| number_pubsub | 0.0.0 |
| tutorial_interfaces | 0.0.0 |
| odrive_interfaces | 0.0.1 |
| odrive_ros2 | 0.0.1 |
| odrive_bringup | 0.1.0 |
| odrive_description | 0.1.0 |
| odrive_hardware_interface | 0.1.0 |
| odrive_ros2_control | 0.1.0 |
| rplidar_ros2 | 1.0.1 |
| joy_teleop | 1.2.1 |
| key_teleop | 1.2.1 |
| mouse_teleop | 1.2.1 |
| teleop_tools | 1.2.1 |
| teleop_tools_msgs | 1.2.1 |
| bno055 | 0.1.1 |
| rosbot_bringup | 0.1.0 |
| rosbot_description | 0.1.0 |
| teleop_twist_joy | 2.4.3 |
README
ROSBOT
ROS 2 based robot learning platform.
Click the image to video showing robot design and navigation in action
Bill of Materials
The BOM has not been designed for easy replication but most all used components and alternatives considered are there with respective links of where were they purchased so maybe it helps someone putting together a similar build :)
Click the image to open BOM
Run main rosbot/ros workspace
Disclaimer
The following documentation is various commands and information that I’ve written over the time the robot was in development and everything is not up to date or relevant but maybe it helps someone.
- Add user to usb serial and input groups
sudo usermod -a -G input ubuntusudo usermod -a -G dialout ubuntusudo usermod -a -G tty ubuntu
- Build rosbot (on both the robot and the remote PC)
-
cd ~/rosbot/rosto open workspace -
rosdep install -i --from-path src --rosdistro foxy -yto install dependencies -
git pull && colcon buildto pull changes and build workspace
-
- Launch rosbot on the robot
- First build it if there have been any changes
- Open new terminal
-
cd ~/rosbot/rosto open workspace -
. install/local_setup.bashto load workspace overlay (on both robot and remote pc) -
ros2 launch odrive_bringup rosbot.launch.pyto launch rosbot (run on robot) -
ros2 launch odrive_bringup rviz.launch.pyto launch rviz (run on remote pc)
- Run joystick teleop
- Open new terminal
-
. install/local_setup.bashto load workspace overlay -
ros2 launch teleop_twist_joy teleop.launch.py joy_config:='rosbot_xbox_bluetooth' cmd_vel:=/diff_drive_controller/cmd_vel_unstampedto launch joystick teleop - Hold down left trigger (button 6) and use left and right joysticks to control speed and rotation
- Hold down right trigger (button 7) for boost (faster movements)
- Launch odrive manual control (for testing only)
- Open new terminal
-
. install/local_setup.bashto load workspace overlay -
ros2 launch odrive_bringup odrive.launch.pyto launch odrive test () ros2 topic pub -r 100 /left_wheel_joint_velocity_controller/commands std_msgs/Float64MultiArray "data: [1]"ros2 topic pub -r 100 /right_wheel_joint_velocity_controller/commands std_msgs/Float64MultiArray "data: [-1]"-
ros2 launch teleop_twist_joy teleop.launch.py joy_config:='rosbot_xbox_bluetooth' cmd_vel:=/diff_drive_controller/cmd_vel_unstampedto launch joystick teleop - Hold down left trigger (button 6) and use left and right joysticks to control speed and rotation
- Launch usb xbox joystick teleop that publishes to
/cmd_velros2 launch teleop_twist_joy teleop.launch.py cmd_vel:=cmd_vel joy_config:=rosbot_xbox_usb
Debugging
- Debugging
-
ros2 topic echo /joint_statesto show joint states including velocity etc -
ros2 topic echo /dynamic_joint_statesto show dynamic joint states including axis error etc -
ros2 run tf2_tools view_frames.pyto generateframes.pdfframe tree -
rqtto open RQT, add plugins such asTopics > Topic Monitor -
ros2 run xacro xacro ./src/rosbot_description/urdf/rosbot.urdf.xacroto debug what’s wrong with URDF file -
ros2 run tf2_ros tf2_echo odom base_linkto verify transforms from odom to base_link- At time 1634580767.596875940
- Translation: [6.986, -2.328, 0.000]
- Rotation: in Quaternion [0.000, 0.000, -0.210, 0.978]
- At time 1634580768.594622939
- Translation: [7.108, -2.383, 0.000]
- Rotation: in Quaternion [0.000, 0.000, -0.213, 0.977]
- At time 1634580767.596875940
Joystick teleop
- https://index.ros.org/p/teleop_twist_joy/github-ros2-teleop_twist_joy/
- https://github.com/ros2/teleop_twist_joy/tree/foxy/
- http://wiki.ros.org/joy
- https://github.com/medusalix/xow need xow to use xbox bluetooth controller
- Configure XOW to use xbox controller over bluetooth
-
sudo apt install cabextractto install dependencies git clone https://github.com/medusalix/xowcd xowmake BUILD=RELEASEsudo make installsudo systemctl enable xowsudo systemctl start xow-
sudo systemctl kill -s SIGUSR1 xowto enable XOW pairing mode (generally not needed)
-
- Disable ERTM
sudoedit /sys/module/bluetooth/parameters/disable_ertm- replace
NwithY - reboot
- Restart bluetooth
sudo service bluetooth restartsudo rmmod btusb
- Test controller
jstest /dev/input/js0
- Also disable ERTM permanently
- https://www.addictivetips.com/ubuntu-linux-tips/xbox-one-controllers-over-bluetooth-linux/
-
sudo apt install dkms git linux-headers-uname -r`` git clone https://github.com/atar-axis/xpadneo.gitcd xpadneosudo ./install.sh
File truncated at 100 lines see the full file
CONTRIBUTING
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.

