ROS2 package for WHILL Model CR
/whill/controller/joy (sensor_msgs/Joy)
- Virtual WHILL joystick input. You can controll WHILL via this topic.
/whill/controller/cmd_vel(geometry_msgs/Twist)
cmc_vel input. You can controll WHILL via this topic. This command is only available Model CR firmware updatedd after 2019.12. If you want to use this cmd_vel, please update firmware of Model CR by contact to sales of WHILL.
/whill/states/joy (sensor_msgs/Joy)
- Joystick status
/whill/states/joint_state (sensor_msgs/JointState)
- Wheel rotate position(rad) and rotation velocity(rad/s)
/whill/states/imu (sensor_msgs/Imu)
- IMU measured data.
/whill/states/battery_state (sensor_msgs/BatteryState)
- Battery information
- Ubuntu 20.04
- ROS2 galactic
- ros2_whill_interfaces
please install before building
sudo apt install ros-galactic-xacro
In your shell:
cd ~/<your_ros2_ws>/src
git clone https://github.com/WHILL/ros2_whill_interfaces.git
git clone https://github.com/WHILL/ros2_whill.git
cd ~/<your_ros2_ws>
colcon build
source install/setup.bash
Edit your ~/.bashrc
(bash) or ~/.zshrc
(zsh) to add this line:
export TTY_WHILL=/dev/[YOUR SERIAL PORT DEVICE]
Setting will be applied automatically from next shell starting or booting up.
In your shell:
(bash)
source ~/.bashrc
(zsh)
source ~/.zshrc
echo $TTY_WHILL # -> Should be /dev/[YOUR SERIAL PORT DEVICE]
Edit serialport
value in the following parameter file and load the param file when you launch nodes.
vim ~/<your_ros2_ws>/src/ros2_whill/params/sample_param.yaml
ros2 run ros2_whill whill_modelc_controller
ros2 run ros2_whill whill_modelc_publisher
Edit
/lib/udev/rules.d/50-udev-default.rules
And add:
KERNEL=="ttyUSB[0-9]*", MODE="0666"
ros2 service call /whill/set_speed_profile_srv ros2_whill_interfaces/SetSpeedProfile '{s1: 4, fm1: 15, fa1: 16, fd1: 64, rm1: 10, ra1: 16, rd1: 56, tm1: 10, ta1: 56, td1: 72}'
ros2 service call /whill/set_power_srv ros2_whill_interfaces/SetPower '{p0: 1}'
ros2 service call /whill/set_power_srv ros2_whill_interfaces/SetPower'{p0: 0}'